class SportsDatabase::Helpers::DataSet

Attributes

column_names[RW]

Public Class Methods

column_names=(column_names) click to toggle source
# File lib/sports_database/helpers/data_set.rb, line 8
def column_names=(column_names)
  raise ArgumentError, "Must pass in none empty array" if column_names.nil? || !column_names.is_a?(Array) || column_names.empty?
  @column_names = column_names.map { |column_name| methodize(column_name) }
  @column_names.each do |column_name|
    self.send(:attr_accessor, column_name)
  end
end
create(column_names) click to toggle source
# File lib/sports_database/helpers/data_set.rb, line 16
def create(column_names)
  self.column_names = column_names
  self
end
methodize(string) click to toggle source
# File lib/sports_database/helpers/data_set.rb, line 21
def methodize(string)
  raise ArgumentError, "Must be a valid string" if string.nil? || string.empty?
  string.strip.gsub(/[:, ]/,"_").to_sym
end

Public Instance Methods

get(column_name) click to toggle source
# File lib/sports_database/helpers/data_set.rb, line 31
def get(column_name)
  send(DataSet.methodize(column_name))
end
set(column_name, value) click to toggle source
# File lib/sports_database/helpers/data_set.rb, line 27
def set(column_name, value)
  send(DataSet.methodize("#{column_name}="), value)
end
to_hash() click to toggle source
# File lib/sports_database/helpers/data_set.rb, line 35
def to_hash
  hash = Hash.new
  self.class.column_names.each do |column_name|
    hash[:"#{column_name}"] = send(column_name)
  end

  hash
end