muster 0.0.10 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
@@ -5,15 +5,14 @@ describe Muster::Strategies::JoinsExpression do
5
5
  subject { Muster::Strategies::JoinsExpression.new(options) }
6
6
 
7
7
  describe '#parse' do
8
-
9
8
  context 'by default' do
10
9
  it 'returns empty hash for empty query string' do
11
- subject.parse('').should == {}
10
+ subject.parse('').should eq({})
12
11
  subject.parse('').should be_an_instance_of(Muster::Results)
13
12
  end
14
13
 
15
14
  it 'returns hash of all key/value pairs' do
16
- subject.parse('joins=author,author.foop').should eq({ "joins" => ["author", {"author" => "foop"}] })
15
+ subject.parse('joins=author,author.foop').should eq('joins' => ['author', { 'author' => 'foop' }])
17
16
  end
18
17
 
19
18
  it 'hash supports indifferent key access' do
@@ -23,11 +22,11 @@ describe Muster::Strategies::JoinsExpression do
23
22
  end
24
23
 
25
24
  it 'combines multiple expressions into an array' do
26
- subject.parse('joins=author,activity').should == { 'joins' => ['author', 'activity'] }
25
+ subject.parse('joins=author,activity').should eq('joins' => ['author', 'activity'])
27
26
  end
28
27
 
29
28
  it 'discards non unique values' do
30
- subject.parse('joins=author&joins=author').should == { 'joins' => ['author'] }
29
+ subject.parse('joins=author&joins=author').should eq('joins' => ['author'])
31
30
  end
32
31
  end
33
32
 
@@ -38,11 +37,11 @@ describe Muster::Strategies::JoinsExpression do
38
37
  end
39
38
 
40
39
  it 'converts comma separated value into Array' do
41
- subject.parse('joins=author|activity').should == { 'joins' => ['author', 'activity'] }
40
+ subject.parse('joins=author|activity').should eq('joins' => ['author', 'activity'])
42
41
  end
43
42
 
44
43
  it 'ignores spaces after a separator' do
45
- subject.parse('joins=author|%20 activity').should == { 'joins' => ['author', 'activity'] }
44
+ subject.parse('joins=author|%20 activity').should eq('joins' => ['author', 'activity'])
46
45
  end
47
46
  end
48
47
 
@@ -52,7 +51,7 @@ describe Muster::Strategies::JoinsExpression do
52
51
  end
53
52
 
54
53
  it 'converts comma separated value into Array' do
55
- subject.parse('joins=author|activity|rule').should == { 'joins' => ['author', 'activity', 'rule'] }
54
+ subject.parse('joins=author|activity|rule').should eq('joins' => ['author', 'activity', 'rule'])
56
55
  end
57
56
  end
58
57
  end
@@ -62,11 +61,11 @@ describe Muster::Strategies::JoinsExpression do
62
61
  before { options[:field_separator] = /\s*:\s*/ }
63
62
 
64
63
  it 'splits field from values' do
65
- subject.parse('joins=author:country:name').should == { 'joins' => [{'author' => {'country' => 'name'}}] }
64
+ subject.parse('joins=author:country:name').should eq('joins' => [{ 'author' => { 'country' => 'name' } }])
66
65
  end
67
66
 
68
67
  it 'ignores spaces after field' do
69
- subject.parse('joins=author : country').should == { 'joins' => [{'author' => 'country'}] }
68
+ subject.parse('joins=author : country').should eq('joins' => [{ 'author' => 'country' }])
70
69
  end
71
70
  end
72
71
 
@@ -74,7 +73,7 @@ describe Muster::Strategies::JoinsExpression do
74
73
  before { options[:field_separator] = ':' }
75
74
 
76
75
  it 'converts comma separated value into Array' do
77
- subject.parse('joins=author:country').should == { 'joins' => [{'author' => 'country'}] }
76
+ subject.parse('joins=author:country').should eq('joins' => [{ 'author' => 'country' }])
78
77
  end
79
78
  end
80
79
  end
@@ -84,7 +83,7 @@ describe Muster::Strategies::JoinsExpression do
84
83
  before { options[:field] = :includes }
85
84
 
86
85
  it 'fields returns expressions for the key specified' do
87
- subject.parse('includes=author').should == { 'includes' => ['author'] }
86
+ subject.parse('includes=author').should eq('includes' => ['author'])
88
87
  end
89
88
  end
90
89
 
@@ -92,7 +91,7 @@ describe Muster::Strategies::JoinsExpression do
92
91
  before { options[:fields] = [:includes, :joins] }
93
92
 
