Module: Mattock::DeferredDefinition

Included in:
ConfigurableTask
Defined in:
lib/mattock/cascading-definition.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.add_settings(mod) ⇒ Object



94
95
96
# File 'lib/mattock/cascading-definition.rb', line 94

def self.add_settings(mod)
  mod.setting(:configuration_block, proc{})
end

Instance Method Details

#finalize_configurationObject



111
112
113
114
115
116
117
118
119
120
# File 'lib/mattock/cascading-definition.rb', line 111

def finalize_configuration
  return if @finalized
  @runtime = true
  configuration_block[self]
  confirm_steps(:resolve_runtime_configuration, :confirm_configuration) do
    resolve_runtime_configuration
    confirm_configuration
  end
  @finalized = true
end

#resolve_runtime_configurationObject



122
123
124
# File 'lib/mattock/cascading-definition.rb', line 122

def resolve_runtime_configuration
  confirm_step(:resolve_runtime_configuration)
end

#runtime?Boolean

Returns:

  • (Boolean)


107
108
109
# File 'lib/mattock/cascading-definition.rb', line 107

def runtime?
  !!@runtime
end

#runtime_definition(&block) ⇒ Object



103
104
105
# File 'lib/mattock/cascading-definition.rb', line 103

def runtime_definition(&block)
  self.configuration_block = block
end

#setup_deferredObject



98
99
100
101
# File 'lib/mattock/cascading-definition.rb', line 98

def setup_deferred
  @runtime = false
  @finalized = false
end