Sha256: f0c9fa021dd5296e10b2210a2d50adc1ff758a5c6b5f1f5b13070b497685b9cd

Contents?: true

Size: 814 Bytes

Versions: 2

Compression:

Stored size: 814 Bytes

Contents

# frozen_string_literal: true

#
# Copyright (c) 2020-present, Blue Marble Payroll, LLC
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
#

module Burner
  class Jobs
    module Collection
      class Transform < Job
        # Defines a top-level key and the associated transformers for deriving the final value
        # to set the key to.
        class Attribute
          acts_as_hashable

          attr_reader :key, :transformers

          def initialize(key:, transformers: [])
            raise ArgumentError, 'key is required' if key.to_s.empty?

            @key          = key.to_s
            @transformers = Realize::Transformers.array(transformers)

            freeze
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
burner-1.0.0.pre.alpha.5 lib/burner/jobs/collection/transform/attribute.rb
burner-1.0.0.pre.alpha.4 lib/burner/jobs/collection/transform/attribute.rb