Sha256: 86a81e14a76f67c67ee5b43ebbfb16e2b0c71e69f17d1f19761de1443de503dc

Contents?: true

Size: 1.19 KB

Versions: 11

Compression:

Stored size: 1.19 KB

Contents

module Spider; module Model
    
    class IntegratedElement < Element
        attr_accessor :owner
        
        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
        
        def integrated?
            true
        end
        
        def target_element
            @target_element ||= @owner.elements[@integrated_element].type.elements[@integrated_element_element]
        end
        
        def type
            target_element.type
        end
        
        def attributes
            target_element.attributes.merge(@attributes)
        end
        
        
        def clone
            self.class.new(@name, @owner, @integrated_element, @integrated_element_element, @attributes.clone)
        end
        
    end
    
end; end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
spiderfw-0.6.8 lib/spiderfw/model/integrated_element.rb
spiderfw-0.6.7 lib/spiderfw/model/integrated_element.rb
spiderfw-0.6.6 lib/spiderfw/model/integrated_element.rb
spiderfw-0.6.5 lib/spiderfw/model/integrated_element.rb
spiderfw-0.6.4 lib/spiderfw/model/integrated_element.rb
spiderfw-0.6.3 lib/spiderfw/model/integrated_element.rb
spiderfw-0.6.2 lib/spiderfw/model/integrated_element.rb
spiderfw-0.6.1 lib/spiderfw/model/integrated_element.rb
spiderfw-0.6.0 lib/spiderfw/model/integrated_element.rb
spiderfw-0.5.19 lib/spiderfw/model/integrated_element.rb
spiderfw-0.5.18 lib/spiderfw/model/integrated_element.rb