mirror of
https://github.com/jimeh/time_ext.git
synced 2026-02-19 13:26:39 +00:00
Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b29c232939 | |||
| f3b9d3751a | |||
| a612a17c54 | |||
| 71c5421587 | |||
| d564c31b93 | |||
| 29e1c7f500 | |||
| f49c6bd455 | |||
| 5ece10846a | |||
| 5afb6bc2b9 | |||
| 9bbd974a75 |
10
Gemfile
Normal file
10
Gemfile
Normal 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
34
Gemfile.lock
Normal 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)
|
||||
21
Rakefile
21
Rakefile
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -83,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
19
spec/core_ext_spec.rb
Normal 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
|
||||
@@ -1,2 +0,0 @@
|
||||
--format specdoc
|
||||
--color
|
||||
@@ -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'
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user