blanket_wrapper 3.0.1 → 3.0.2

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: a1f42e4930202889333a3585669cffcc68d23410
4
- data.tar.gz: 2f4d301d33a423d1ffba5e3db4165da3d29f77a3
3
+ metadata.gz: 24773c743dac5c40c641b4452a192689228c5ef3
4
+ data.tar.gz: f127d884eb48d0ce229711b78edd7d546e4e54a5
5
5
  SHA512:
6
- metadata.gz: 8284341843510f153cc7905b37a56ebf8251b1f77ecf0f9b1c36ef2fce91e5ee4d489fd695dfd2db494386d671dac21a4329cc3d5340dfd4a557c17400f3438f
7
- data.tar.gz: e437779ab037bd36571027da066e2d9a59df625ad43d81cb70f4494d9cb090b7435f84154a24d69a814d315320934ddee5e53f59504ae0c8ef85a3aa8fbf455e
6
+ metadata.gz: 9e2f063df461e4b86dd7a38fd0e295f21d1b43dc588365bc897cd6ad033de5f4fa12cc30f6acd8adb9aff2d94bee114859f934aeca610ef89de4bd3166d0557e
7
+ data.tar.gz: 7da22eaf2ef8370b1389151e2bd6e7c0faf1d85b76224046f3c8e81495c39785ab25e0be0ccba7359558c5534d06c56f6577bf08d8e2ae2c627f3544a53624b0
@@ -32,7 +32,7 @@ module Blanket
32
32
  RecursiveOpenStruct.new item, recurse_over_arrays: true
33
33
  end
34
34
 
35
- (parsed.count == 1) ? parsed.first : parsed
35
+ (json.is_a? Array) ? parsed : parsed.first
36
36
  end
37
37
 
38
38
  end
@@ -1,4 +1,4 @@
1
1
  module Blanket
2
2
  # Current gem version
3
- VERSION = "3.0.1"
3
+ VERSION = "3.0.2"
4
4
  end
@@ -4,8 +4,25 @@ require 'blanket/response'
4
4
  describe "Blanket::Response" do
5
5
  describe "Dynamic attribute accessors" do
6
6
  context "With single objects" do
7
+ let :payload do
8
+ {
9
+ title: "Something",
10
+ desc: {
11
+ someKey: "someValue",
12
+ anotherKey:"value"
13
+ },
14
+ main_item: {
15
+ values:[
16
+ { quantity: 1 },
17
+ { quantity: 2 },
18
+ { quantity: 3 }
19
+ ]
20
+ }
21
+ }.to_json
22
+ end
23
+
7
24
  let :response do
8
- Blanket::Response.new('{"title": "Something", "desc":{"someKey":"someValue","anotherKey":"value"},"main_item":{"values":[{"quantity": 1}, {"quantity": 2}, {"quantity": 3}]}}')
25
+ Blanket::Response.new(payload)
9
26
  end
10
27
 
11
28
  it "can access a surface property from a json string as a method" do
@@ -22,8 +39,12 @@ describe "Blanket::Response" do
22
39
  end
23
40
 
24
41
  context "With an array of objects" do
42
+ let(:title1) { "Something" }
43
+ let(:title2) { "Something else" }
44
+ let(:payload) { [{ title: title1 }, { title: title2 }].to_json }
45
+
25
46
  let :response do
26
- Blanket::Response.new('[{"title": "Something"}, {"title": "Something else"}]')
47
+ Blanket::Response.new(payload)
27
48
  end
28
49
 
29
50
  let :titles do
@@ -31,7 +52,18 @@ describe "Blanket::Response" do
31
52
  end
32
53
 
33
54
  it "can access methods from each item" do
34
- expect(titles).to match_array(["Something", "Something else"])
55
+ expect(titles).to match_array([title1, title2])
56
+ end
57
+
58
+ context "With an array containing a single object" do
59
+ let(:payload) { [{ title: title1 }].to_json }
60
+ let :response do
61
+ Blanket::Response.new(payload)
62
+ end
63
+
64
+ it "keeps the payload as an array" do
65
+ expect(response.first).to be
66
+ end
35
67
  end
36
68
  end
37
69
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blanket_wrapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 3.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bruno Abrantes
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-21 00:00:00.000000000 Z
11
+ date: 2015-06-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty