timing 0.2.7 → 0.2.8
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/.github/workflows/ci.yml +26 -0
- data/README.md +1 -1
- data/lib/timing/natural_time_language.rb +51 -1
- data/lib/timing/natural_time_language.treetop +10 -10
- data/lib/timing/time_in_zone.rb +4 -3
- data/lib/timing/version.rb +1 -1
- data/timing.gemspec +0 -1
- metadata +4 -18
- data/.travis.yml +0 -25
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6abb23fdcc3b41f24244fe8f84c359b9dabd79d23b761372f22e6b2d5a491daa
|
4
|
+
data.tar.gz: 3cb211dfff78e9426c01a7e2a0c3c22b51f80ff4a347557172ee9d09982c0651
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 876430e1344bbe150c1f0e74d5ec5fd752804ee30f7682b469f3d8122ec66f81bfd7f9a2bdba0dfc80c59be3aa87e1bfb2927700f1544f16ec6333f08d77ca0d
|
7
|
+
data.tar.gz: 7af0ec9c84cb00aa38ce3352480a9716d27821fa17085d1fb4a6feb9c92aacb6fea21127818b997b47e4f16a5da86b5c894de87df2af946b9330b07bbe88c70d
|
@@ -0,0 +1,26 @@
|
|
1
|
+
name: CI
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches: [ '**' ]
|
6
|
+
pull_request:
|
7
|
+
branches: [ '**' ]
|
8
|
+
|
9
|
+
jobs:
|
10
|
+
test:
|
11
|
+
|
12
|
+
name: Tests
|
13
|
+
runs-on: ubuntu-22.04
|
14
|
+
strategy:
|
15
|
+
matrix:
|
16
|
+
ruby-version: ['2.3', '2.4', '2.5', '2.6', '2.7', '3.0', 'jruby-9.2.9.0']
|
17
|
+
|
18
|
+
steps:
|
19
|
+
- uses: actions/checkout@v3
|
20
|
+
- name: Set up Ruby
|
21
|
+
uses: ruby/setup-ruby@v1
|
22
|
+
with:
|
23
|
+
ruby-version: ${{ matrix.ruby-version }}
|
24
|
+
bundler-cache: true
|
25
|
+
- name: Run tests
|
26
|
+
run: bundle exec rake
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# Timing
|
2
2
|
|
3
3
|
[](https://rubygems.org/gems/timing)
|
4
|
-
[](https://github.com/gabynaiman/timing/actions/workflows/ci.yml)
|
5
5
|
[](https://coveralls.io/github/gabynaiman/timing?branch=master)
|
6
6
|
[](https://codeclimate.com/github/gabynaiman/timing)
|
7
7
|
|
@@ -812,6 +812,9 @@ module Timing
|
|
812
812
|
module Timestamp0
|
813
813
|
end
|
814
814
|
|
815
|
+
module Timestamp1
|
816
|
+
end
|
817
|
+
|
815
818
|
def _nt_timestamp
|
816
819
|
start_index = index
|
817
820
|
if node_cache[:timestamp].has_key?(index)
|
@@ -1047,6 +1050,53 @@ module Timing
|
|
1047
1050
|
r21 = instantiate_node(SyntaxNode,input, i21...index, s21)
|
1048
1051
|
end
|
1049
1052
|
s0 << r21
|
1053
|
+
if r21
|
1054
|
+
i24, s24 = index, []
|
1055
|
+
if has_terminal?('.', false, index)
|
1056
|
+
r25 = instantiate_node(SyntaxNode,input, index...(index + 1))
|
1057
|
+
@index += 1
|
1058
|
+
else
|
1059
|
+
terminal_parse_failure('.')
|
1060
|
+
r25 = nil
|
1061
|
+
end
|
1062
|
+
s24 << r25
|
1063
|
+
if r25
|
1064
|
+
s26, i26 = [], index
|
1065
|
+
loop do
|
1066
|
+
if has_terminal?('\G[\\d]', true, index)
|
1067
|
+
r27 = true
|
1068
|
+
@index += 1
|
1069
|
+
else
|
1070
|
+
r27 = nil
|
1071
|
+
end
|
1072
|
+
if r27
|
1073
|
+
s26 << r27
|
1074
|
+
else
|
1075
|
+
break
|
1076
|
+
end
|
1077
|
+
end
|
1078
|
+
if s26.empty?
|
1079
|
+
@index = i26
|
1080
|
+
r26 = nil
|
1081
|
+
else
|
1082
|
+
r26 = instantiate_node(SyntaxNode,input, i26...index, s26)
|
1083
|
+
end
|
1084
|
+
s24 << r26
|
1085
|
+
end
|
1086
|
+
if s24.last
|
1087
|
+
r24 = instantiate_node(SyntaxNode,input, i24...index, s24)
|
1088
|
+
r24.extend(Timestamp0)
|
1089
|
+
else
|
1090
|
+
@index = i24
|
1091
|
+
r24 = nil
|
1092
|
+
end
|
1093
|
+
if r24
|
1094
|
+
r23 = r24
|
1095
|
+
else
|
1096
|
+
r23 = instantiate_node(SyntaxNode,input, index...index)
|
1097
|
+
end
|
1098
|
+
s0 << r23
|
1099
|
+
end
|
1050
1100
|
end
|
1051
1101
|
end
|
1052
1102
|
end
|
@@ -1061,7 +1111,7 @@ module Timing
|
|
1061
1111
|
end
|
1062
1112
|
if s0.last
|
1063
1113
|
r0 = instantiate_node(Timestamp,input, i0...index, s0)
|
1064
|
-
r0.extend(
|
1114
|
+
r0.extend(Timestamp1)
|
1065
1115
|
else
|
1066
1116
|
@index = i0
|
1067
1117
|
r0 = nil
|
@@ -19,9 +19,9 @@ module Timing
|
|
19
19
|
end
|
20
20
|
|
21
21
|
rule date_moment
|
22
|
-
named_moment /
|
23
|
-
last_next_day_name /
|
24
|
-
day_month_name_year /
|
22
|
+
named_moment /
|
23
|
+
last_next_day_name /
|
24
|
+
day_month_name_year /
|
25
25
|
year_month_day /
|
26
26
|
beginning_end_interval
|
27
27
|
end
|
@@ -59,7 +59,7 @@ module Timing
|
|
59
59
|
end
|
60
60
|
|
61
61
|
rule timestamp
|
62
|
-
[\d]4..4 '-' [\d]2..2 '-' [\d]2..2 space* 't'? space* [\d]2..2 ':' [\d]2..2 ':' [\d]2..2 <Timestamp>
|
62
|
+
[\d]4..4 '-' [\d]2..2 '-' [\d]2..2 space* 't'? space* [\d]2..2 ':' [\d]2..2 ':' [\d]2..2 ('.' [\d]+)? <Timestamp>
|
63
63
|
end
|
64
64
|
|
65
65
|
rule now
|
@@ -115,12 +115,12 @@ module Timing
|
|
115
115
|
end
|
116
116
|
|
117
117
|
rule interval
|
118
|
-
second_interval /
|
119
|
-
minute_interval /
|
120
|
-
hour_interval /
|
121
|
-
day_interval /
|
122
|
-
week_interval /
|
123
|
-
month_interval /
|
118
|
+
second_interval /
|
119
|
+
minute_interval /
|
120
|
+
hour_interval /
|
121
|
+
day_interval /
|
122
|
+
week_interval /
|
123
|
+
month_interval /
|
124
124
|
year_interval
|
125
125
|
end
|
126
126
|
|
data/lib/timing/time_in_zone.rb
CHANGED
@@ -9,7 +9,7 @@ module Timing
|
|
9
9
|
def_delegators :time_with_offset, :year, :month, :day, :hour, :min, :sec, :wday, :yday, :sunday?, :monday?, :tuesday?, :wednesday?, :thursday?, :friday?, :saturday?
|
10
10
|
|
11
11
|
attr_reader :zone_offset
|
12
|
-
|
12
|
+
|
13
13
|
def initialize(time, zone_offset=nil)
|
14
14
|
@time = time
|
15
15
|
@zone_offset = build_zone_offset(zone_offset || time.utc_offset)
|
@@ -69,8 +69,9 @@ module Timing
|
|
69
69
|
time_with_offset.strftime sanitized_format
|
70
70
|
end
|
71
71
|
|
72
|
-
def iso8601
|
73
|
-
|
72
|
+
def iso8601(fraction_digits=0)
|
73
|
+
decimals = fraction_digits > 0 ? ".%#{fraction_digits}N" : ''
|
74
|
+
strftime "%FT%T#{decimals}#{zone_offset.iso8601}"
|
74
75
|
end
|
75
76
|
|
76
77
|
def as_json(*args)
|
data/lib/timing/version.rb
CHANGED
data/timing.gemspec
CHANGED
@@ -22,7 +22,6 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.add_dependency 'treetop', '~> 1.4.0'
|
23
23
|
spec.add_dependency 'transparent_proxy', '~> 0.0', '>= 0.0.5'
|
24
24
|
|
25
|
-
spec.add_development_dependency 'bundler', '~> 1.12'
|
26
25
|
spec.add_development_dependency 'rake', '~> 11.0'
|
27
26
|
spec.add_development_dependency 'minitest', '~> 5.0', '< 5.11'
|
28
27
|
spec.add_development_dependency 'minitest-colorin', '~> 0.1'
|
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.
|
4
|
+
version: 0.2.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gabriel Naiman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-04-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: treetop
|
@@ -44,20 +44,6 @@ dependencies:
|
|
44
44
|
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: 0.0.5
|
47
|
-
- !ruby/object:Gem::Dependency
|
48
|
-
name: bundler
|
49
|
-
requirement: !ruby/object:Gem::Requirement
|
50
|
-
requirements:
|
51
|
-
- - "~>"
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '1.12'
|
54
|
-
type: :development
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
requirements:
|
58
|
-
- - "~>"
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
version: '1.12'
|
61
47
|
- !ruby/object:Gem::Dependency
|
62
48
|
name: rake
|
63
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -170,10 +156,10 @@ extensions: []
|
|
170
156
|
extra_rdoc_files: []
|
171
157
|
files:
|
172
158
|
- ".coveralls.yml"
|
159
|
+
- ".github/workflows/ci.yml"
|
173
160
|
- ".gitignore"
|
174
161
|
- ".ruby-gemset"
|
175
162
|
- ".ruby-version"
|
176
|
-
- ".travis.yml"
|
177
163
|
- Gemfile
|
178
164
|
- LICENSE.txt
|
179
165
|
- README.md
|
@@ -208,7 +194,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
208
194
|
- !ruby/object:Gem::Version
|
209
195
|
version: '0'
|
210
196
|
requirements: []
|
211
|
-
rubygems_version: 3.0.
|
197
|
+
rubygems_version: 3.0.8
|
212
198
|
signing_key:
|
213
199
|
specification_version: 4
|
214
200
|
summary: Time utils
|
data/.travis.yml
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
|
3
|
-
rvm:
|
4
|
-
- 1.9.3
|
5
|
-
- 2.0
|
6
|
-
- 2.1
|
7
|
-
- 2.2
|
8
|
-
- 2.3.0
|
9
|
-
- 2.4.0
|
10
|
-
- 2.5.0
|
11
|
-
- 2.6.0
|
12
|
-
- jruby-1.7.25
|
13
|
-
- jruby-9.1.7.0
|
14
|
-
- ruby-head
|
15
|
-
- jruby-head
|
16
|
-
|
17
|
-
matrix:
|
18
|
-
fast_finish: true
|
19
|
-
allow_failures:
|
20
|
-
- rvm: ruby-head
|
21
|
-
- rvm: jruby-head
|
22
|
-
|
23
|
-
before_install:
|
24
|
-
- rvm all-gemsets do gem uninstall bundler -ax || true
|
25
|
-
- gem install bundler -v "< 2"
|