Class: Stratagem::Model::ComponentContainer
- Inherits:
-
Object
- Object
- Stratagem::Model::ComponentContainer
show all
- Includes:
- Enumerable
- Defined in:
- lib/stratagem/model/application.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
Returns a new instance of ComponentContainer.
88
89
90
91
92
93
94
|
# File 'lib/stratagem/model/application.rb', line 88
def initialize(app_model)
@app_model = app_model
@components = Set.new()
@parse_trees = {}
@invalid = []
@missing = {}
end
|
Instance Attribute Details
#components ⇒ Object
Returns the value of attribute components.
86
87
88
|
# File 'lib/stratagem/model/application.rb', line 86
def components
@components
end
|
Returns the value of attribute errors.
86
87
88
|
# File 'lib/stratagem/model/application.rb', line 86
def errors
@errors
end
|
Returns the value of attribute invalid.
86
87
88
|
# File 'lib/stratagem/model/application.rb', line 86
def invalid
@invalid
end
|
Returns the value of attribute missing.
86
87
88
|
# File 'lib/stratagem/model/application.rb', line 86
def missing
@missing
end
|
#parse_trees ⇒ Object
Returns the value of attribute parse_trees.
86
87
88
|
# File 'lib/stratagem/model/application.rb', line 86
def parse_trees
@parse_trees
end
|
Instance Method Details
115
116
117
|
# File 'lib/stratagem/model/application.rb', line 115
def -(other)
@components-other
end
|
#<<(component) ⇒ Object
127
128
129
130
131
132
133
134
135
136
137
138
139
|
# File 'lib/stratagem/model/application.rb', line 127
def << (component)
if (component.kind_of?(Array))
component.each {|e|
@components << e
e.app_model = @app_model if e.methods_include?(:app_model=)
}
elsif (component.kind_of?(Exception))
errors << component
else
@components << component
component.app_model = @app_model if component.methods_include?(:app_model=)
end
end
|
107
108
109
|
# File 'lib/stratagem/model/application.rb', line 107
def clear
@components.clear
end
|
119
120
121
|
# File 'lib/stratagem/model/application.rb', line 119
def each
@components.each {|e| yield e }
end
|
#export(options = nil) ⇒ Object
96
97
98
99
100
101
|
# File 'lib/stratagem/model/application.rb', line 96
def export(options=nil)
{
:components => @components.to_a.map {|c| c.export }.compact,
:invalid => @invalid.map {|c| c.export }.compact
}
end
|
103
104
105
|
# File 'lib/stratagem/model/application.rb', line 103
def find
@components.find{|component| yield component }
end
|
123
124
125
|
# File 'lib/stratagem/model/application.rb', line 123
def map
@components.map {|e| yield e }
end
|
111
112
113
|
# File 'lib/stratagem/model/application.rb', line 111
def size
@components.size
end
|