class TaxonReporter::Taxon

Attributes

records[R]

Public Class Methods

new(records=[]) click to toggle source
# File lib/taxon_reporter/taxon.rb, line 7
def initialize(records=[])
  @records = []
  @fields = {}
  @values = {}
  records.each {|r| add_record(r)}
end

Public Instance Methods

add_field(field) click to toggle source
# File lib/taxon_reporter/taxon.rb, line 33
def add_field(field)
  key = field.id
  @fields[key] = field unless @fields.member?(key)
end
add_record(record) click to toggle source
# File lib/taxon_reporter/taxon.rb, line 23
def add_record(record)
  @records.push(record)
  add_values(record.field, record.values)
end
add_values(field, values) click to toggle source
# File lib/taxon_reporter/taxon.rb, line 28
def add_values(field, values)
  add_field(field)
  @values[field.id] = field.merge_values(@values[field.id], values)
end
fields() click to toggle source
# File lib/taxon_reporter/taxon.rb, line 14
def fields; @fields.values; end
values(field) click to toggle source
# File lib/taxon_reporter/taxon.rb, line 15
def values(field)
  if field.is_a?(TaxonReporter::Field)
    @values[field.id]
  elsif field.is_a?(String)
    @values[field]
  end
end