muster 0.0.3 → 0.0.4
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.
- data/Changes +4 -0
- data/lib/muster/rack.rb +2 -2
- data/lib/muster/version.rb +1 -1
- data/spec/muster/rack_spec.rb +7 -0
- metadata +13 -13
data/Changes
CHANGED
data/lib/muster/rack.rb
CHANGED
|
@@ -8,7 +8,7 @@ module Muster
|
|
|
8
8
|
# @example
|
|
9
9
|
#
|
|
10
10
|
# app = Rack::Builder.new do
|
|
11
|
-
# use Rack
|
|
11
|
+
# use Muster::Rack, Muster::Strategies::Hash, :fields => [:name, :choices]
|
|
12
12
|
# end
|
|
13
13
|
#
|
|
14
14
|
# # GET /?name=bob&choices=1&choices=2
|
|
@@ -62,7 +62,7 @@ module Muster
|
|
|
62
62
|
request = ::Rack::Request.new(env)
|
|
63
63
|
parser = self.strategy.kind_of?(Class) ? self.strategy.new(options) : self.strategy
|
|
64
64
|
|
|
65
|
-
env[QUERY] ||=
|
|
65
|
+
env[QUERY] ||= Muster::Results.new({})
|
|
66
66
|
env[QUERY].merge! parser.parse(request.query_string)
|
|
67
67
|
env[QUERY_STRING] = request.query_string
|
|
68
68
|
|
data/lib/muster/version.rb
CHANGED
data/spec/muster/rack_spec.rb
CHANGED
|
@@ -10,6 +10,7 @@ describe Muster::Rack do
|
|
|
10
10
|
middleware.call(environment)
|
|
11
11
|
|
|
12
12
|
environment[Muster::Rack::QUERY].should == {'name' => 'value', 'order' => 'name'}
|
|
13
|
+
environment[Muster::Rack::QUERY].should be_an_instance_of(Muster::Results)
|
|
13
14
|
end
|
|
14
15
|
|
|
15
16
|
it 'accepts options for middlewhere' do
|
|
@@ -18,6 +19,7 @@ describe Muster::Rack do
|
|
|
18
19
|
middleware.call(environment)
|
|
19
20
|
|
|
20
21
|
environment[Muster::Rack::QUERY].should == {'name' => 'value'}
|
|
22
|
+
environment[Muster::Rack::QUERY].should be_an_instance_of(Muster::Results)
|
|
21
23
|
end
|
|
22
24
|
|
|
23
25
|
it 'accepts a strategy instance' do
|
|
@@ -25,22 +27,27 @@ describe Muster::Rack do
|
|
|
25
27
|
Muster::Rack.new(application, strategy).call(environment)
|
|
26
28
|
|
|
27
29
|
environment[Muster::Rack::QUERY].should == {'name' => 'value'}
|
|
30
|
+
environment[Muster::Rack::QUERY].should be_an_instance_of(Muster::Results)
|
|
28
31
|
end
|
|
29
32
|
|
|
30
33
|
it 'merges multiple strategies into one result' do
|
|
31
34
|
Muster::Rack.new(application, Muster::Strategies::Hash, :field => :name).call(environment)
|
|
32
35
|
environment[Muster::Rack::QUERY].should == {'name' => 'value'}
|
|
36
|
+
environment[Muster::Rack::QUERY].should be_an_instance_of(Muster::Results)
|
|
33
37
|
|
|
34
38
|
Muster::Rack.new(application, Muster::Strategies::Hash, :field => :order).call(environment)
|
|
35
39
|
environment[Muster::Rack::QUERY].should == {'name' => 'value', 'order' => 'name'}
|
|
40
|
+
environment[Muster::Rack::QUERY].should be_an_instance_of(Muster::Results)
|
|
36
41
|
end
|
|
37
42
|
|
|
38
43
|
it 'supports indifferent access' do
|
|
39
44
|
Muster::Rack.new(application, Muster::Strategies::Hash, :field => :name).call(environment)
|
|
40
45
|
environment[Muster::Rack::QUERY].should == {'name' => 'value'}
|
|
46
|
+
environment[Muster::Rack::QUERY].should be_an_instance_of(Muster::Results)
|
|
41
47
|
|
|
42
48
|
Muster::Rack.new(application, Muster::Strategies::Hash, :field => :order).call(environment)
|
|
43
49
|
environment[Muster::Rack::QUERY].should == {'name' => 'value', 'order' => 'name'}
|
|
50
|
+
environment[Muster::Rack::QUERY].should be_an_instance_of(Muster::Results)
|
|
44
51
|
|
|
45
52
|
environment[Muster::Rack::QUERY]['name'].should eq 'value'
|
|
46
53
|
environment[Muster::Rack::QUERY][:name].should eq 'value'
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: muster
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.4
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -13,7 +13,7 @@ date: 2012-10-06 00:00:00.000000000 Z
|
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: activesupport
|
|
16
|
-
requirement: &
|
|
16
|
+
requirement: &70339120081800 !ruby/object:Gem::Requirement
|
|
17
17
|
none: false
|
|
18
18
|
requirements:
|
|
19
19
|
- - ~>
|
|
@@ -21,10 +21,10 @@ dependencies:
|
|
|
21
21
|
version: '3.0'
|
|
22
22
|
type: :runtime
|
|
23
23
|
prerelease: false
|
|
24
|
-
version_requirements: *
|
|
24
|
+
version_requirements: *70339120081800
|
|
25
25
|
- !ruby/object:Gem::Dependency
|
|
26
26
|
name: rack
|
|
27
|
-
requirement: &
|
|
27
|
+
requirement: &70339120081080 !ruby/object:Gem::Requirement
|
|
28
28
|
none: false
|
|
29
29
|
requirements:
|
|
30
30
|
- - ~>
|
|
@@ -32,10 +32,10 @@ dependencies:
|
|
|
32
32
|
version: '1.4'
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
|
-
version_requirements: *
|
|
35
|
+
version_requirements: *70339120081080
|
|
36
36
|
- !ruby/object:Gem::Dependency
|
|
37
37
|
name: rspec
|
|
38
|
-
requirement: &
|
|
38
|
+
requirement: &70339120080560 !ruby/object:Gem::Requirement
|
|
39
39
|
none: false
|
|
40
40
|
requirements:
|
|
41
41
|
- - ~>
|
|
@@ -43,10 +43,10 @@ dependencies:
|
|
|
43
43
|
version: 2.11.0
|
|
44
44
|
type: :development
|
|
45
45
|
prerelease: false
|
|
46
|
-
version_requirements: *
|
|
46
|
+
version_requirements: *70339120080560
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
48
|
name: redcarpet
|
|
49
|
-
requirement: &
|
|
49
|
+
requirement: &70339120080100 !ruby/object:Gem::Requirement
|
|
50
50
|
none: false
|
|
51
51
|
requirements:
|
|
52
52
|
- - ~>
|
|
@@ -54,10 +54,10 @@ dependencies:
|
|
|
54
54
|
version: '2.1'
|
|
55
55
|
type: :development
|
|
56
56
|
prerelease: false
|
|
57
|
-
version_requirements: *
|
|
57
|
+
version_requirements: *70339120080100
|
|
58
58
|
- !ruby/object:Gem::Dependency
|
|
59
59
|
name: simplecov
|
|
60
|
-
requirement: &
|
|
60
|
+
requirement: &70339120079660 !ruby/object:Gem::Requirement
|
|
61
61
|
none: false
|
|
62
62
|
requirements:
|
|
63
63
|
- - ! '>='
|
|
@@ -65,10 +65,10 @@ dependencies:
|
|
|
65
65
|
version: '0'
|
|
66
66
|
type: :development
|
|
67
67
|
prerelease: false
|
|
68
|
-
version_requirements: *
|
|
68
|
+
version_requirements: *70339120079660
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: yard
|
|
71
|
-
requirement: &
|
|
71
|
+
requirement: &70339120079120 !ruby/object:Gem::Requirement
|
|
72
72
|
none: false
|
|
73
73
|
requirements:
|
|
74
74
|
- - ~>
|
|
@@ -76,7 +76,7 @@ dependencies:
|
|
|
76
76
|
version: 0.8.2
|
|
77
77
|
type: :development
|
|
78
78
|
prerelease: false
|
|
79
|
-
version_requirements: *
|
|
79
|
+
version_requirements: *70339120079120
|
|
80
80
|
description: Muster is a gem that turns query strings of varying formats into data
|
|
81
81
|
structures suitable for easier consumption in AR/DataMapper scopes and queries.
|
|
82
82
|
email:
|