Sha256: cb4fb9456e8ad4b4612e28740962b5c87b7ec9db0de7e16cfe1ed6e4b0592e0b

Contents?: true

Size: 655 Bytes

Versions: 2

Compression:

Stored size: 655 Bytes

Contents

module Meetupinator
  # Object passed to templates during formatting.
  class TemplateContext
    attr_reader :events

    DAY = 60 * 60 * 24

    def initialize(events)
      @events = events
    end

    # FIXME: This will probably break for daylight savings
    def get_start_of_week(d)
      d -= DAY until d.monday?
      d
    end

    def sorted_events
      events.sort { |a, b| a[:start_time] <=> b[:start_time] }
    end

    def days_list(start_date, n)
      (0..(n - 1)).map { |d| add_days(start_date, d) }
    end

    def template_binding
      binding
    end

    private

    def add_days(date, n)
      date + n * DAY
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
meetupinator-0.7.1 lib/meetupinator/template_context.rb
meetupinator-0.7 lib/meetupinator/template_context.rb