Class: PoolParty::Conditional
- Inherits:
-
Service
show all
- Defined in:
- lib/poolparty/services/conditional.rb
Instance Method Summary
collapse
Methods inherited from Service
add_has_and_does_not_have_methods_for, #cloud
add_has_and_does_not_have_methods_for, #add_resource, #add_service, #add_to_parent_if_parent_exists_and_is_a_service, #get_local_resource, #get_name_from_options_and_extra_options, #get_resource, #handle_option_values, #in_local_resources?, #is_a_resource?, #is_plugin?, #method_missing, #ordered_resources, #plugin_store, #resource, #resources, #run_in_context, #services, #store_in_local_resources
Constructor Details
#initialize(opts = {}, &block) ⇒ Conditional
Returns a new instance of Conditional.
15
16
17
18
19
|
# File 'lib/poolparty/services/conditional.rb', line 15
def initialize(opts={}, &block)
super(opts, &block)
dsl_options(opts)
options.freeze
end
|
Instance Method Details
#add(o, &block) ⇒ Object
28
29
30
31
32
|
# File 'lib/poolparty/services/conditional.rb', line 28
def add(o, &block)
service = PoolParty::Service.new(&block)
obj = (o ? o : :default).to_sym
when_statements.merge!({obj => service})
end
|
#otherwise(&block) ⇒ Object
24
25
26
|
# File 'lib/poolparty/services/conditional.rb', line 24
def otherwise &block
add(nil, &block)
end
|
#to_properties_hash ⇒ Object
37
38
39
40
41
42
43
|
# File 'lib/poolparty/services/conditional.rb', line 37
def to_properties_hash
{
:options => {:variable => (dsl_options.attribute)},
:resources => {},
:services => {:control_statements => when_statements}
}
end
|
#when_is(o, &block) ⇒ Object
21
22
23
|
# File 'lib/poolparty/services/conditional.rb', line 21
def when_is o, &block
add(o, &block)
end
|
#when_statements ⇒ Object
34
35
36
|
# File 'lib/poolparty/services/conditional.rb', line 34
def when_statements
@when_statement ||= {}
end
|