94
93
  it 'fields returns expressions for the keys specified' do
95
- subject.parse('joins=author&includes=activity').should == { 'joins' => ['author'], 'includes' => ['activity'] }
94
+ subject.parse('joins=author&includes=activity').should eq('joins' => ['author'], 'includes' => ['activity'])
96
95
  end
97
96
  end
98
97
 
@@ -100,7 +99,7 @@ describe Muster::Strategies::JoinsExpression do
100
99
  before { options[:field] = 'includes' }
101
100
 
102
101
  it 'fields returns expressions for the key specified' do
103
- subject.parse('includes=author').should == { 'includes' => ['author'] }
102
+ subject.parse('includes=author').should eq('includes' => ['author'])
104
103
  end
105
104
  end
106
105
 
@@ -108,11 +107,9 @@ describe Muster::Strategies::JoinsExpression do
108
107
  before { options[:fields] = ['includes', 'joins'] }
109
108
 
110
109
  it 'fields returns expressions for the keys specified' do
111
- subject.parse('includes=author&joins=activity').should == { 'includes' => ['author'], 'joins' => ['activity'] }
110
+ subject.parse('includes=author&joins=activity').should eq('includes' => ['author'], 'joins' => ['activity'])
112
111
  end
113
112
  end
114
113
  end
115
-
116
114
  end
117
115
  end
118
-
@@ -6,25 +6,25 @@ describe Muster::Strategies::Pagination do
6
6
 
7
7
  describe '#parse' do
8
8
  it 'returns a Muster::Results instance' do
9
- subject.parse('').should == {"pagination"=>{"page"=>1, "per_page"=>30}, "limit"=>30, "offset"=>nil}
9
+ subject.parse('').should eq('pagination' => { 'page' => 1, 'per_page' => 30 }, 'limit' => 30, 'offset' => nil)
10
10
  subject.parse('').should be_an_instance_of(Muster::Results)
11
11
  end
12
12
 
13
13
  context 'by default' do
14
14
  it 'returns default hash for empty query string' do
15
- subject.parse('').should == {'pagination' => {'page' => 1, 'per_page' => 30}, 'offset' => nil, 'limit' => 30}
15
+ subject.parse('').should eq('pagination' => { 'page' => 1, 'per_page' => 30 }, 'offset' => nil, 'limit' => 30)
16
16
  end
17
17
 
18
18
  it 'ensures page is positive integer' do
19
- subject.parse('page=foop')[:pagination].should == {'page' => 1, 'per_page' => 30}
19
+ subject.parse('page=foop')[:pagination].should eq('page' => 1, 'per_page' => 30)
20
20
  end
21
21
 
22
22
  it 'ensures per_page is positive integer' do
23
- subject.parse('per_page=foop')[:pagination].should == {'page' => 1, 'per_page' => 30}
23
+ subject.parse('per_page=foop')[:pagination].should eq('page' => 1, 'per_page' => 30)
24
24
  end
25
25
 
26
26
  it 'accepts page_size instead of per_page' do
27
- subject.parse('page_size=10')[:pagination].should == {'page' => 1, 'per_page' => 10}
27
+ subject.parse('page_size=10')[:pagination].should eq('page' => 1, 'per_page' => 10)
28
28
  end
29
29
 
30
30
  it 'calculates offset from pagination' do
@@ -47,7 +47,7 @@ describe Muster::Strategies::Pagination do
47
47
  before { options[:field] = :limit }
48
48
 
49
49
  it 'fields returns values for the key specified' do
50
- subject.parse('per_page=10').should == {'limit' => 10}
50
+ subject.parse('per_page=10').should eq('limit' => 10)
51
51
  end
52
52
  end
53
53
 
@@ -55,7 +55,7 @@ describe Muster::Strategies::Pagination do
55
55
  before { options[:fields] = [:limit, :offset] }
56
56
 
57
57
  it 'fields returns values for the keys specified' do
58
- subject.parse('per_page=10&page=2').should == {'limit' => 10, 'offset' => 10}
58
+ subject.parse('per_page=10&page=2').should eq('limit' => 10, 'offset' => 10)
59
59
  end
60
60
  end
61
61
 
@@ -63,7 +63,7 @@ describe Muster::Strategies::Pagination do
63
63
  before { options[:field] = 'limit' }
64
64
 
65
65
  it 'fields returns values for the key specified' do
66
- subject.parse('per_page=10').should == {'limit' => 10}
66
+ subject.parse('per_page=10').should eq('limit' => 10)
67
67
  end
68
68
  end
69
69
 
