Class: Arrow::Field
- Inherits:
-
Object
- Object
- Arrow::Field
- Defined in:
- lib/arrow/field.rb
Instance Method Summary collapse
-
#initialize(*args) ⇒ Field
constructor
Creates a new Field.
Constructor Details
#initialize(name, data_type) ⇒ Field #initialize(description) ⇒ Field
Creates a new Arrow::Field.
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
# File 'lib/arrow/field.rb', line 87 def initialize(*args) n_args = args.size case n_args when 1 description = args[0] name = nil data_type = nil data_type_description = {} description.each do |key, value| key = key.to_sym case key when :name name = value when :data_type data_type = DataType.resolve(value) else data_type_description[key] = value end end data_type ||= DataType.resolve(data_type_description) when 2 name = args[0] data_type = DataType.resolve(args[1]) else = "wrong number of arguments (given #{n_args}, expected 1..2)" raise ArgumentError, end initialize_raw(name, data_type) end |