Class: Quarter

Inherits:
Object
  • Object
show all
Defined in:
lib/quarter_time/quarter.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(year, quarter) ⇒ Quarter

Returns a new instance of Quarter.



5
6
7
8
# File 'lib/quarter_time/quarter.rb', line 5

def initialize(year,quarter)
  @year = year
  @quarter = quarter
end

Instance Attribute Details

#quarterObject

Returns the value of attribute quarter.



3
4
5
# File 'lib/quarter_time/quarter.rb', line 3

def quarter
  @quarter
end

#yearObject

Returns the value of attribute year.



2
3
4
# File 'lib/quarter_time/quarter.rb', line 2

def year
  @year
end

Instance Method Details

#date_hashObject



30
31
32
# File 'lib/quarter_time/quarter.rb', line 30

def date_hash 
  {:start_date=>self.start_date,:end_date=>self.end_date}
end

#date_strings_hashObject



34
35
36
# File 'lib/quarter_time/quarter.rb', line 34

def date_strings_hash
  {:start_date=>self.start_date.strftime("%m/%d/%Y"),:end_date=>self.end_date.strftime("%m/%d/%Y")}
end

#end_dateObject



22
23
24
# File 'lib/quarter_time/quarter.rb', line 22

def end_date
  start_date + 3.months - 1.day
end

#eql?(other_quarter) ⇒ Boolean Also known as: ==

Returns:

  • (Boolean)


42
43
44
# File 'lib/quarter_time/quarter.rb', line 42

def eql?(other_quarter)
  other_quarter.class.eql?(self.class) and other_quarter.year == year and other_quarter.quarter == self.quarter
end

#nextObject



10
11
12
# File 'lib/quarter_time/quarter.rb', line 10

def next
  @next ||= build_next
end

#previousObject



14
15
16
# File 'lib/quarter_time/quarter.rb', line 14

def previous
  @previous ||= build_previous
end

#quarter_stampObject



38
39
40
# File 'lib/quarter_time/quarter.rb', line 38

def quarter_stamp
  "Q#{self.quarter}, #{self.year}"
end

#start_dateObject



18
19
20
# File 'lib/quarter_time/quarter.rb', line 18

def start_date
  Date.parse("#{(@quarter * 3) - 2}/01/#{@year}")
end

#yq_hashObject



26
27
28
# File 'lib/quarter_time/quarter.rb', line 26

def yq_hash   
  {:year=>self.year,:quarter=>self.quarter}
end