Sha256: 5ed368454e62ee56bc3c3be8a4a736364f4f3cbe0681964bc319cd8af4693146

Contents?: true

Size: 1.08 KB

Versions: 8

Compression:

Stored size: 1.08 KB

Contents

# Standard way to access information to be used in a list_of()
class DataAdaptor
  def initialize(source)
    @section = Toc.instance.section(source)
  end

  # column_selector is one of: :number, :date, :title, :homework
  COL_NAMES = {number: "#", date: "lecture date", title: "title",
                homework: "homework", desc: "description", cat: "category"}

  def column_name(column_selector)
    COL_NAMES[column_selector]
  end

  def rows
    @section.each do |citem|
      yield citem
    end
  end

  def cell_value(citem, col_selector)
    case col_selector
    when :number
      citem.lecture_number
    when :date
      citem.lecture_date
    when :title
      citem.title
    when :url
      citem.identifier
    when :desc
      citem.desc
    when :homework
      citem.homework
    when :start_date_time
      citem.schedule_start_date_time
    when :end_date_time
      citem.schedule_end_date_time
    when :full_desc
      desc = citem.desc || ""
      hw = citem.homework || ""
      desc + ". HW: " + hw
    when :cat
      citem.cat
    else
      "error!"
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
coursegen-0.7.5 lib/coursegen/course/data/data_adaptor.rb
coursegen-0.7.4 lib/coursegen/course/data/data_adaptor.rb
coursegen-0.7.3 lib/coursegen/course/data/data_adaptor.rb
coursegen-0.7.2 lib/coursegen/course/data/data_adaptor.rb
coursegen-0.7.1 lib/coursegen/course/data/data_adaptor.rb
coursegen-0.7.0 lib/coursegen/course/data/data_adaptor.rb
coursegen-0.5.0 lib/coursegen/course/data/data_adaptor.rb
coursegen-0.4.2 lib/coursegen/course/data/data_adaptor.rb