Module: QuarterTime::QuarterDriven

Defined in:
lib/quarter_time/quarter_driven.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/quarter_time/quarter_driven.rb', line 3

def self.included(base)
  base.class_eval do
    named_scope :for_quarter, lambda {|*args|
      quarter_obj = (args[0].is_a?(Quarter) ? args[0] : Quarter.new(args[0],args[1]))
      {:conditions=>{:year=>quarter_obj.year, :quarter=>quarter_obj.quarter}}
    }
      
   
    [:start_date,:end_date,:quarter_stamp].each do |delegated_method|
      define_method(delegated_method){ self.quarter_obj.send(delegated_method) }
    end
  end
end

Instance Method Details

#quarter_objObject



17
18
19
# File 'lib/quarter_time/quarter_driven.rb', line 17

def quarter_obj
  @quarter_obj ||= Quarter.new(self.year,self.quarter)
end