shaman 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/shaman.rb +8 -3
- data/lib/shaman/version.rb +1 -1
- data/spec/lib/shaman_spec.rb +8 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c7db0e52c9a2ccb6f3b34bb1001866e1c363fc9b
|
4
|
+
data.tar.gz: 234110ce510d2ee3315e9a9921610e70fc97e499
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 91f34add21c17559b9a39c70d0b6ec08c645a58c45b9c4c8a0dee776c174f9105720eb65c53cadac246c66221b4e1f8bdf3f019c6340d05c849d9cce83fec9ac
|
7
|
+
data.tar.gz: 8f4ac4f7d435e73647c79bae32ad96db003fb29adbc88908c8eb6d81bd019a37fa6bf4ff1844e3e74b5213f02001be0c6a9261b5e60d8e24419821808bd189a2
|
data/lib/shaman.rb
CHANGED
@@ -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
|
-
|
37
|
+
Oj.load(body)
|
33
38
|
rescue Oj::ParseError
|
34
39
|
false
|
35
40
|
end
|
36
41
|
|
37
42
|
def parsed_xml
|
38
|
-
|
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)
|
data/lib/shaman/version.rb
CHANGED
data/spec/lib/shaman_spec.rb
CHANGED
@@ -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
|