Class: Inprovise::Infrastructure::Group
- Inherits:
-
Target
- Object
- Target
- Inprovise::Infrastructure::Group
show all
- Defined in:
- lib/inprovise/group.rb
Instance Attribute Summary
Attributes inherited from Target
#config, #name
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Target
#add_to, #get, #remove_from, #set
Constructor Details
#initialize(name, config = {}, targets = []) ⇒ Group
Returns a new instance of Group.
10
11
12
13
|
# File 'lib/inprovise/group.rb', line 10
def initialize(name, config={}, targets=[])
@targets = targets.collect {|t| Inprovise::Infrastructure::Target === t ? t.name : t.to_s }
super(name, config)
end
|
Class Method Details
.json_create(o) ⇒ Object
67
68
69
70
|
# File 'lib/inprovise/group.rb', line 67
def self.json_create(o)
data = o['data']
new(data['name'], Inprovise::Infrastructure.symbolize_keys(data['config']), data['targets'])
end
|
Instance Method Details
#add_target(tgt) ⇒ Object
#includes?(tgt) ⇒ Boolean
#remove_target(tgt) ⇒ Object
25
26
27
|
# File 'lib/inprovise/group.rb', line 25
def remove_target(tgt)
@targets.delete(Inprovise::Infrastructure::Target === tgt ? tgt.name : tgt.to_s)
end
|
#targets ⇒ Object
29
30
31
|
# File 'lib/inprovise/group.rb', line 29
def targets
@targets.collect {|t| Inprovise::Infrastructure.find(t).targets }.flatten.uniq
end
|
#targets_with_config ⇒ Object
33
34
35
36
37
38
39
40
41
42
43
44
45
|
# File 'lib/inprovise/group.rb', line 33
def targets_with_config
@targets.inject({}) do |hsh, t|
Inprovise::Infrastructure.find(t).targets_with_config.each do |tgt, cfg|
if hsh.has_key?(tgt)
hsh[tgt].merge!(cfg)
else
hsh[tgt] = cfg
end
hsh[tgt].merge!(config)
end
hsh
end
end
|
#to_json(*a) ⇒ Object
56
57
58
59
60
61
62
63
64
65
|
# File 'lib/inprovise/group.rb', line 56
def to_json(*a)
{
JSON.create_id => self.class.name,
:data => {
:name => name,
:config => config,
:targets => @targets
}
}.to_json(*a)
end
|
#to_s ⇒ Object
52
53
54
|
# File 'lib/inprovise/group.rb', line 52
def to_s
"Group:#{name}"
end
|
#unresolved_targets ⇒ Object