timerage 2.1.0 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 852f05909b0c54b53238eeccad669f7f71afcfd9
4
- data.tar.gz: 991234a087b2d382acb900a2869557f764e50d7a
2
+ SHA256:
3
+ metadata.gz: e2b0e89fc0f24f9a2d8216d867b9d7d8f9477c4b449bc43c9d5287c4e24057c7
4
+ data.tar.gz: b6a3376136ad56501316b735da77c3ba8667803fd80f3a8812e941cf0f8dbbc3
5
5
  SHA512:
6
- metadata.gz: e05d511d2ecec9629e85a8d3db2c5b7e251d084a289f159e1d07843098a398cf46f74cb197c23197c2a3b2748331586f678b1d7810c13aeb3fd5b33fabeea14c
7
- data.tar.gz: 8111ba63bf032f12969d21260ad89c9ce1d3ec94139863531ca0bc8811eb0d83c37d7ad8cef1e362edb6ef14253db702fe025cd950adba674c026b7d1d3349ef
6
+ metadata.gz: 157b9c3a249183f8e8b4247332b5be02578899bf1c6d67e84853d161950bd09894d87098676eed4f71ced7a1e23d33e0c27168fdc27570a020e2774110664e75
7
+ data.tar.gz: 131e7dbf90167eeaf21935d246327283da94371ffa40c27ee36577317daf7a92d91049acde3a4bfe6f48eaa87cdebf2cd596889e68983523fd6992a03e6d1ae9
@@ -6,7 +6,7 @@ module Timerage
6
6
 
7
7
  class << self
8
8
  def new(*args)
9
- args = [args.first.begin, args.first.end, args.first.exclude_end?] if args.first.respond_to?(:exclude_end?)
9
+ args = [args.first.begin, args.first.end, args.first.exclude_end?] if args.first.respond_to?(:exclude_end?)
10
10
  new_obj = allocate
11
11
  new_obj.send(:initialize, *args)
12
12
  new_obj
@@ -135,13 +135,12 @@ module Timerage
135
135
  end
136
136
 
137
137
  def time_enumerator(step)
138
- count = (self.end - self.begin).div(step) + 1
139
- count -= 1 if exclude_end? and (self.end - self.begin) % step == 0
140
- # We've included our end if it should be
138
+ next_offset = 0.seconds
141
139
 
142
140
  Enumerator.new do |y|
143
- (count).times do |offset|
144
- y << self.begin + (step * offset)
141
+ while self.cover?(self.begin + next_offset)
142
+ y << self.begin + next_offset
143
+ next_offset += step
145
144
  end
146
145
  end
147
146
  end
@@ -1,3 +1,3 @@
1
1
  module Timerage
2
- VERSION = "2.1.0"
2
+ VERSION = "2.1.1"
3
3
  end
@@ -47,7 +47,13 @@ describe Timerage::TimeInterval do
47
47
  specify { expect(interval.to_time).to (be >= interval.begin)
48
48
  .and (be <= interval.end) }
49
49
  specify { expect{|b| interval.step(1200, &b) }
50
- .to yield_control.at_least(:once) }
50
+ .to yield_control.at_least(:once) }
51
+
52
+ specify { expect{|b|
53
+ Timerage(Time.parse("2019-08-01 01:00:00 UTC")...Time.parse("2019-09-01 01:00:00 UTC"))
54
+ .step(1.month, &b)
55
+ }.to yield_control.exactly(:once) }
56
+
51
57
  specify { expect(interval.iso8601)
52
58
  .to eq "#{interval.begin.iso8601}/#{interval.end.iso8601}" }
53
59
  specify { expect(interval.iso8601(3))
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_development_dependency "bundler", "~> 1.5"
21
+ spec.add_development_dependency "bundler", "~> 2.0"
22
22
  spec.add_development_dependency "rake"
23
23
  spec.add_development_dependency "rspec", ["> 3.0.0.a", "< 4"]
24
24
  spec.add_development_dependency "activesupport"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: timerage
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Williams
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-02-02 00:00:00.000000000 Z
12
+ date: 2019-10-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: '1.5'
20
+ version: '2.0'
21
21
  type: :development
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: '1.5'
27
+ version: '2.0'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: rake
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -111,8 +111,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
111
  - !ruby/object:Gem::Version
112
112
  version: '0'
113
113
  requirements: []
114
- rubyforge_project:
115
- rubygems_version: 2.4.5
114
+ rubygems_version: 3.0.3
116
115
  signing_key:
117
116
  specification_version: 4
118
117
  summary: Simple refinement to Range to allow Time or Date as arguments