class Colorgy::CoursePeriod::Record

Attributes

periods[R]

Public Class Methods

new(csv_path) click to toggle source
# File lib/colorgy/course_period/record.rb, line 8
def initialize(csv_path)
  @periods = load_csv(csv_path)
end

Public Instance Methods

all() click to toggle source
# File lib/colorgy/course_period/record.rb, line 16
def all
  @periods
end
code_map() click to toggle source
# File lib/colorgy/course_period/record.rb, line 20
def code_map
  create_hash_map do |period|
    [period.code, period.order]
  end
end
each(&block) click to toggle source
# File lib/colorgy/course_period/record.rb, line 12
def each(&block)
  @periods.each(&block)
end
order_map() click to toggle source
# File lib/colorgy/course_period/record.rb, line 26
def order_map
  create_hash_map do |period|
    [period.order, period.code]
  end
end

Private Instance Methods

create_hash_map(&block) click to toggle source
# File lib/colorgy/course_period/record.rb, line 34
def create_hash_map(&block)
  Hash[@periods.map(&block)]
end
load_csv(csv_path) click to toggle source
# File lib/colorgy/course_period/record.rb, line 38
def load_csv(csv_path)
  CSV.read(csv_path).map do |row|
    Period.new(row)
  end
end