created a #map alias for #map_each

This commit is contained in:
2010-08-03 14:07:58 +03:00
parent c1abca091a
commit 66f661aef8
2 changed files with 4 additions and 1 deletions

View File

@@ -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

View File

@@ -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