json-streamer 1.2.1 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +23 -1
- data/lib/json/streamer/json_streamer.rb +3 -2
- data/lib/json/streamer/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aac1b068e94999ad0ef0f317d819273b14069fdf
|
4
|
+
data.tar.gz: e9245d59c50a842953d63bfedb3aed2859b15c75
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 93f9766a9086fb81f43e96f3d2c267b434148b9bcdb3bfdef2595a187507f056494b9a00955cc29a49cfc6f56883a7b04cb5d601f66661e9366203b576c71b9f
|
7
|
+
data.tar.gz: b5c174919a39b4b8d03ee05a6888e0b6cf134335bf3bf2ccdeaebda88fa0a1eeb8eae99875ba8e72d7e68f7b80f2e8505030570a92aa668a1912c74ee9370210
|
data/README.md
CHANGED
@@ -49,7 +49,7 @@ Or install it yourself as:
|
|
49
49
|
require 'json/streamer'
|
50
50
|
```
|
51
51
|
|
52
|
-
### v1.2 API
|
52
|
+
### v1.2 (and above) API
|
53
53
|
|
54
54
|
Check the unit tests for more examples ([spec/streamer_spec.rb](spec/json/streamer/json_streamer_spec.rb)).
|
55
55
|
|
@@ -137,6 +137,28 @@ Output:
|
|
137
137
|
{}
|
138
138
|
```
|
139
139
|
|
140
|
+
#### Symbolize keys
|
141
|
+
|
142
|
+
Since [v1.3.0](https://github.com/thisismydesign/json-streamer/releases/tag/v1.3.0)
|
143
|
+
|
144
|
+
```ruby
|
145
|
+
streamer.get(nesting_level:0, symbolize_keys: true) do |object|
|
146
|
+
p object
|
147
|
+
end
|
148
|
+
```
|
149
|
+
|
150
|
+
Input:
|
151
|
+
```json
|
152
|
+
{
|
153
|
+
"obj1" : {"key" : "value"}
|
154
|
+
}
|
155
|
+
```
|
156
|
+
|
157
|
+
Output:
|
158
|
+
```json
|
159
|
+
{:obj1=>{:key=>"value"}}
|
160
|
+
```
|
161
|
+
|
140
162
|
#### Passing IO later (EventMachine-style)
|
141
163
|
|
142
164
|
```ruby
|
@@ -27,10 +27,11 @@ module Json
|
|
27
27
|
end
|
28
28
|
|
29
29
|
# Callbacks containing `yield` have to be defined in the method called via block otherwise yield won't work
|
30
|
-
def get(nesting_level: -1, key: nil, yield_values: true)
|
30
|
+
def get(nesting_level: -1, key: nil, yield_values: true, symbolize_keys: false)
|
31
31
|
@yield_level = nesting_level
|
32
32
|
@yield_key = key
|
33
33
|
@yield_values = yield_values
|
34
|
+
@symbolize_keys = symbolize_keys
|
34
35
|
|
35
36
|
@parser.value do |v|
|
36
37
|
value(v) { |desired_object| yield desired_object }
|
@@ -56,7 +57,7 @@ module Json
|
|
56
57
|
end
|
57
58
|
|
58
59
|
def key(k)
|
59
|
-
@current_key = k
|
60
|
+
@current_key = @symbolize_keys ? k.to_sym : k
|
60
61
|
end
|
61
62
|
|
62
63
|
def value(value)
|