tincan-api 1.2.1 → 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
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