class Jekyll::IcalTag::CalendarLimiter

Attributes

options[R]
parser[R]

Public Class Methods

new(parser, options = {}) click to toggle source
# File lib/jekyll-ical-tag/calendar_limiter.rb, line 7
def initialize(parser, options = {})
  @parser = parser
  @options = options
end

Public Instance Methods

events() click to toggle source
# File lib/jekyll-ical-tag/calendar_limiter.rb, line 12
def events
  case
  when options[:only] == :future
    now = Time.now
    parser.events.select do |event|
      event.dtstart.to_time >= now
    end
  when options[:only] == :past
    now = Time.now
    parser.events.select do |event|
      event.dtstart.to_time < now
    end
  when options[:reverse]
    parser.events.reverse
  when options[:after_date]
    parser.events.select do |event|
      event.dtstart.to_time >= options[:after_date]
    end
  when options[:before_date]
    parser.events.select do |event|
      event.dtstart.to_time < options[:before_date]
    end
  when options[:limit]
    parser.events.first(options[:limit])
  else
    parser.events
  end
end