Sha256: 003ff7648958ad75bfeeaef686b2bf826642edba5994e96d26d02cf9c98e9a56

Contents?: true

Size: 486 Bytes

Versions: 1

Compression:

Stored size: 486 Bytes

Contents

# encoding: utf-8

module ROM
  class Mapper

    # Abstract loader class
    #
    # @private
    class LoaderBuilder
      extend Morpher::NodeHelpers

      def self.call(header, model, type)
        param =
          if type == :load_attribute_hash
            s(:param, model)
          else
            s(:param, model, *header.attribute_names)
          end

        Morpher.compile(s(:block, header.to_ast, s(type, param)))
      end

    end # Loader

  end # Mapper
end # ROM

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rom-0.2.0 lib/rom/mapper/loader_builder.rb