shaman 0.2.0 → 0.3.0
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 +4 -4
- data/lib/shaman/version.rb +1 -1
- data/lib/shaman.rb +8 -6
- data/shaman.gemspec +1 -0
- data/spec/lib/shaman_spec.rb +2 -3
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b5147f164fcca5ef1169390c21ad6d57eddbe155
|
4
|
+
data.tar.gz: 45a2f1b2939950fb18325a2c33117c41e8540965
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b4c0f573a2c29875ce4d00c5a96ad6483c8a3c1a51a4627d5c8eb7c7ad90ab54462814d146dd7347c2f7d91a7dd2cc38bbbc904b80b624d5a968648b450b81e6
|
7
|
+
data.tar.gz: 63acb1ada0e6d1d4de81aebb1d5411091c4f3cc1827b4a3a61d080b1ad9301e89bb7d7ebcbdc5eb9a06fa0d9450340dd317d60ac3ed7ef7d2e3fbf5a2c1f9185
|
data/lib/shaman/version.rb
CHANGED
data/lib/shaman.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'shaman/version'
|
2
2
|
require 'digest'
|
3
3
|
require 'oj'
|
4
|
+
require 'rack'
|
4
5
|
require 'active_support/core_ext/hash/conversions'
|
5
6
|
|
6
7
|
class Shaman
|
@@ -30,20 +31,21 @@ class Shaman
|
|
30
31
|
def parsed_json
|
31
32
|
@parsed_json ||= Oj.load(body)
|
32
33
|
rescue Oj::ParseError
|
33
|
-
|
34
|
+
false
|
34
35
|
end
|
35
36
|
|
36
37
|
def parsed_xml
|
37
38
|
@parsed_xml ||= Hash.from_xml(body)
|
38
39
|
rescue REXML::ParseException
|
39
|
-
|
40
|
+
false
|
41
|
+
end
|
42
|
+
|
43
|
+
def parsed_form
|
44
|
+
Rack::Utils.parse_nested_query(body)
|
40
45
|
end
|
41
46
|
|
42
47
|
def prepped_body
|
43
|
-
|
44
|
-
return parsed_json if valid_json?
|
45
|
-
return parsed_xml if valid_xml?
|
46
|
-
body
|
48
|
+
parsed_json or parsed_xml or parsed_form
|
47
49
|
end
|
48
50
|
|
49
51
|
def sorted_hash(obj)
|
data/shaman.gemspec
CHANGED
data/spec/lib/shaman_spec.rb
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'oj'
|
2
1
|
require 'shaman'
|
3
2
|
|
4
3
|
describe Shaman do
|
@@ -42,8 +41,8 @@ describe Shaman do
|
|
42
41
|
end
|
43
42
|
context "when request is not valid JSON"
|
44
43
|
let(:body) { %q[{foo] }
|
45
|
-
it "creates a sha of the body" do
|
46
|
-
expect(subject).to eq('
|
44
|
+
it "creates a sha of the form encoded parsed body" do
|
45
|
+
expect(subject).to eq('c22147b34317edaa3ab976ae1bff8712')
|
47
46
|
end
|
48
47
|
|
49
48
|
context "with nested valid JSON" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shaman
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Micah Cooper
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-08-
|
11
|
+
date: 2014-08-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: oj
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rack
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: activesupport
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|