muster 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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