Class: Spider::Model::IntegratedElement
- Inherits:
-
Element
show all
- Defined in:
- lib/spiderfw/model/integrated_element.rb
Instance Attribute Summary collapse
Attributes inherited from Element
#definer_model, #name
Instance Method Summary
collapse
Methods inherited from Element
#association, #association_type, #autogenerated?, #condition, #embedded?, #extended?, #has_single_reverse?, #hidden?, #inline?, #integrated_from, #integrated_from_element, #junction?, #label, #lazy, #lazy?, #lazy_groups, #mapper, #model, #model?, #multiple?, #owned?, #primary_key?, #read_only?, #required?, #reverse, #storage, #to_s, #unique?
Constructor Details
#initialize(name, owner, integrated_element, integrated_element_element, attributes = {}) ⇒ IntegratedElement
Returns a new instance of IntegratedElement.
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# File 'lib/spiderfw/model/integrated_element.rb', line 6
def initialize(name, owner, integrated_element, integrated_element_element, attributes={})
@name = name
@owner = owner
el = @owner.elements[integrated_element]
@definer_model = el.model.elements[integrated_element_element].definer_model
@integrated_element = integrated_element
@integrated_element_element = integrated_element_element
@attributes = ({
:integrated => true,
:integrated_from => el,
:integrated_from_element => @integrated_element_element
}).merge(attributes)
end
|
Instance Attribute Details
Returns the value of attribute owner.
4
5
6
|
# File 'lib/spiderfw/model/integrated_element.rb', line 4
def owner
@owner
end
|
Instance Method Details
#attributes ⇒ Object
32
33
34
|
# File 'lib/spiderfw/model/integrated_element.rb', line 32
def attributes
target_element.attributes.merge(@attributes)
end
|
37
38
39
|
# File 'lib/spiderfw/model/integrated_element.rb', line 37
def clone
self.class.new(@name, @owner, @integrated_element, @integrated_element_element, @attributes.clone)
end
|
#integrated? ⇒ Boolean
20
21
22
|
# File 'lib/spiderfw/model/integrated_element.rb', line 20
def integrated?
true
end
|
#target_element ⇒ Object
24
25
26
|
# File 'lib/spiderfw/model/integrated_element.rb', line 24
def target_element
@target_element ||= @owner.elements[@integrated_element].type.elements[@integrated_element_element]
end
|
28
29
30
|
# File 'lib/spiderfw/model/integrated_element.rb', line 28
def type
target_element.type
end
|