tincan-api 1.2.1 → 1.2.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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/tincan.rb +16 -2
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9f64e7a7649965aeac3ef3832c939a414e02dc74
4
- data.tar.gz: e67d61aef060c0a2cfbc50da62fb09a98cf0fcac
3
+ metadata.gz: 9fc6f3001af185fdce2a88b1c3abbb07067b7c8c
4
+ data.tar.gz: 61d654441022c1c9a4f5e17fdf925ad6b2fd4799
5
5
  SHA512:
6
- metadata.gz: ae59859e7eb558c56eac36f91dc417d4f867af4b5feaca04273a9d00adb7432e8fa8bff0672058ecdf73c203a5b0f329db605234dd37cfa112c05991b7ae2924
7
- data.tar.gz: 211ef49e12844a42b505acdae60afcba8e477dc505996cdc91c603d087bec94ebce4e5e8d7fb9a09092950130f113109d07ae59f8d9093b47f5a0d517326893f
6
+ metadata.gz: 371f62ac06857b64d0575b4d152b1525c2693c0fcce932697610c0ca6f4b3145d08e0da36fac0db17dc98cf0251a40f6350cda4a28c2f04625aeffb49fbc0cc2
7
+ data.tar.gz: 9895e8f1e13cc422c0f6de4b49b86d60f42a9c6d36e3406bc29b3a644ebdfc2b0a043bc478ded39a17f4b58102c70e18bcc0c2bbe8e793bada4dc2cd2c52a716
@@ -17,9 +17,13 @@ class TinCan
17
17
  when Hash
18
18
  return read_response(req(method, query.to_json))
19
19
  when String
20
- return read_response(req(method, query)) # Assume it's JSON
20
+ if is_json?(query)
21
+ return read_response(req(method, query))
22
+ else
23
+ raise ArgumentError, "Query must be valid JSON if it is a String"
24
+ end
21
25
  else
22
- raise "Query needs to either be a hash or a JSON string"
26
+ raise ArgumentError, "Query argument must be a string or hash"
23
27
  end
24
28
  end
25
29
  end
@@ -46,4 +50,14 @@ class TinCan
46
50
  res = JSON.parse(res)
47
51
  return res["data"] || res["success"] || res["error"]
48
52
  end
53
+
54
+ def is_json?(json)
55
+ return false unless json.is_a?(String)
56
+ begin
57
+ JSON.parse(json)
58
+ return true
59
+ rescue JSON::ParserError
60
+ return false
61
+ end
62
+ end
49
63
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tincan-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Charles Hollenbeck
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-08 00:00:00.000000000 Z
11
+ date: 2014-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty