lib/aixm/component/geometry/point.rb in aixm-0.1.3 vs lib/aixm/component/geometry/point.rb in aixm-0.2.0
- old
+ new
@@ -2,37 +2,30 @@
module Component
class Geometry
##
# Points are defined by +xy+ coordinates.
- class Point
+ class Point < Base
+ extend Forwardable
using AIXM::Refinements
+ def_delegators :xy, :to_digest
+
attr_reader :xy
def initialize(xy:)
fail(ArgumentError, "invalid xy") unless xy.is_a? AIXM::XY
@xy = xy
end
##
- # Digest to identify the payload
- def to_digest
- [xy.lat, xy.long].to_digest
- end
-
- ##
# Render AIXM
- #
- # Extensions:
- # * +:OFM+ - Open Flightmaps
def to_xml(*extensions)
- format = extensions >> :OFM ? :OFM : :AIXM
builder = Builder::XmlMarkup.new(indent: 2)
builder.Avx do |avx|
avx.codeType('GRC')
- avx.geoLat(xy.lat(format))
- avx.geoLong(xy.long(format))
+ avx.geoLat(xy.lat(format_for(*extensions)))
+ avx.geoLong(xy.long(format_for(*extensions)))
avx.codeDatum('WGE')
end
end
end