Class: DummyVariables::DataDate

Inherits:
Object
  • Object
show all
Defined in:
lib/dummy_variables/data_date.rb

Constant Summary collapse

WDAYS =
{ "0" => "sun", "1" => "mon", "2" => "tue", "3" => "wed", "4" => "thu", "5" => "fri", "6" => "sat" }

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(date, vars) ⇒ DataDate

Returns a new instance of DataDate.



7
8
9
10
11
12
13
# File 'lib/dummy_variables/data_date.rb', line 7

def initialize(date, vars)
  @date = date
  @vars = WDAYS.values.inject({}) { |h, e| h[e] = 0; h }
  @vars[WDAYS[Date.parse(@date).wday.to_s]] = 1
  @vars.merge! vars
  @vars.keys.each { |k| self.class.send(:define_method, k) { @vars[k] } }
end

Instance Attribute Details

#dateObject (readonly)

Returns the value of attribute date.



5
6
7
# File 'lib/dummy_variables/data_date.rb', line 5

def date
  @date
end

Instance Method Details

#to_hash(keys = nil) ⇒ Object



15
16
17
18
19
# File 'lib/dummy_variables/data_date.rb', line 15

def to_hash(keys=nil)
  keys = keys.nil? ? @vars.keys : keys.map(&:to_s) & @vars.keys
  keys.insert(0, "date")
  keys.inject({}) { |h, e| h[e] = send(e); h }
end