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 CHANGED
@@ -1,2 +1,3 @@
1
1
  --color
2
+ --fail-fast
2
3
  --format progress
data/Changes ADDED
@@ -0,0 +1,7 @@
1
+ = 0.0.2
2
+
3
+ * rack env['muster.query'] now supports indifferent access
4
+
5
+ = 0.0.1
6
+
7
+ * Initial Release
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Muster
2
2
 
3
- Muster is a gem that turns query string options of varying formats into data structures suitable for
4
- easier consumption in things like AR and DataMapper scopes and queries, making API development just a little bit easier.
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[:paginate] )
75
+ Person.paginate( query[:pagination] )
76
76
 
77
77
  ## Installation
78
78
 
data/Rakefile CHANGED
@@ -4,6 +4,8 @@ require 'rspec/core/rake_task'
4
4
  require 'yard'
5
5
  require 'yard/rake/yardoc_task'
6
6
 
7
- RSpec::Core::RakeTask.new(:spec)
7
+ RSpec::Core::RakeTask.new(:spec) do |t|
8
+ t.verbose = false
9
+ end
8
10
 
9
11
  YARD::Rake::YardocTask.new(:yard)
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
 
@@ -1,4 +1,4 @@
1
1
  module Muster
2
2
  # Current version of Muster
3
- VERSION = "0.0.1"
3
+ VERSION = "0.0.2"
4
4
  end
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 string options in varying formats into data structures suitable for use in AR scopes and queryies.}
8
- gem.summary = %q{Muster various query string options into AR query compatable options.}
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.10.0'
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
@@ -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
@@ -1,3 +1,6 @@
1
+ require 'simplecov'
2
+ SimpleCov.start
3
+
1
4
  require 'rack/mock'
2
5
  require 'muster'
3
6
 
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.1
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-06-25 00:00:00.000000000 Z
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: &70300796875420 !ruby/object:Gem::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: *70300796875420
24
+ version_requirements: *70144206747920
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rack
27
- requirement: &70300796873700 !ruby/object:Gem::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: *70300796873700
35
+ version_requirements: *70144206744660
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &70300796873220 !ruby/object:Gem::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.10.0
43
+ version: 2.11.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70300796873220
46
+ version_requirements: *70144206743960
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: redcarpet
49
- requirement: &70300796872700 !ruby/object:Gem::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: *70300796872700
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: &70300796872220 !ruby/object:Gem::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: *70300796872220
69
- description: Muster is a gem that turns query string options in varying formats into
70
- data structures suitable for use in AR scopes and queryies.
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 options into AR query compatable options.
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