Method: Activecube::Field.build

Defined in:
lib/activecube/field.rb

.build(name, arg) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
# File 'lib/activecube/field.rb', line 6

def self.build name, arg
  if arg.kind_of? String
    Field.new name, arg
  elsif arg.kind_of? Hash
    Field.new name, arg.symbolize_keys
  elsif arg.kind_of?(Class) && arg < Field
    arg.new name
  else
    raise Activecube::InputArgumentError, "Unexpected field #{name} definition with #{arg.class.name}"
  end
end