blanket_wrapper 3.0.1 → 3.0.2

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 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