Sha256: 0110a320e76229044518c49de8f273bcfdd76896e29840a587d37999afafd7de
Contents?: true
Size: 1.46 KB
Versions: 1
Compression:
Stored size: 1.46 KB
Contents
# frozen_string_literal: true module Jekyll class IcalTag class CalendarFeedCoordinator def initialize(url:, only: nil, reverse: nil, before_date: nil, after_date: nil, limit: nil, recurring_start_date: nil, recurring_end_date: nil) @url = url @only = only @reverse = reverse @before_date = before_date @after_date = after_date @limit = limit @recurring_start_date = recurring_start_date @recurring_end_date = recurring_end_date end def events parser.events end private attr_reader :url, :only, :reverse, :before_date, :after_date, :limit def raw_ical @raw_ical ||= CalendarFetcher.new(url).fetch end def parser @parser ||= begin parser = CalendarParser.new(raw_ical, recurring_start_date: recurring_start_date, recurring_end_date: recurring_end_date) parser = CalendarLimiter.new(parser, only: only) parser = CalendarLimiter.new(parser, reverse: reverse) parser = CalendarLimiter.new(parser, before_date: before_date) parser = CalendarLimiter.new(parser, after_date: after_date) CalendarLimiter.new(parser, limit: limit) end end def recurring_start_date @recurring_start_date || after_date || Date.today end def recurring_end_date @recurring_end_date || before_date || (recurring_start_date + 1.year) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
jekyll-ical-tag-1.6.0 | lib/jekyll-ical-tag/calendar_feed_coordinator.rb |