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

View File

@@ -1 +1 @@
0.2.5 0.2.7

View File

@@ -1,6 +1,9 @@
require 'rubygems' require 'rubygems'
require 'active_support' 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/calculations'
require 'time_ext/iterations' require 'time_ext/iterations'
require 'time_ext/support' require 'time_ext/support'

View File

@@ -83,7 +83,7 @@ module TimeExt
# Dynamically define convenience methods, like #each_hour instead of #each(:hour). # Dynamically define convenience methods, like #each_hour instead of #each(:hour).
[:year, :month, :day, :hour, :min, :sec].each do |unit| [: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| define_method "#{method}_#{unit}" do |*args, &block|
send(method, unit, *args, &block) send(method, unit, *args, &block)
end 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.dirname(__FILE__))
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib')) $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
require 'time_ext' require 'time_ext'
require 'spec' require 'rspec'
require 'spec/autorun' require 'rspec/autorun'
Spec::Runner.configure do |config|
end

View File

@@ -52,8 +52,6 @@ describe "Time Iterations" do
match = (1..6).map { |i| @now + i.hours } match = (1..6).map { |i| @now + i.hours }
@now.map_each_hour.until(@now + 6.hours) { |time| time }.should == match @now.map_each_hour.until(@now + 6.hours) { |time| time }.should == match
@now.until(@now + 6.hours).map_each(:hour) { |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 end
it "should iterate over time objects backwards with #until set in the past" do it "should iterate over time objects backwards with #until set in the past" do