shaman 0.3.0 → 0.3.1

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: b5147f164fcca5ef1169390c21ad6d57eddbe155
4
- data.tar.gz: 45a2f1b2939950fb18325a2c33117c41e8540965
3
+ metadata.gz: c7db0e52c9a2ccb6f3b34bb1001866e1c363fc9b
4
+ data.tar.gz: 234110ce510d2ee3315e9a9921610e70fc97e499
5
5
  SHA512:
6
- metadata.gz: b4c0f573a2c29875ce4d00c5a96ad6483c8a3c1a51a4627d5c8eb7c7ad90ab54462814d146dd7347c2f7d91a7dd2cc38bbbc904b80b624d5a968648b450b81e6
7
- data.tar.gz: 63acb1ada0e6d1d4de81aebb1d5411091c4f3cc1827b4a3a61d080b1ad9301e89bb7d7ebcbdc5eb9a06fa0d9450340dd317d60ac3ed7ef7d2e3fbf5a2c1f9185
6
+ metadata.gz: 91f34add21c17559b9a39c70d0b6ec08c645a58c45b9c4c8a0dee776c174f9105720eb65c53cadac246c66221b4e1f8bdf3f019c6340d05c849d9cce83fec9ac
7
+ data.tar.gz: 8f4ac4f7d435e73647c79bae32ad96db003fb29adbc88908c8eb6d81bd019a37fa6bf4ff1844e3e74b5213f02001be0c6a9261b5e60d8e24419821808bd189a2
@@ -28,14 +28,19 @@ class Shaman
28
28
  body.class == Hash
29
29
  end
30
30
 
31
+ def body_hash
32
+ return body if valid_hash?
33
+ false
34
+ end
35
+
31
36
  def parsed_json
32
- @parsed_json ||= Oj.load(body)
37
+ Oj.load(body)
33
38
  rescue Oj::ParseError
34
39
  false
35
40
  end
36
41
 
37
42
  def parsed_xml
38
- @parsed_xml ||= Hash.from_xml(body)
43
+ Hash.from_xml(body)
39
44
  rescue REXML::ParseException
40
45
  false
41
46
  end
@@ -45,7 +50,7 @@ class Shaman
45
50
  end
46
51
 
47
52
  def prepped_body
48
- parsed_json or parsed_xml or parsed_form
53
+ body_hash or parsed_json or parsed_xml or parsed_form
49
54
  end
50
55
 
51
56
  def sorted_hash(obj)
@@ -1,3 +1,3 @@
1
1
  class Shaman
2
- VERSION = "0.3.0"
2
+ VERSION = "0.3.1"
3
3
  end
@@ -33,6 +33,14 @@ describe Shaman do
33
33
  described_class.new(body).sha
34
34
  end
35
35
 
36
+ context "when body is a hash" do
37
+ let(:body) { {"foo"=> "bar"} }
38
+ it "creates a sha of the parsed JSON" do
39
+ expect(subject).to eq('f59494512dabbab0cd0a421c43834271')
40
+ end
41
+
42
+ end
43
+
36
44
  context "when request is valid JSON" do
37
45
  let(:body) { %q[{"foo":"bar"}] }
38
46
  it "creates a sha of the parsed JSON" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shaman
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Micah Cooper