class Cranium::DSL::ImportDefinition

Attributes

field_associations[R]
merge_fields[R]
name[R]

Public Class Methods

new(name) click to toggle source
# File lib/cranium/dsl/import_definition.rb, line 19
def initialize(name)
  @name = name
  @field_associations = {}
  @merge_fields = {}
end

Public Instance Methods

merge_on(merge_fields) click to toggle source
# File lib/cranium/dsl/import_definition.rb, line 33
def merge_on(merge_fields)
  @merge_fields = fields_hash(merge_fields)
end
put(fields) click to toggle source
# File lib/cranium/dsl/import_definition.rb, line 27
def put(fields)
  @field_associations.merge! fields_hash(fields)
end

Private Instance Methods

fields_hash(fields) click to toggle source
# File lib/cranium/dsl/import_definition.rb, line 41
def fields_hash(fields)
  case fields
    when Hash
      return fields
    when Symbol
      return { fields => fields }
    else
      raise ArgumentError, "Unsupported argument for Import::#{caller[0][/`.*'/][1..-2]}"
  end
end