Class: Kamelopard::SchemaData

Inherits:
Object
  • Object
show all
Defined in:
lib/kamelopard/classes.rb

Overview

Corresponds to KML’s ExtendedData SchemaData objects

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(schemaUrl, simpleData = {}) ⇒ SchemaData

Returns a new instance of SchemaData.



713
714
715
716
717
# File 'lib/kamelopard/classes.rb', line 713

def initialize(schemaUrl, simpleData = {})
    @schemaUrl = schemaUrl
    raise "SchemaData's simpleData attribute should behave like a hash" unless simpleData.respond_to? :keys
    @simpleData = simpleData
end

Instance Attribute Details

#schemaUrlObject

Returns the value of attribute schemaUrl.



712
713
714
# File 'lib/kamelopard/classes.rb', line 712

def schemaUrl
  @schemaUrl
end

#simpleDataObject

Returns the value of attribute simpleData.



712
713
714
# File 'lib/kamelopard/classes.rb', line 712

def simpleData
  @simpleData
end

Instance Method Details

#<<(a) ⇒ Object



719
720
721
# File 'lib/kamelopard/classes.rb', line 719

def <<(a)
    @simpleData.merge a
end

#to_kml(elem = nil) ⇒ Object



723
724
725
726
727
728
729
730
731
732
733
# File 'lib/kamelopard/classes.rb', line 723

def to_kml(elem = nil)
    s = XML::Node.new 'SchemaData'
    s.attributes['schemaUrl'] = @schemaUrl
    @simpleData.each do |k, v|
        sd = XML::Node.new 'SimpleData', v
        sd.attributes['name'] = k
        s << sd
    end
    elem << v unless elem.nil?
    v
end