class Charta::Factory::Transformers::EwktTransformerChain
Attributes
transformers[R]
@return [Array<EwktTransformer>]
Public Class Methods
build()
click to toggle source
# File lib/charta/factory/transformers/ewkt_transformer_chain.rb, line 8 def build new( Transformers::FromGeoJsonTransformer.new, Transformers::FromWkbTransformer.new, Transformers::FromGmlTransformer.new, Transformers::FromKmlTransformer.new, Transformers::EwktPassthrough.new ) end
new(*transformers)
click to toggle source
# File lib/charta/factory/transformers/ewkt_transformer_chain.rb, line 22 def initialize(*transformers) @transformers = transformers end
Public Instance Methods
handles?(value, format:)
click to toggle source
@return [Boolean]
# File lib/charta/factory/transformers/ewkt_transformer_chain.rb, line 27 def handles?(value, format:) transformers.any? { |t| t.handles?(value, format: format) } end
transform(value, srid: nil, format: nil)
click to toggle source
@param [String, Hash] value @return [String] ewkt representation of value
# File lib/charta/factory/transformers/ewkt_transformer_chain.rb, line 33 def transform(value, srid: nil, format: nil) transformer = transformers.detect { |t| t.handles?(value, format: format) } raise TransformationError.new('Not handled') if transformer.nil? transformer.transform(value, srid: srid, format: format) end