Method: CSV::Row#index
- Defined in:
- lib/csv/row.rb
#index(header, minimum_index = 0) ⇒ Object
:call-seq:
index(header) -> index
index(header, offset) -> index
Returns the index for the given header, if it exists; otherwise returns nil.
With the single argument header, returns the index of the first-found field with the given header:
source = "Name,Name,Name\nFoo,Bar,Baz\n"
table = CSV.parse(source, headers: true)
row = table[0]
row.index('Name') # => 0
row.index('NAME') # => nil
With arguments header and offset, returns the index of the first-found field with given header, but ignoring the first offset fields:
row.index('Name', 1) # => 1
row.index('Name', 3) # => nil
573 574 575 576 577 578 |
# File 'lib/csv/row.rb', line 573 def index(header, minimum_index = 0) # find the pair index = headers[minimum_index..-1].index(header) # return the index at the right offset, if we found one index.nil? ? nil : index + minimum_index end |