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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 666ee7049eb29d589431eec63fbf54a6e79a75f4ff418e5a3fa13c54cea11ae5
4
- data.tar.gz: 6e32f64a0c6568637090b038f9d0f30ba936925ede0bb6b18c1168c429e38f14
3
+ metadata.gz: 6abb23fdcc3b41f24244fe8f84c359b9dabd79d23b761372f22e6b2d5a491daa
4
+ data.tar.gz: 3cb211dfff78e9426c01a7e2a0c3c22b51f80ff4a347557172ee9d09982c0651
5
5
  SHA512:
6
- metadata.gz: 0cd864c3df88c5bf92863df0becba24a1dd144797f317d529b2f10cdc880ab4fda53a64f0f664a2c4caf5f62c24419128edefacb75f255c0b2664cbaae26c75a
7
- data.tar.gz: 20fb404748aa83b1bdd47e0d6c8e5565336d7c0007acaf885095a898a24208e333f6de3b348a68f15fc812e1a8189f3ab68b5da81fe7feded8eafc3681bc1fac
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
  [![Gem Version](https://badge.fury.io/rb/timing.svg)](https://rubygems.org/gems/timing)
4
- [![Build Status](https://travis-ci.org/gabynaiman/timing.svg?branch=master)](https://travis-ci.org/gabynaiman/timing)
4
+ [![CI](https://github.com/gabynaiman/timing/actions/workflows/ci.yml/badge.svg)](https://github.com/gabynaiman/timing/actions/workflows/ci.yml)
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
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(Timestamp0)
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
 
@@ -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
- strftime "%FT%T#{zone_offset.iso8601}"
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)
@@ -1,3 +1,3 @@
1
1
  module Timing
2
- VERSION = '0.2.7'
2
+ VERSION = '0.2.8'
3
3
  end
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.7
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: 2020-10-18 00:00:00.000000000 Z
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.6
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"