Sha256: 548d67f2965938cec3f5e0d94ae593eb517feb33c1ea7aa7e9d8a733bdb20841

Contents?: true

Size: 680 Bytes

Versions: 6

Compression:

Stored size: 680 Bytes

Contents

module SimpleCalendar
  class WeekCalendar < SimpleCalendar::Calendar
    def week_number
      format = (Date.beginning_of_week == :sunday) ? "%U" : "%V"
      start_date.beginning_of_week.strftime(format).to_i
    end

    def number_of_weeks
      options.fetch(:number_of_weeks, 1)
    end

    def end_week
      week_number + number_of_weeks - 1
    end

    def date_range
      starting = start_date.beginning_of_week
      ending = (starting + (number_of_weeks - 1).weeks).end_of_week

      (starting..ending).to_a
    end

    def url_for_previous_view
      view_context.url_for(@params.merge(start_date_param => (date_range.first - 1.day).iso8601))
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
simple_calendar-3.1.0 lib/simple_calendar/week_calendar.rb
simple_calendar-3.0.4 lib/simple_calendar/week_calendar.rb
simple_calendar-3.0.3 lib/simple_calendar/week_calendar.rb
simple_calendar-3.0.2 lib/simple_calendar/week_calendar.rb
simple_calendar-3.0.1 lib/simple_calendar/week_calendar.rb
simple_calendar-3.0.0 lib/simple_calendar/week_calendar.rb