timing 0.2.2 → 0.2.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3b14f511f5b5762bf9d2c1e4b4a9f3c44daac403898db6ef375dd2265f8eb809
4
- data.tar.gz: fff2ab5c8599603c32f4613bb42d21783014bfd3ced116d61fc00bdacf9624d2
3
+ metadata.gz: 666ee7049eb29d589431eec63fbf54a6e79a75f4ff418e5a3fa13c54cea11ae5
4
+ data.tar.gz: 6e32f64a0c6568637090b038f9d0f30ba936925ede0bb6b18c1168c429e38f14
5
5
  SHA512:
6
- metadata.gz: c873020dd3df833d3277955f75579c98e24f37456c1af102aeeff1393bc79168a301bbcbefddaa911fe33c1aef7304a9e2c719a8a7d76c91bc4cf4ce1a9933b3
7
- data.tar.gz: d8ea8bc790ef631547f75523732ffa6448f81038aa59592a26d9b75bceed2d6b72f00fbb98b8d658b3ca59efaafe71ab76b18d545202f07befc21c5ee079590d
6
+ metadata.gz: 0cd864c3df88c5bf92863df0becba24a1dd144797f317d529b2f10cdc880ab4fda53a64f0f664a2c4caf5f62c24419128edefacb75f255c0b2664cbaae26c75a
7
+ data.tar.gz: 20fb404748aa83b1bdd47e0d6c8e5565336d7c0007acaf885095a898a24208e333f6de3b348a68f15fc812e1a8189f3ab68b5da81fe7feded8eafc3681bc1fac
@@ -21,4 +21,5 @@ matrix:
21
21
  - rvm: jruby-head
22
22
 
23
23
  before_install:
24
+ - rvm all-gemsets do gem uninstall bundler -ax || true
24
25
  - gem install bundler -v "< 2"
data/README.md CHANGED
@@ -4,7 +4,6 @@
4
4
  [![Build Status](https://travis-ci.org/gabynaiman/timing.svg?branch=master)](https://travis-ci.org/gabynaiman/timing)
5
5
  [![Coverage Status](https://coveralls.io/repos/github/gabynaiman/timing/badge.svg?branch=master)](https://coveralls.io/github/gabynaiman/timing?branch=master)
6
6
  [![Code Climate](https://codeclimate.com/github/gabynaiman/timing.svg)](https://codeclimate.com/github/gabynaiman/timing)
7
- [![Dependency Status](https://gemnasium.com/gabynaiman/timing.svg)](https://gemnasium.com/gabynaiman/timing)
8
7
 
9
8
  Time utils
10
9
 
@@ -70,6 +69,7 @@ Timing::Interval.parse('15m') # => 15m (900.0)
70
69
  Timing::Interval.parse('7h') # => 7h (25200.0)
71
70
  Timing::Interval.parse('5d') # => 5d (432000.0)
72
71
  Timing::Interval.parse('2w') # => 2w (1209600.0)
72
+ Timing::Interval.parse('1m 10s') # => 1m 10s (70.0)
73
73
 
74
74
  interval = Timing::Interval.weeks(1)
75
75
  interval.to_seconds # => 604800.0
@@ -1,12 +1,12 @@
1
1
  module Timing
2
2
  class Interval < TransparentProxy
3
-
3
+
4
4
  UNITS_NAMES = {
5
5
  s: :seconds,
6
6
  m: :minutes,
7
7
  h: :hours,
8
8
  d: :days,
9
- w: :weeks
9
+ w: :weeks
10
10
  }
11
11
 
12
12
  CONVERSIONS = {
@@ -30,9 +30,13 @@ module Timing
30
30
  REGEXP = /^([\d\.]+)([smhdw])$/
31
31
 
32
32
  def self.parse(expression)
33
- match = REGEXP.match expression.strip
34
- raise "Invalid interval expression #{expression}" unless match
35
- new match.captures[0].to_f * CONVERSIONS[match.captures[1].to_sym]
33
+ seconds = expression.split(' ').inject(0) do |total, value|
34
+ match = REGEXP.match value.strip
35
+ raise "Invalid interval expression #{expression}" unless match
36
+ total + match.captures[0].to_f * CONVERSIONS[match.captures[1].to_sym]
37
+ end
38
+
39
+ new seconds
36
40
  end
37
41
 
38
42
  def self.between(time_1, time_2)
@@ -45,6 +45,7 @@ module Timing
45
45
  self.class.new time, 0
46
46
  end
47
47
  alias_method :getutc, :to_utc
48
+ alias_method :utc, :to_utc
48
49
 
49
50
  def to_zone(zone_offset)
50
51
  self.class.new time, zone_offset
@@ -139,7 +140,11 @@ module Timing
139
140
  end
140
141
 
141
142
  def method_missing(method, *args, &block)
142
- time.send method, *args, &block
143
+ time.public_send method, *args, &block
144
+ end
145
+
146
+ def respond_to_missing?(method, include_private=false)
147
+ super || time.respond_to?(method)
143
148
  end
144
149
 
145
150
  end
@@ -1,3 +1,3 @@
1
1
  module Timing
2
- VERSION = '0.2.2'
2
+ VERSION = '0.2.7'
3
3
  end
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
20
20
  spec.require_paths = ["lib"]
21
21
 
22
22
  spec.add_dependency 'treetop', '~> 1.4.0'
23
- spec.add_dependency 'transparent_proxy', '~> 0.0.4'
23
+ spec.add_dependency 'transparent_proxy', '~> 0.0', '>= 0.0.5'
24
24
 
25
25
  spec.add_development_dependency 'bundler', '~> 1.12'
26
26
  spec.add_development_dependency 'rake', '~> 11.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: timing
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gabriel Naiman
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-01-07 00:00:00.000000000 Z
11
+ date: 2020-10-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: treetop
@@ -30,14 +30,20 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.0.4
33
+ version: '0.0'
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: 0.0.5
34
37
  type: :runtime
35
38
  prerelease: false
36
39
  version_requirements: !ruby/object:Gem::Requirement
37
40
  requirements:
38
41
  - - "~>"
39
42
  - !ruby/object:Gem::Version
40
- version: 0.0.4
43
+ version: '0.0'
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 0.0.5
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: bundler
43
49
  requirement: !ruby/object:Gem::Requirement
@@ -202,8 +208,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
202
208
  - !ruby/object:Gem::Version
203
209
  version: '0'
204
210
  requirements: []
205
- rubyforge_project:
206
- rubygems_version: 2.7.3
211
+ rubygems_version: 3.0.6
207
212
  signing_key:
208
213
  specification_version: 4
209
214
  summary: Time utils