mongo-ejson 0.2.6 → 0.2.7

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: b709e3ac5baabde6b8be18306f60950025d62f69cd51081566598b72edb8206c
4
- data.tar.gz: b2adf3445e21d7135302ea6826e8658cb5ad942e4432b411a5e982a92eb4d1de
3
+ metadata.gz: 18fbd9a2f37dcf781e2828d049eee0d87efa889c867cb4324b7b3f7ca358d800
4
+ data.tar.gz: 89a376582e61086039829140b3b5b48fba1f3694ce8055f31fe02f68159c83cc
5
5
  SHA512:
6
- metadata.gz: 9405d00a765d0e4914373e7a8e9537c3cabdce29d72d2147b456b47f5f7f2045f149be2d3625ba633cae86abe138064385adf00052c33019e6fedbdf9cd10eb0
7
- data.tar.gz: dac9dae1f68f10f71f69c17587e3cfe4e0104aa65838a375ccde514c16941b7ed213a28f5885227396bb7314f110901e79adca45b104455e7d37e3f5976d2bdb
6
+ metadata.gz: 60f950727d2c04662de8bd02ab174d810c725d60b0578003b9634af3f05f6cae6cade532c1fc4f4f1fb63d63046f30f216490fb927cda8d293c5eb3a975f8b87
7
+ data.tar.gz: 02a1f4ef6949d5518681a2e958d3a7cbd4e445778e10c6f9ef4005ad3308d1550a5119b41fdcd2f414199b0222e0c005c95264db22f91831012154320986c823
@@ -1,6 +1,7 @@
1
1
  inherit_from: .rubocop_todo.yml
2
2
 
3
3
  AllCops:
4
+ NewCops: enable
4
5
  Exclude:
5
6
  - 'src/**/*'
6
7
  - 'vendor/bundle/**/*'
@@ -27,8 +28,11 @@ Metrics/BlockLength:
27
28
  - describe
28
29
 
29
30
  Style/FrozenStringLiteralComment:
30
- EnforcedStyle: when_needed
31
+ EnforcedStyle: never
31
32
 
32
- Layout/AlignHash:
33
+ Style/ExponentialNotation:
34
+ Enabled: false
35
+
36
+ Layout/HashAlignment:
33
37
  EnforcedHashRocketStyle: table
34
38
  EnforcedColonStyle: table
@@ -1,6 +1,9 @@
1
- sudo: false
2
1
  language: ruby
3
2
  cache: bundler
3
+
4
+ os: linux
5
+ dist: xenial
6
+
4
7
  rvm:
5
8
  - 2.7
6
9
  - 2.6
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mongo-ejson (0.2.6)
4
+ mongo-ejson (0.2.7)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -4,7 +4,7 @@ require 'date'
4
4
  module ParserAction
5
5
  class Ruby < ParserAction::Abstract
6
6
  UNICODE_ESCAPER = proc { |s|
7
- format('\u%04X', s.codepoints[0])
7
+ format('\u%04<char>X', char: s.codepoints[0])
8
8
  }
9
9
 
10
10
  def make_root(_input, _starts_at, _ends_at, elements)
@@ -82,16 +82,12 @@ module ParserAction
82
82
  end
83
83
 
84
84
  # Makes ruby date from mongo Data type
85
- def make_date(input, _starts_at, _ends_at, elements)
85
+ def make_date(_input, _starts_at, _ends_at, elements)
86
86
  value = elements.first
87
87
 
88
88
  case value
89
89
  when String
90
- begin
91
- DateTime.parse(value)
92
- rescue ArgumentError => error
93
- raise ExtendedJSON::ParseError, "Invalid date '#{value}'', expected ISO date"
94
- end
90
+ _date_from_string(value)
95
91
  when Numeric
96
92
  Time.at(value)
97
93
  else
@@ -119,5 +115,17 @@ module ParserAction
119
115
  string.to_i
120
116
  end
121
117
  end
118
+
119
+ DateError = if defined? Date::Error
120
+ Date::Error
121
+ else
122
+ ArgumentError
123
+ end
124
+
125
+ def _date_from_string(string)
126
+ DateTime.parse(string)
127
+ rescue DateError
128
+ raise ExtendedJSON::ParseError, "Invalid date '#{string}'', expected ISO date"
129
+ end
122
130
  end
123
131
  end
@@ -1,3 +1,3 @@
1
1
  class EJSON
2
- VERSION = '0.2.6'.freeze
2
+ VERSION = '0.2.7'.freeze
3
3
  end
@@ -48,7 +48,7 @@ grammar ExtendedJSON
48
48
 
49
49
  string <- double_quote_string / single_quote_string
50
50
 
51
- identifier <- (identifier_start identifier_part+)
51
+ identifier <- (identifier_start identifier_part*)
52
52
  %make_identifier
53
53
 
54
54
  identifier_start <- unicode_letter / "$" / "_" / "\\" unicode_escape
@@ -903,7 +903,7 @@ module ExtendedJSON
903
903
  unless address1 == FAILURE
904
904
  elements0 << address1
905
905
  address2 = FAILURE
906
- remaining0, index2, elements1, address3 = 1, @offset, [], true
906
+ remaining0, index2, elements1, address3 = 0, @offset, [], true
907
907
  until address3 == FAILURE
908
908
  address3 = _read_identifier_part
909
909
  unless address3 == FAILURE
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongo-ejson
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Bondar