From 66f661aef89a082339c73a26315e7aa39ed9193c Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Tue, 3 Aug 2010 14:07:58 +0300 Subject: [PATCH] created a #map alias for #map_each --- lib/time_ext/iterations.rb | 3 ++- spec/time_iterations_spec.rb | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/time_ext/iterations.rb b/lib/time_ext/iterations.rb index 3601ed1..6cd4112 100644 --- a/lib/time_ext/iterations.rb +++ b/lib/time_ext/iterations.rb @@ -60,6 +60,7 @@ module TimeExt def map_each(unit, options = {}, &block) iterate(unit, options.merge(:map_result => true), &block) end + alias :map :map_each # Executes passed block for each "unit" of time specified, returning an array with the return values from passed block. Additionally the time object passed into the block is set to the beginning of specified "unit". def map_beginning_of_each(unit, options = {}, &block) @@ -68,7 +69,7 @@ module TimeExt # Dynamically define convenience methods, like #each_hour instead of #each(:hour). [:year, :month, :day, :hour, :min, :sec].each do |unit| - [:each, :beginning_of_each, :map_each, :map_beginning_of_each].each do |method| + [:each, :beginning_of_each, :map_each, :map_beginning_of_each, :map].each do |method| define_method "#{method}_#{unit}" do |*args, &block| send(method, unit, *args, &block) end diff --git a/spec/time_iterations_spec.rb b/spec/time_iterations_spec.rb index ce07002..b9e0b5e 100644 --- a/spec/time_iterations_spec.rb +++ b/spec/time_iterations_spec.rb @@ -52,6 +52,8 @@ describe "Time Iterations" do match = (1..6).map { |i| @now + i.hours } @now.map_each_hour.until(@now + 6.hours) { |time| time }.should == match @now.until(@now + 6.hours).map_each(:hour) { |time| time }.should == match + # check so the #map alias for #map_each works + @now.map_hour.until(@now + 6.hours) { |time| time }.should == match end it "should iterate over time objects backwards with #until set in the past" do