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 +4 -4
- data/.rubocop.yml +6 -2
- data/.travis.yml +4 -1
- data/Gemfile.lock +1 -1
- data/lib/ejson/parser_action/ruby.rb +15 -7
- data/lib/ejson/version.rb +1 -1
- data/src/ejson.peg +1 -1
- data/src/ejson.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 18fbd9a2f37dcf781e2828d049eee0d87efa889c867cb4324b7b3f7ca358d800
|
4
|
+
data.tar.gz: 89a376582e61086039829140b3b5b48fba1f3694ce8055f31fe02f68159c83cc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 60f950727d2c04662de8bd02ab174d810c725d60b0578003b9634af3f05f6cae6cade532c1fc4f4f1fb63d63046f30f216490fb927cda8d293c5eb3a975f8b87
|
7
|
+
data.tar.gz: 02a1f4ef6949d5518681a2e958d3a7cbd4e445778e10c6f9ef4005ad3308d1550a5119b41fdcd2f414199b0222e0c005c95264db22f91831012154320986c823
|
data/.rubocop.yml
CHANGED
@@ -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:
|
31
|
+
EnforcedStyle: never
|
31
32
|
|
32
|
-
|
33
|
+
Style/ExponentialNotation:
|
34
|
+
Enabled: false
|
35
|
+
|
36
|
+
Layout/HashAlignment:
|
33
37
|
EnforcedHashRocketStyle: table
|
34
38
|
EnforcedColonStyle: table
|
data/.travis.yml
CHANGED
data/Gemfile.lock
CHANGED
@@ -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%
|
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(
|
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
|
-
|
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
|
data/lib/ejson/version.rb
CHANGED
data/src/ejson.peg
CHANGED
@@ -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
|
data/src/ejson.rb
CHANGED
@@ -903,7 +903,7 @@ module ExtendedJSON
|
|
903
903
|
unless address1 == FAILURE
|
904
904
|
elements0 << address1
|
905
905
|
address2 = FAILURE
|
906
|
-
remaining0, index2, elements1, address3 =
|
906
|
+
remaining0, index2, elements1, address3 = 0, @offset, [], true
|
907
907
|
until address3 == FAILURE
|
908
908
|
address3 = _read_identifier_part
|
909
909
|
unless address3 == FAILURE
|