Class: ScheduleFeed
- Inherits:
-
Object
- Object
- ScheduleFeed
- Defined in:
- lib/coursegen/course/schedule/schedule_feed.rb
Overview
Used in generating iCal feed. Given a data_adapter (who knows how to get data out and iterate across things) and a feed_builder (who knows how to turn that data into some kind of feed), produce the feed. This same class could also generate, for example, an RSs feed.
Instance Method Summary collapse
-
#initialize(feed_builder, data_adapter) ⇒ ScheduleFeed
constructor
A new instance of ScheduleFeed.
- #render ⇒ Object
- #render_all_events ⇒ Object
- #render_event(row_id) ⇒ Object
Constructor Details
#initialize(feed_builder, data_adapter) ⇒ ScheduleFeed
Returns a new instance of ScheduleFeed.
6 7 8 9 |
# File 'lib/coursegen/course/schedule/schedule_feed.rb', line 6 def initialize feed_builder, data_adapter @feed_builder = feed_builder @data = data_adapter end |
Instance Method Details
#render ⇒ Object
11 12 13 14 15 16 |
# File 'lib/coursegen/course/schedule/schedule_feed.rb', line 11 def render @feed_builder.feed_begin render_all_events @feed_builder.feed_end @feed_builder.feed_render end |
#render_all_events ⇒ Object
18 19 20 21 22 |
# File 'lib/coursegen/course/schedule/schedule_feed.rb', line 18 def render_all_events @data.rows do |row_id| render_event(row_id) unless row_id.type == "subsection" end end |
#render_event(row_id) ⇒ Object
24 25 26 27 28 29 30 31 |
# File 'lib/coursegen/course/schedule/schedule_feed.rb', line 24 def render_event row_id title = COURSE_ABBREV + ": " + @data.cell_value(row_id, :title) dt_start = @data.cell_value(row_id, :start_date_time) dt_end = @data.cell_value(row_id, :end_date_time) desc = @data.cell_value(row_id, :full_desc) url = @data.cell_value(row_id, :url) @feed_builder.feed_event(title, dt_start, dt_end, desc, url) end |