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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a6f7f1c4fd17162a3834262b95b79828edf68ff7
4
- data.tar.gz: 8cd559f9fe0076faae7e2fd1cc0bc91d496a22bc
3
+ metadata.gz: aac1b068e94999ad0ef0f317d819273b14069fdf
4
+ data.tar.gz: e9245d59c50a842953d63bfedb3aed2859b15c75
5
5
  SHA512:
6
- metadata.gz: ac5ea81b891cbaaa218ba528694e0f6b9bd0a5d566630bbe962776d484f02f0d96d766375437f3f10d5aae661fd14fb65f4e7dcd4c10f759a7baffa9b83f89f3
7
- data.tar.gz: b04d3d5a0c5266aa26393cd2194044ee5101bde08dd2e34fe4d3f02c26281f24141ddb9bab5a8dfdb6305dce820d93bd6257cda22eecee105387b69be034771a
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)
@@ -1,5 +1,5 @@
1
1
  module Json
2
2
  module Streamer
3
- VERSION = "1.2.1"
3
+ VERSION = "1.3.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json-streamer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - thisismydesign