From e1a70c37b11cb893a126784cc3d94b01f7c6c041 Mon Sep 17 00:00:00 2001 From: Carlos Goce Date: Fri, 23 Jan 2015 18:13:02 +0100 Subject: Refactor data structure --- lib/carlosgoce/calendar.rb | 9 ++++----- spec/calendar_spec.rb | 8 ++++---- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/lib/carlosgoce/calendar.rb b/lib/carlosgoce/calendar.rb index 5ac27b0..74051d3 100644 --- a/lib/carlosgoce/calendar.rb +++ b/lib/carlosgoce/calendar.rb @@ -11,12 +11,11 @@ module CarlosGoce end def to_h - Hash.new.tap {|bar| + Hash.new.tap {|h| (1..12).each do |month| - month_name = I18n.t('date.month_names')[month].downcase - month_days =(1...Time.days_in_month(month, @year)).to_a.each_slice(7).to_a - - bar[month_name] = month_days + h[month] = {} + h[month][:days] = (1...Time.days_in_month(month, @year)).to_a.each_slice(7).to_a + h[month][:name] = I18n.t('date.month_names')[month].downcase end } end diff --git a/spec/calendar_spec.rb b/spec/calendar_spec.rb index 71252b3..e7fe00b 100644 --- a/spec/calendar_spec.rb +++ b/spec/calendar_spec.rb @@ -14,15 +14,15 @@ describe 'Calendar' do expect(@calendar.year).to eq(Date.today.year) end - describe 'Return months and days of given year' do + describe 'Return a data structure with all needed data to generate a pdf' do it 'should have all months of the year' do expect(@calendar.to_h.count).to eq(12) end - it 'localize month names' do - expect(@calendar.to_h.keys.first.to_s).to eq('january') + it 'return month names localized' do + expect(@calendar.to_h[1][:name]).to eq('january') I18n.locale = 'es' - expect(@calendar.to_h.keys.first.to_s).to eq('enero') + expect(@calendar.to_h[1][:name]).to eq('enero') end end end \ No newline at end of file -- cgit v1.2.3