@@ -71,7 +71,7 @@ describe Muster::Strategies::Pagination do
71
71
  before { options[:fields] = ['limit', 'offset'] }
72
72
 
73
73
  it 'fields returns values for the keys specified' do
74
- subject.parse('per_page=10&page=2').should == {'limit' => 10, 'offset' => 10}
74
+ subject.parse('per_page=10&page=2').should eq('limit' => 10, 'offset' => 10)
75
75
  end
76
76
  end
77
77
  end
@@ -5,15 +5,14 @@ describe Muster::Strategies::SortExpression do
5
5
  subject { Muster::Strategies::SortExpression.new(options) }
6
6
 
7
7
  describe '#parse' do
8
-
9
8
  context 'by default' do
10
9
  it 'returns empty hash for empty query string' do
11
- subject.parse('').should == {}
10
+ subject.parse('').should eq({})
12
11
  subject.parse('').should be_an_instance_of(Muster::Results)
13
12
  end
14
13
 
15
14
  it 'returns hash of all key/value pairs' do
16
- subject.parse('sort=id&order=name').should == { 'sort' => 'id asc', 'order' => 'name asc' }
15
+ subject.parse('sort=id&order=name').should eq('sort' => 'id asc', 'order' => 'name asc')
17
16
  end
18
17
 
19
18
  it 'hash supports indifferent key access' do
@@ -33,7 +32,7 @@ describe Muster::Strategies::SortExpression do
33
32
  it 'supports comma separated expressions without directions' do
34
33
  subject.parse('sort=id,name').should == { 'sort' => ['id asc', 'name asc'] }
35
34
  end
36
-
35
+
37
36
  it 'discards non unique values' do
38
37
  subject.parse('sort=id&sort=name&sort=id').should == { 'sort' => ['id asc', 'name asc'] }
39
38
  end
@@ -90,6 +89,5 @@ describe Muster::Strategies::SortExpression do
90
89
  end
91
90
  end
92
91
  end
93
-
94
92
  end
95
93
  end
metadata CHANGED
@@ -1,111 +1,125 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: muster
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christopher H. Laco
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-30 00:00:00.000000000 Z
11
+ date: 2015-08-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - ! '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '3.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - ! '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '3.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rack
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.4'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.4'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: pry
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - ! '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - ! '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ~>
60
60
  - !ruby/object:Gem::Version
61
61
  version: 2.11.0
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ~>
67
67
  - !ruby/object:Gem::Version
68
68
  version: 2.11.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: redcarpet
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ~>
74
74
  - !ruby/object:Gem::Version
75
75
  version: '2.1'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ~>
81
81
  - !ruby/object:Gem::Version
82
82
  version: '2.1'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rubocop
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: 0.33.0
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: 0.33.0
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: simplecov
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
- - - ">="
101
+ - - ! '>='
88
102
  - !ruby/object:Gem::Version
89
103
  version: '0'
90
104
  type: :development
91
105
  prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
- - - ">="
108
+ - - ! '>='
95
109
  - !ruby/object:Gem::Version
96
110
  version: '0'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: yard
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
- - - "~>"
115
+ - - ~>
102
116
  - !ruby/object:Gem::Version
103
117
  version: 0.8.2
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
- - - "~>"
122
+ - - ~>
109
123
  - !ruby/object:Gem::Version
110
124
  version: 0.8.2
111
125
  description: Muster is a gem that turns query strings of varying formats into data
@@ -116,9 +130,10 @@ executables: []
116
130
  extensions: []
117
131
  extra_rdoc_files: []
118
132
  files:
119
- - ".gitignore"
120
- - ".rspec"
121
- - ".yardopts"
133
+ - .gitignore
134
+ - .rspec
135
+ - .rubocop.yml
136
+ - .yardopts
122
137
  - Authors
123
138
  - Changes
124
139
  - Gemfile
@@ -156,17 +171,17 @@ require_paths:
156
171
  - lib
157
172
  required_ruby_version: !ruby/object:Gem::Requirement
158
173
  requirements:
159
- - - ">="
174
+ - - ! '>='
160
175
  - !ruby/object:Gem::Version
161
176
  version: '0'
162
177
  required_rubygems_version: !ruby/object:Gem::Requirement
163
178
  requirements:
164
- - - ">="
179
+ - - ! '>='
165
180
  - !ruby/object:Gem::Version
166
181
  version: '0'
167
182
  requirements: []
168
183
  rubyforge_project:
169
- rubygems_version: 2.4.6
184
+ rubygems_version: 2.4.8
170
185
  signing_key:
171
186
  specification_version: 4
172
187
  summary: Muster various query string formats into a more reusable data structure.