panko_serializer 0.1.3 → 0.1.4

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: ba52569ddbbd4f0de8ea0cd554f7df5fdf78340e
4
- data.tar.gz: ae21f470b06c1576077e2f56211fb00b36c91118
3
+ metadata.gz: b721121db1bee35804d8beda87689c2a76ef7c52
4
+ data.tar.gz: 7b6610f84d75aa9f5c929833598a3467499f22d7
5
5
  SHA512:
6
- metadata.gz: 9acdd06de3e6268bbacdcdc97e897357534253728cbac9f8311682ccd5c468abccce8d89226cb7d1c7b811c67ff4a103951b5030128fdf0865f0dfd62823e43f
7
- data.tar.gz: a4aa910864f1aa16ac0a57f4004a8b9698f06233e2ad83c8193d2b7fb22cbd26a17871248e34c2e84fe78e888456392c375ef8c73e4cec0ba00faf8d1885a00c
6
+ metadata.gz: 9ea137eb8d6229fee333c1dca93b0646bf072116f2541ec2a4a9dba80e25f55fa226dda3a95fd70780ba78dd1eae5e28438dadb109062c38656f38512ec67813
7
+ data.tar.gz: e01f5ac93e458bfad776aa0e64d7cf168095688e6f9d8d2eeb19d2329e3eab4861aa2ff6d09736d673aa225872996df65471451685957168b31089d1eb856cf7
data/lib/panko.rb CHANGED
@@ -2,6 +2,7 @@
2
2
  require "panko/version"
3
3
  require "panko/serializer"
4
4
  require "panko/array_serializer"
5
+ require "panko/response"
5
6
 
6
7
 
7
8
  # C Extension
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+ require "oj"
3
+
4
+ module Panko
5
+ class Response
6
+ def initialize(data)
7
+ @data = data
8
+ end
9
+
10
+ def to_json(options = nil)
11
+ writer = Oj::StringWriter.new(mode: :rails)
12
+
13
+ writer.push_object
14
+
15
+ @data.each do |key, value|
16
+ if value.is_a?(Panko::ArraySerializer) || value.is_a?(Panko::Serializer)
17
+ writer.push_json(value.to_json, key.to_s)
18
+ else
19
+ writer.push_value(value, key.to_s)
20
+ end
21
+ end
22
+
23
+ writer.pop
24
+
25
+ writer.to_s
26
+ end
27
+ end
28
+ end
data/lib/panko/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Panko
3
- VERSION = "0.1.3"
3
+ VERSION = "0.1.4"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: panko_serializer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yosi Attias
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-20 00:00:00.000000000 Z
11
+ date: 2017-08-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -140,6 +140,7 @@ files:
140
140
  - lib/panko.rb
141
141
  - lib/panko/array_serializer.rb
142
142
  - lib/panko/cache.rb
143
+ - lib/panko/response.rb
143
144
  - lib/panko/serialization_descriptor.rb
144
145
  - lib/panko/serializer.rb
145
146
  - lib/panko/version.rb