diff options
author | Carlos Goce <carlosgoce@gmail.com> | 2015-01-23 00:07:05 +0100 |
---|---|---|
committer | Carlos Goce <carlosgoce@gmail.com> | 2015-01-23 00:07:05 +0100 |
commit | 2d10c61b2f1d43fa98b46bdd17cfce86da95b7e5 (patch) | |
tree | ac09ce9874f52e363799df319255f29a94ed36ba | |
parent | e8341ef9884861fc24040d4f219a271ae1022722 (diff) | |
download | pdf-calendars-2d10c61b2f1d43fa98b46bdd17cfce86da95b7e5.tar.gz pdf-calendars-2d10c61b2f1d43fa98b46bdd17cfce86da95b7e5.tar.bz2 pdf-calendars-2d10c61b2f1d43fa98b46bdd17cfce86da95b7e5.zip |
Calendar can localize months
-rw-r--r-- | Gemfile | 1 | ||||
-rw-r--r-- | Gemfile.lock | 1 | ||||
-rw-r--r-- | lib/carlosgoce/calendar.rb | 19 | ||||
-rw-r--r-- | spec/calendar_spec.rb | 14 |
4 files changed, 34 insertions, 1 deletions
@@ -5,3 +5,4 @@ gem 'prawn-table', '~> 0.2.1' gem 'rake', '~> 10.4.2' gem 'activesupport', '~> 4.2.0' gem 'rspec', '~> 3.1.0' +gem 'rspec-expectations', '~> 3.1.2' diff --git a/Gemfile.lock b/Gemfile.lock index c92cb67..a1263c4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -43,3 +43,4 @@ DEPENDENCIES prawn-table (~> 0.2.1) rake (~> 10.4.2) rspec (~> 3.1.0) + rspec-expectations (~> 3.1.2) diff --git a/lib/carlosgoce/calendar.rb b/lib/carlosgoce/calendar.rb index cb77325..ea5bd6a 100644 --- a/lib/carlosgoce/calendar.rb +++ b/lib/carlosgoce/calendar.rb @@ -1,7 +1,24 @@ +require 'rubygems' +require 'active_support/core_ext/time' +require 'active_support/core_ext/date' + module CarlosGoce class Calendar + attr_reader :year + + def initialize(year=Date.today.year) + @year = year + end + def to_h - {enero: []} + 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 + h[month_name] = month_days + end + + h end end end
\ No newline at end of file diff --git a/spec/calendar_spec.rb b/spec/calendar_spec.rb index a543dbe..71252b3 100644 --- a/spec/calendar_spec.rb +++ b/spec/calendar_spec.rb @@ -1,13 +1,27 @@ require 'rspec' +require 'rspec/expectations' require_relative '../lib/carlosgoce/calendar' +I18n.load_path = Dir['config/locales/*.yml'] +I18n.backend.load_translations + describe 'Calendar' do before(:each) do @calendar = CarlosGoce::Calendar.new end + it 'should be initialized with the current year' do + expect(@calendar.year).to eq(Date.today.year) + end + describe 'Return months and days of given year' 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') + I18n.locale = 'es' expect(@calendar.to_h.keys.first.to_s).to eq('enero') end end |