Class: Spider::Model::IntegratedElement
- Inherits:
-
Element
show all
- Defined in:
- lib/spiderfw/model/integrated_element.rb
Instance Attribute Summary collapse
Attributes inherited from Element
#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
|
# File 'lib/spiderfw/model/integrated_element.rb', line 6
def initialize(name, owner, integrated_element, integrated_element_element, attributes={})
@name = name
@owner = owner
@integrated_element = integrated_element
@integrated_element_element = integrated_element_element
@attributes = ({
:integrated => true,
:integrated_from => @owner.elements[@integrated_element],
: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
30
31
32
|
# File 'lib/spiderfw/model/integrated_element.rb', line 30
def attributes
target_element.attributes.merge(@attributes)
end
|
35
36
37
|
# File 'lib/spiderfw/model/integrated_element.rb', line 35
def clone
self.class.new(@name, @owner, @integrated_element, @integrated_element_element, @attributes.clone)
end
|
#integrated? ⇒ Boolean
18
19
20
|
# File 'lib/spiderfw/model/integrated_element.rb', line 18
def integrated?
true
end
|
#target_element ⇒ Object
22
23
24
|
# File 'lib/spiderfw/model/integrated_element.rb', line 22
def target_element
@target_element ||= @owner.elements[@integrated_element].type.elements[@integrated_element_element]
end
|
26
27
28
|
# File 'lib/spiderfw/model/integrated_element.rb', line 26
def type
target_element.type
end
|