muster 0.0.1 → 0.0.2
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/.rspec +1 -0
- data/Changes +7 -0
- data/README.md +3 -3
- data/Rakefile +3 -1
- data/lib/muster/rack.rb +2 -1
- data/lib/muster/version.rb +1 -1
- data/muster.gemspec +4 -3
- data/spec/muster/rack_spec.rb +11 -0
- data/spec/spec_helper.rb +3 -0
- metadata +28 -16
data/.rspec
CHANGED
data/Changes
ADDED
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# Muster
|
2
2
|
|
3
|
-
Muster is a gem that turns query
|
4
|
-
easier consumption in things like AR
|
3
|
+
Muster is a gem that turns query strings of varying formats into data structures suitable for
|
4
|
+
easier consumption in things like AR/DataMapper scopes and queries, making API development just a little bit easier.
|
5
5
|
|
6
6
|
require 'muster'
|
7
7
|
|
@@ -72,7 +72,7 @@ Combines many of the strategies above to output ActiveRecord Query interface com
|
|
72
72
|
|
73
73
|
If you are using WillPaginate, you can also pass in :pagination:
|
74
74
|
|
75
|
-
Person.paginate( query[:
|
75
|
+
Person.paginate( query[:pagination] )
|
76
76
|
|
77
77
|
## Installation
|
78
78
|
|
data/Rakefile
CHANGED
data/lib/muster/rack.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'active_support/hash_with_indifferent_access'
|
1
2
|
require 'rack'
|
2
3
|
|
3
4
|
module Muster
|
@@ -61,7 +62,7 @@ module Muster
|
|
61
62
|
request = ::Rack::Request.new(env)
|
62
63
|
parser = self.strategy.kind_of?(Class) ? self.strategy.new(options) : self.strategy
|
63
64
|
|
64
|
-
env[QUERY] ||=
|
65
|
+
env[QUERY] ||= ActiveSupport::HashWithIndifferentAccess.new
|
65
66
|
env[QUERY].merge! parser.parse(request.query_string)
|
66
67
|
env[QUERY_STRING] = request.query_string
|
67
68
|
|
data/lib/muster/version.rb
CHANGED
data/muster.gemspec
CHANGED
@@ -4,8 +4,8 @@ require File.expand_path('../lib/muster/version', __FILE__)
|
|
4
4
|
Gem::Specification.new do |gem|
|
5
5
|
gem.authors = ["Christopher H. Laco"]
|
6
6
|
gem.email = ["claco@chrislaco.com"]
|
7
|
-
gem.description = %q{Muster is a gem that turns query
|
8
|
-
gem.summary = %q{Muster various query string
|
7
|
+
gem.description = %q{Muster is a gem that turns query strings of varying formats into data structures suitable for easier consumption in AR/DataMapper scopes and queries.}
|
8
|
+
gem.summary = %q{Muster various query string formats into a more reusable data structure.}
|
9
9
|
gem.homepage = "https://github.com/claco/muster"
|
10
10
|
|
11
11
|
gem.files = `git ls-files`.split($\)
|
@@ -18,7 +18,8 @@ Gem::Specification.new do |gem|
|
|
18
18
|
gem.add_dependency 'activesupport', '~> 3.0'
|
19
19
|
gem.add_dependency 'rack', '~> 1.4'
|
20
20
|
|
21
|
-
gem.add_development_dependency 'rspec', '~> 2.
|
21
|
+
gem.add_development_dependency 'rspec', '~> 2.11.0'
|
22
22
|
gem.add_development_dependency 'redcarpet', '~> 2.1'
|
23
|
+
gem.add_development_dependency 'simplecov'
|
23
24
|
gem.add_development_dependency 'yard', '~> 0.8.2'
|
24
25
|
end
|
data/spec/muster/rack_spec.rb
CHANGED
@@ -34,4 +34,15 @@ describe Muster::Rack do
|
|
34
34
|
Muster::Rack.new(application, Muster::Strategies::Hash, :field => :order).call(environment)
|
35
35
|
environment[Muster::Rack::QUERY].should == {'name' => 'value', 'order' => 'name'}
|
36
36
|
end
|
37
|
+
|
38
|
+
it 'supports indifferent access' do
|
39
|
+
Muster::Rack.new(application, Muster::Strategies::Hash, :field => :name).call(environment)
|
40
|
+
environment[Muster::Rack::QUERY].should == {'name' => 'value'}
|
41
|
+
|
42
|
+
Muster::Rack.new(application, Muster::Strategies::Hash, :field => :order).call(environment)
|
43
|
+
environment[Muster::Rack::QUERY].should == {'name' => 'value', 'order' => 'name'}
|
44
|
+
|
45
|
+
environment[Muster::Rack::QUERY]['name'].should eq 'value'
|
46
|
+
environment[Muster::Rack::QUERY][:name].should eq 'value'
|
47
|
+
end
|
37
48
|
end
|
data/spec/spec_helper.rb
CHANGED
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.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-10-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
16
|
-
requirement: &
|
16
|
+
requirement: &70144206747920 !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: *70144206747920
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rack
|
27
|
-
requirement: &
|
27
|
+
requirement: &70144206744660 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,21 +32,21 @@ dependencies:
|
|
32
32
|
version: '1.4'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70144206744660
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec
|
38
|
-
requirement: &
|
38
|
+
requirement: &70144206743960 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version: 2.
|
43
|
+
version: 2.11.0
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70144206743960
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: redcarpet
|
49
|
-
requirement: &
|
49
|
+
requirement: &70144206743440 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,21 @@ dependencies:
|
|
54
54
|
version: '2.1'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70144206743440
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: simplecov
|
60
|
+
requirement: &70144206742920 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
66
|
+
type: :development
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *70144206742920
|
58
69
|
- !ruby/object:Gem::Dependency
|
59
70
|
name: yard
|
60
|
-
requirement: &
|
71
|
+
requirement: &70144206601360 !ruby/object:Gem::Requirement
|
61
72
|
none: false
|
62
73
|
requirements:
|
63
74
|
- - ~>
|
@@ -65,9 +76,9 @@ dependencies:
|
|
65
76
|
version: 0.8.2
|
66
77
|
type: :development
|
67
78
|
prerelease: false
|
68
|
-
version_requirements: *
|
69
|
-
description: Muster is a gem that turns query
|
70
|
-
|
79
|
+
version_requirements: *70144206601360
|
80
|
+
description: Muster is a gem that turns query strings of varying formats into data
|
81
|
+
structures suitable for easier consumption in AR/DataMapper scopes and queries.
|
71
82
|
email:
|
72
83
|
- claco@chrislaco.com
|
73
84
|
executables: []
|
@@ -77,6 +88,7 @@ files:
|
|
77
88
|
- .gitignore
|
78
89
|
- .rspec
|
79
90
|
- .yardopts
|
91
|
+
- Changes
|
80
92
|
- Gemfile
|
81
93
|
- LICENSE
|
82
94
|
- README.md
|
@@ -122,7 +134,7 @@ rubyforge_project:
|
|
122
134
|
rubygems_version: 1.8.16
|
123
135
|
signing_key:
|
124
136
|
specification_version: 3
|
125
|
-
summary: Muster various query string
|
137
|
+
summary: Muster various query string formats into a more reusable data structure.
|
126
138
|
test_files:
|
127
139
|
- spec/muster/rack_spec.rb
|
128
140
|
- spec/muster/strategies/active_record_spec.rb
|