mirror of
https://github.com/jimeh/time_ext.git
synced 2026-02-19 05:16:40 +00:00
Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b29c232939 | |||
| f3b9d3751a | |||
| a612a17c54 | |||
| 71c5421587 | |||
| d564c31b93 | |||
| 29e1c7f500 | |||
| f49c6bd455 | |||
| 5ece10846a | |||
| 5afb6bc2b9 | |||
| 9bbd974a75 | |||
| ca929c6ae1 | |||
| edd828bb3e | |||
| 4afd3f84d5 |
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'
|
||||
|
||||
@@ -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
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