class OrderedWeek
Constants
- VERSION
- WEEK_DAYS
Public Class Methods
new(includes_date=nil)
click to toggle source
# File lib/ordered_week.rb, line 20 def initialize includes_date=nil includes_date = includes_date.is_a?(Date) ? includes_date : Date.today @days = build_days(includes_date) end
start_day()
click to toggle source
# File lib/ordered_week.rb, line 11 def self.start_day @@start_day end
start_day=(day)
click to toggle source
# File lib/ordered_week.rb, line 15 def self.start_day= day return false unless WEEK_DAYS.include?(day) @@start_day = day end
Public Instance Methods
each() { |d| ... }
click to toggle source
# File lib/ordered_week.rb, line 33 def each &block @days.each {|d| yield d} end
end_date()
click to toggle source
# File lib/ordered_week.rb, line 41 def end_date @days.last end
inspect()
click to toggle source
# File lib/ordered_week.rb, line 25 def inspect @days.map {|d| d.strftime("%F")}.inspect.gsub('"','') end
start_date()
click to toggle source
# File lib/ordered_week.rb, line 37 def start_date @days.first end
to_a()
click to toggle source
# File lib/ordered_week.rb, line 29 def to_a @days end
Private Instance Methods
build_days(date)
click to toggle source
# File lib/ordered_week.rb, line 53 def build_days(date) while not date_is_start_of_week(date) date -= 1 end (date..date+6).to_a end
date_is_start_of_week(date)
click to toggle source
# File lib/ordered_week.rb, line 60 def date_is_start_of_week date date.send( (@@start_day.to_s + ??).to_sym ) end
start_day_index()
click to toggle source
# File lib/ordered_week.rb, line 64 def start_day_index WEEK_DAYS.index(@@start_day) end