Sha256: e2cfeda0a964a63c45db94154daae8cee6e60ef286c251c09ebbfb2da34c4fdb

Contents?: true

Size: 383 Bytes

Versions: 6

Compression:

Stored size: 383 Bytes

Contents

module Materialist
  module Materializer
    module Internals
      class FieldMapping
        def initialize(key:, as: key, value_parser: nil)
          @key = key
          @as = as
          @value_parser = value_parser || ->value { value }
        end

        def map(resource)
          { @as => @value_parser.call(resource.dig(@key)) }
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
materialist-3.8.3 lib/materialist/materializer/internals/field_mapping.rb
materialist-3.8.2 lib/materialist/materializer/internals/field_mapping.rb
materialist-3.8.1 lib/materialist/materializer/internals/field_mapping.rb
materialist-3.8.0 lib/materialist/materializer/internals/field_mapping.rb
materialist-3.7.0 lib/materialist/materializer/internals/field_mapping.rb
materialist-3.6.0 lib/materialist/materializer/internals/field_mapping.rb