Class: OrderedWeek

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/ordered_week.rb

Constant Summary collapse

VERSION =
'0.0.1'

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(includes_date = nil) ⇒ OrderedWeek

Returns a new instance of OrderedWeek.



20
21
22
23
# 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

Class Method Details

.start_dayObject



11
12
13
# File 'lib/ordered_week.rb', line 11

def self.start_day
  @@start_day
end

.start_day=(day) ⇒ Object



15
16
17
18
# File 'lib/ordered_week.rb', line 15

def self.start_day= day
  return false unless WEEK_DAYS.include?(day)
  @@start_day = day 
end

Instance Method Details

#each(&block) ⇒ Object



33
34
35
# File 'lib/ordered_week.rb', line 33

def each &block
  @days.each {|d| yield d}
end

#end_dateObject



41
42
43
# File 'lib/ordered_week.rb', line 41

def end_date
  @days.last
end

#inspectObject



25
26
27
# File 'lib/ordered_week.rb', line 25

def inspect
  @days.map {|d| d.strftime("%F")}.inspect.gsub('"','')
end

#start_dateObject



37
38
39
# File 'lib/ordered_week.rb', line 37

def start_date
  @days.first
end

#to_aObject



29
30
31
# File 'lib/ordered_week.rb', line 29

def to_a
  @days
end