mongo-ejson 0.2.6 → 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: 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