timing 0.0.2 → 0.0.3
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 +4 -4
- data/lib/timing/helpers.rb +58 -4
- data/lib/timing/natural_time_language.rb +2848 -0
- data/lib/timing/natural_time_language.treetop +227 -0
- data/lib/timing/natural_time_language_interpreters.rb +326 -0
- data/lib/timing/time_in_zone.rb +30 -2
- data/lib/timing/version.rb +1 -1
- data/lib/timing.rb +4 -0
- data/timing.gemspec +2 -0
- metadata +19 -2
data/lib/timing/time_in_zone.rb
CHANGED
@@ -5,8 +5,8 @@ module Timing
|
|
5
5
|
|
6
6
|
REGEXP = /[+-]\d\d:?\d\d/
|
7
7
|
|
8
|
-
def_delegators :time, :to_i, :to_f, :<, :<=, :==, :>, :>=, :between?, :eql?, :hash
|
9
|
-
def_delegators :time_with_offset, :year, :month, :day, :hour, :min, :sec
|
8
|
+
def_delegators :time, :to_i, :to_f, :to_date, :to_datetime, :<, :<=, :==, :>, :>=, :between?, :eql?, :hash
|
9
|
+
def_delegators :time_with_offset, :year, :month, :day, :hour, :min, :sec, :wday, :yday
|
10
10
|
|
11
11
|
attr_reader :zone_offset
|
12
12
|
|
@@ -58,6 +58,34 @@ module Timing
|
|
58
58
|
time_with_offset.strftime format.gsub('%Z', '').gsub('%z', zone_offset.to_s)
|
59
59
|
end
|
60
60
|
|
61
|
+
%w(hour day week month year).each do |interval|
|
62
|
+
beginning_method_name = "beginning_of_#{interval}"
|
63
|
+
define_method beginning_method_name do
|
64
|
+
Timing.send beginning_method_name, self
|
65
|
+
end
|
66
|
+
|
67
|
+
end_method_name = "end_of_#{interval}"
|
68
|
+
define_method end_method_name do
|
69
|
+
Timing.send end_method_name, self
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
def months_ago(count)
|
74
|
+
Timing.months_ago self, count
|
75
|
+
end
|
76
|
+
|
77
|
+
def months_after(count)
|
78
|
+
Timing.months_after self, count
|
79
|
+
end
|
80
|
+
|
81
|
+
def years_ago(count)
|
82
|
+
Timing.years_ago self, count
|
83
|
+
end
|
84
|
+
|
85
|
+
def years_after(count)
|
86
|
+
Timing.years_after self, count
|
87
|
+
end
|
88
|
+
|
61
89
|
def self.now(zone_offset=nil)
|
62
90
|
new Time.now, zone_offset
|
63
91
|
end
|
data/lib/timing/version.rb
CHANGED
data/lib/timing.rb
CHANGED
@@ -1,12 +1,16 @@
|
|
1
1
|
require 'time'
|
2
|
+
require 'date'
|
2
3
|
require 'delegate'
|
3
4
|
require 'forwardable'
|
5
|
+
require 'treetop'
|
4
6
|
|
5
7
|
require 'timing/version'
|
6
8
|
require 'timing/helpers'
|
7
9
|
require 'timing/interval'
|
8
10
|
require 'timing/zone_offset'
|
9
11
|
require 'timing/time_in_zone'
|
12
|
+
require 'timing/natural_time_language'
|
13
|
+
require 'timing/natural_time_language_interpreters'
|
10
14
|
|
11
15
|
|
12
16
|
module Timing
|
data/timing.gemspec
CHANGED
@@ -19,6 +19,8 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
20
20
|
spec.require_paths = ["lib"]
|
21
21
|
|
22
|
+
spec.add_dependency 'treetop'
|
23
|
+
|
22
24
|
spec.add_development_dependency 'bundler', '~> 1.6'
|
23
25
|
spec.add_development_dependency 'rake'
|
24
26
|
spec.add_development_dependency 'minitest', '~> 4.7'
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: timing
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gabriel Naiman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-08-
|
11
|
+
date: 2015-08-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: treetop
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: bundler
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -113,6 +127,9 @@ files:
|
|
113
127
|
- lib/timing.rb
|
114
128
|
- lib/timing/helpers.rb
|
115
129
|
- lib/timing/interval.rb
|
130
|
+
- lib/timing/natural_time_language.rb
|
131
|
+
- lib/timing/natural_time_language.treetop
|
132
|
+
- lib/timing/natural_time_language_interpreters.rb
|
116
133
|
- lib/timing/time_in_zone.rb
|
117
134
|
- lib/timing/version.rb
|
118
135
|
- lib/timing/zone_offset.rb
|