Module: Arrow::FieldContainable

Included in:
Schema, StructDataType
Defined in:
lib/arrow/field-containable.rb

Instance Method Summary collapse

Instance Method Details

#find_field(name_or_index) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/arrow/field-containable.rb', line 20

def find_field(name_or_index)
  case name_or_index
  when String, Symbol
    name = name_or_index
    get_field_by_name(name)
  when Integer
    index = name_or_index
    raise if index < 0
    index += n_fields if index < 0
    return nil if index < 0 or index >= n_fields
    get_field(index)
  else
    message = +"field name or index must be String, Symbol or Integer"
    message << ": <#{name_or_index.inspect}>"
    raise ArgumentError, message
  end
end