13 Commits

Author SHA1 Message Date
b29c232939 Merge branch 'release/v0.2.7' 2010-11-24 09:48:23 +00:00
f3b9d3751a Version bump to 0.2.7 2010-11-24 09:48:10 +00:00
a612a17c54 added a Gemfile 2010-11-24 09:47:55 +00:00
71c5421587 added i18n to dependencies as activesupport needs
it, but doesn't have it as a dependency
2010-11-24 09:47:37 +00:00
d564c31b93 updated project to rspec 2.x 2010-11-24 09:46:31 +00:00
29e1c7f500 Merge branch 'release-0.2.6' into stable 2010-09-28 19:18:09 +03:00
f49c6bd455 Version bump to 0.2.6 2010-09-28 19:17:19 +03:00
5ece10846a added spec to check for core extention method
aliases
2010-09-28 19:16:36 +03:00
5afb6bc2b9 removed last traces of Time#map method which was
causing issues with Active Record
2010-09-28 19:16:11 +03:00
9bbd974a75 fixed compatibility with Active Support 3.x 2010-09-28 19:15:39 +03:00
ca929c6ae1 Merge branch 'release-0.2.5' into stable 2010-08-23 12:41:45 +03:00
edd828bb3e Version bump to 0.2.5 2010-08-23 12:41:23 +03:00
4afd3f84d5 removed Time#map alias to Time#map_each as it was
causing issues with ActiveRecord
2010-08-23 12:40:58 +03:00
11 changed files with 85 additions and 22 deletions

2
.rspec Normal file
View File

@@ -0,0 +1,2 @@
--format documentation
--color

10
Gemfile Normal file
View File

@@ -0,0 +1,10 @@
source 'http://rubygems.org/'
gem 'activesupport', '>= 2.3.0'
gem 'i18n', '>= 0.4.2'
group :development do
gem 'jeweler', '>= 1.4.0'
gem 'rspec', '>= 2.1.0'
gem 'yard', '>= 0.6.3'
end

34
Gemfile.lock Normal file
View File

@@ -0,0 +1,34 @@
GEM
remote: http://rubygems.org/
specs:
activesupport (3.0.3)
diff-lcs (1.1.2)
gemcutter (0.6.1)
git (1.2.5)
i18n (0.4.2)
jeweler (1.4.0)
gemcutter (>= 0.1.0)
git (>= 1.2.5)
rubyforge (>= 2.0.0)
json_pure (1.4.6)
rspec (2.1.0)
rspec-core (~> 2.1.0)
rspec-expectations (~> 2.1.0)
rspec-mocks (~> 2.1.0)
rspec-core (2.1.0)
rspec-expectations (2.1.0)
diff-lcs (~> 1.1.2)
rspec-mocks (2.1.0)
rubyforge (2.0.4)
json_pure (>= 1.1.7)
yard (0.6.3)
PLATFORMS
ruby
DEPENDENCIES
activesupport (>= 2.3.0)
i18n (>= 0.4.2)
jeweler (>= 1.4.0)
rspec (>= 2.1.0)
yard (>= 0.6.3)

View File

@@ -10,23 +10,24 @@ begin
gem.email = "contact@jimeh.me"
gem.homepage = "http://github.com/jimeh/time_ext"
gem.authors = ["Jim Myhrberg"]
gem.add_dependency "activesupport", ">= 2.3.0"
gem.add_development_dependency "rspec", ">= 1.2.9"
gem.add_development_dependency "yard", ">= 0"
gem.add_dependency 'activesupport', '>= 2.3.0'
gem.add_dependency 'i18n', '>= 0.4.2'
gem.add_development_dependency 'jeweler', '>= 1.4.0'
gem.add_development_dependency 'rspec', '>= 2.1.0'
gem.add_development_dependency 'yard', '>= 0.6.3'
end
Jeweler::GemcutterTasks.new
rescue LoadError
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
end
require 'spec/rake/spectask'
Spec::Rake::SpecTask.new(:spec) do |spec|
spec.libs << 'lib' << 'spec'
spec.spec_files = FileList['spec/**/*_spec.rb']
# Rspec
require 'rspec/core/rake_task'
RSpec::Core::RakeTask.new(:spec) do |spec|
spec.pattern = 'spec/**/*_spec.rb'
end
Spec::Rake::SpecTask.new(:rcov) do |spec|
spec.libs << 'lib' << 'spec'
RSpec::Core::RakeTask.new(:rcov) do |spec|
spec.pattern = 'spec/**/*_spec.rb'
spec.rcov = true
end
@@ -35,9 +36,11 @@ task :spec => :check_dependencies
task :default => :spec
desc "Start an irb console with TimeExt pre-loaded."
task :console do
exec "irb -r spec/spec_helper"
end
task :c => :console
begin
require 'yard'

View File

@@ -1 +1 @@
0.2.4
0.2.7

View File

@@ -1,6 +1,9 @@
require 'rubygems'
require 'active_support'
# support both Active Support 2.x and 3.x
require 'active_support/time' if !Time.respond_to?(:days_in_month)
require 'time_ext/calculations'
require 'time_ext/iterations'
require 'time_ext/support'

View File

@@ -75,7 +75,6 @@ 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)
@@ -84,7 +83,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, :map].each do |method|
[:each, :beginning_of_each, :map_each, :map_beginning_of_each].each do |method|
define_method "#{method}_#{unit}" do |*args, &block|
send(method, unit, *args, &block)
end

19
spec/core_ext_spec.rb Normal file
View File

@@ -0,0 +1,19 @@
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
describe "Core Extensions" do
it "should alias Numeric class methods" do
number = 1
number.sec.should == number.second
number.min.should == number.minute
end
it "should alias Time instance methods" do
time = Time.now
time.secs_ago(10).should == time.ago(10)
time.seconds_ago(10).should == time.ago(10)
time.secs_since(10).should == time.since(10)
time.seconds_since(10).should == time.since(10)
end
end

View File

@@ -1,2 +0,0 @@
--format specdoc
--color

View File

@@ -1,9 +1,6 @@
$LOAD_PATH.unshift(File.dirname(__FILE__))
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
require 'time_ext'
require 'spec'
require 'spec/autorun'
Spec::Runner.configure do |config|
end
require 'time_ext'
require 'rspec'
require 'rspec/autorun'

View File

@@ -52,8 +52,6 @@ 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