rollout_ui 0.2.1 → 0.3.0

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.
@@ -23,20 +23,31 @@ describe RolloutUi::Feature do
23
23
  end
24
24
 
25
25
  describe "#groups" do
26
+
27
+ it "returns an empty array when there are no activated groups for the feature" do
28
+ $redis.del('feature:featureA:groups')
29
+ @feature.groups.should == []
30
+ end
31
+
26
32
  it "returns the activated groups for the feature" do
27
33
  $rollout.activate_group(:featureA, :beta_testers)
28
- @feature.groups.should == ["beta_testers"]
34
+ @feature.groups.should == [:beta_testers]
29
35
  end
30
36
  end
31
37
 
32
38
  describe "#groups=" do
33
39
  it "sets the activated groups for the feature" do
34
40
  @feature.groups = ["all", "admins"]
35
- RolloutUi::Feature.new(:featureA).groups.should == ["admins", "all"]
41
+ RolloutUi::Feature.new(:featureA).groups.should =~ [:admins, :all]
36
42
  end
37
43
  end
38
44
 
39
45
  describe "#users" do
46
+ it "returns an empty array when there are no activated users for the feature" do
47
+ $redis.del('=feature:featureA:users')
48
+ @feature.user_ids.should == []
49
+ end
50
+
40
51
  it "returns the activated users for the feature" do
41
52
  $rollout.activate_user(:featureA, mock(:user, :id => 5))
42
53
  @feature.user_ids.should == ["5"]
@@ -47,8 +58,8 @@ describe RolloutUi::Feature do
47
58
  it "sets the activated users for the feature" do
48
59
  @feature.user_ids = [5, "7", ""]
49
60
  RolloutUi::Feature.new(:featureA).user_ids.length.should == 2
50
- RolloutUi::Feature.new(:featureA).user_ids.should include("5")
51
- RolloutUi::Feature.new(:featureA).user_ids.should include("7")
61
+ RolloutUi::Feature.new(:featureA).user_ids.should include("5")
62
+ RolloutUi::Feature.new(:featureA).user_ids.should include("7")
52
63
  end
53
64
  end
54
65
  end
@@ -23,13 +23,13 @@ describe RolloutUi::Wrapper do
23
23
  it "returns all groups defined for the rollout instance" do
24
24
  $rollout.define_group(:beta_testers) { |user| user.beta_tester? }
25
25
 
26
- @rollout_ui.groups.should == ["all", "beta_testers"]
26
+ @rollout_ui.groups.should == [:all, :beta_testers]
27
27
  end
28
28
 
29
29
  it "doesn't return other defined groups" do
30
30
  Rollout.new($redis).define_group(:beta_testers) { |user| user.beta_tester? }
31
31
 
32
- @rollout_ui.groups.should == ["all"]
32
+ @rollout_ui.groups.should == [:all]
33
33
  end
34
34
  end
35
35
 
@@ -51,6 +51,15 @@ describe RolloutUi::Wrapper do
51
51
 
52
52
  @rollout_ui.features.should == ["featureA"]
53
53
  end
54
+
55
+ it "lists features in alphabetical order" do
56
+ $rollout.active?(:zFeature, mock(:user, :id => 1))
57
+ $rollout.active?(:featureA, mock(:user, :id => 5))
58
+ $rollout.active?(:featureB, mock(:user, :id => 6))
59
+ $rollout.active?(:anotherFeature, mock(:user, :id => 8))
60
+
61
+ @rollout_ui.features.should == %w(anotherFeature featureA featureB zFeature)
62
+ end
54
63
  end
55
64
 
56
65
  describe "#add_feature" do
@@ -90,6 +90,20 @@ describe "Engine" do
90
90
  page.should have_css("input.users[value='5']")
91
91
  end
92
92
  end
93
+
94
+ describe "order" do
95
+ before do
96
+ $rollout.active?(:featureB, user)
97
+ $rollout.active?(:anotherFeature, user)
98
+ end
99
+
100
+ it "shows features in alphabetical order" do
101
+ visit "/rollout"
102
+
103
+ elements = %w(anotherFeature featureA featureB)
104
+ page.body.should =~ Regexp.new("#{elements.join('.*')}.*", Regexp::MULTILINE)
105
+ end
106
+ end
93
107
  end
94
108
  end
95
109
 
metadata CHANGED
@@ -1,188 +1,183 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: rollout_ui
3
- version: !ruby/object:Gem::Version
4
- hash: 21
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.0
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 2
9
- - 1
10
- version: 0.2.1
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - John Allison
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-03-08 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2013-09-01 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: rollout
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
26
- - - ~>
27
- - !ruby/object:Gem::Version
28
- hash: 19
29
- segments:
30
- - 1
31
- - 1
32
- - 0
33
- version: 1.1.0
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
34
22
  type: :runtime
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: rake
38
23
  prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: rake
32
+ requirement: !ruby/object:Gem::Requirement
40
33
  none: false
41
- requirements:
42
- - - ">="
43
- - !ruby/object:Gem::Version
44
- hash: 3
45
- segments:
46
- - 0
47
- version: "0"
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
48
38
  type: :development
49
- version_requirements: *id002
50
- - !ruby/object:Gem::Dependency
51
- name: rails
52
39
  prerelease: false
53
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rails
48
+ requirement: !ruby/object:Gem::Requirement
54
49
  none: false
55
- requirements:
56
- - - ">="
57
- - !ruby/object:Gem::Version
58
- hash: 3
59
- segments:
60
- - 0
61
- version: "0"
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
62
54
  type: :development
63
- version_requirements: *id003
64
- - !ruby/object:Gem::Dependency
65
- name: sinatra
66
55
  prerelease: false
67
- requirement: &id004 !ruby/object:Gem::Requirement
56
+ version_requirements: !ruby/object:Gem::Requirement
68
57
  none: false
69
- requirements:
70
- - - ">="
71
- - !ruby/object:Gem::Version
72
- hash: 3
73
- segments:
74
- - 0
75
- version: "0"
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: sinatra
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
76
70
  type: :development
77
- version_requirements: *id004
78
- - !ruby/object:Gem::Dependency
79
- name: uglifier
80
71
  prerelease: false
81
- requirement: &id005 !ruby/object:Gem::Requirement
72
+ version_requirements: !ruby/object:Gem::Requirement
82
73
  none: false
83
- requirements:
84
- - - ">="
85
- - !ruby/object:Gem::Version
86
- hash: 3
87
- segments:
88
- - 0
89
- version: "0"
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: uglifier
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
90
86
  type: :development
91
- version_requirements: *id005
92
- - !ruby/object:Gem::Dependency
93
- name: mysql
94
87
  prerelease: false
95
- requirement: &id006 !ruby/object:Gem::Requirement
88
+ version_requirements: !ruby/object:Gem::Requirement
96
89
  none: false
97
- requirements:
98
- - - ">="
99
- - !ruby/object:Gem::Version
100
- hash: 3
101
- segments:
102
- - 0
103
- version: "0"
104
- type: :development
105
- version_requirements: *id006
106
- - !ruby/object:Gem::Dependency
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
107
95
  name: rspec-rails
108
- prerelease: false
109
- requirement: &id007 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
110
97
  none: false
111
- requirements:
112
- - - ">="
113
- - !ruby/object:Gem::Version
114
- hash: 3
115
- segments:
116
- - 0
117
- version: "0"
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
118
102
  type: :development
119
- version_requirements: *id007
120
- - !ruby/object:Gem::Dependency
121
- name: capybara
122
103
  prerelease: false
123
- requirement: &id008 !ruby/object:Gem::Requirement
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: capybara
112
+ requirement: !ruby/object:Gem::Requirement
124
113
  none: false
125
- requirements:
126
- - - ">="
127
- - !ruby/object:Gem::Version
128
- hash: 3
129
- segments:
130
- - 0
131
- version: "0"
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
132
118
  type: :development
133
- version_requirements: *id008
134
- - !ruby/object:Gem::Dependency
135
- name: launchy
136
119
  prerelease: false
137
- requirement: &id009 !ruby/object:Gem::Requirement
120
+ version_requirements: !ruby/object:Gem::Requirement
138
121
  none: false
139
- requirements:
140
- - - ">="
141
- - !ruby/object:Gem::Version
142
- hash: 3
143
- segments:
144
- - 0
145
- version: "0"
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: launchy
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
146
134
  type: :development
147
- version_requirements: *id009
148
- - !ruby/object:Gem::Dependency
149
- name: rack-test
150
135
  prerelease: false
151
- requirement: &id010 !ruby/object:Gem::Requirement
136
+ version_requirements: !ruby/object:Gem::Requirement
152
137
  none: false
153
- requirements:
154
- - - ">="
155
- - !ruby/object:Gem::Version
156
- hash: 3
157
- segments:
158
- - 0
159
- version: "0"
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
142
+ - !ruby/object:Gem::Dependency
143
+ name: rack-test
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
160
150
  type: :development
161
- version_requirements: *id010
162
- - !ruby/object:Gem::Dependency
163
- name: redis-namespace
164
151
  prerelease: false
165
- requirement: &id011 !ruby/object:Gem::Requirement
152
+ version_requirements: !ruby/object:Gem::Requirement
166
153
  none: false
167
- requirements:
168
- - - ">="
169
- - !ruby/object:Gem::Version
170
- hash: 3
171
- segments:
172
- - 0
173
- version: "0"
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ - !ruby/object:Gem::Dependency
159
+ name: redis-namespace
160
+ requirement: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ! '>='
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
174
166
  type: :development
175
- version_requirements: *id011
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
176
174
  description: A UI for James Golick's rollout gem
177
- email:
175
+ email:
178
176
  - jrallison@gmail.com
179
177
  executables: []
180
-
181
178
  extensions: []
182
-
183
179
  extra_rdoc_files: []
184
-
185
- files:
180
+ files:
186
181
  - lib/rollout_ui/engine/app/assets/images/rollout_ui/dark_brick_wall.png
187
182
  - lib/rollout_ui/engine/app/assets/images/rollout_ui/rollout.png
188
183
  - lib/rollout_ui/engine/app/assets/javascripts/rollout_ui/application.js
@@ -227,7 +222,6 @@ files:
227
222
  - spec/dummy/app/views/layouts/application.html.erb
228
223
  - spec/dummy/config/application.rb
229
224
  - spec/dummy/config/boot.rb
230
- - spec/dummy/config/database.yml
231
225
  - spec/dummy/config/environment.rb
232
226
  - spec/dummy/config/environments/development.rb
233
227
  - spec/dummy/config/environments/production.rb
@@ -255,38 +249,29 @@ files:
255
249
  - spec/spec_helper.rb
256
250
  homepage: http://github.com/jrallison/rollout_ui
257
251
  licenses: []
258
-
259
252
  post_install_message:
260
253
  rdoc_options: []
261
-
262
- require_paths:
254
+ require_paths:
263
255
  - lib
264
- required_ruby_version: !ruby/object:Gem::Requirement
256
+ required_ruby_version: !ruby/object:Gem::Requirement
265
257
  none: false
266
- requirements:
267
- - - ">="
268
- - !ruby/object:Gem::Version
269
- hash: 3
270
- segments:
271
- - 0
272
- version: "0"
273
- required_rubygems_version: !ruby/object:Gem::Requirement
258
+ requirements:
259
+ - - ! '>='
260
+ - !ruby/object:Gem::Version
261
+ version: '0'
262
+ required_rubygems_version: !ruby/object:Gem::Requirement
274
263
  none: false
275
- requirements:
276
- - - ">="
277
- - !ruby/object:Gem::Version
278
- hash: 3
279
- segments:
280
- - 0
281
- version: "0"
264
+ requirements:
265
+ - - ! '>='
266
+ - !ruby/object:Gem::Version
267
+ version: '0'
282
268
  requirements: []
283
-
284
269
  rubyforge_project:
285
- rubygems_version: 1.8.5
270
+ rubygems_version: 1.8.24
286
271
  signing_key:
287
272
  specification_version: 3
288
273
  summary: A UI for James Golick's rollout gem
289
- test_files:
274
+ test_files:
290
275
  - spec/dummy/app/assets/javascripts/application.js
291
276
  - spec/dummy/app/assets/stylesheets/application.css
292
277
  - spec/dummy/app/controllers/application_controller.rb
@@ -294,7 +279,6 @@ test_files:
294
279
  - spec/dummy/app/views/layouts/application.html.erb
295
280
  - spec/dummy/config/application.rb
296
281
  - spec/dummy/config/boot.rb
297
- - spec/dummy/config/database.yml
298
282
  - spec/dummy/config/environment.rb
299
283
  - spec/dummy/config/environments/development.rb
300
284
  - spec/dummy/config/environments/production.rb
@@ -320,4 +304,3 @@ test_files:
320
304
  - spec/lib/rollout_ui/wrapper_spec.rb
321
305
  - spec/requests/engine/engine_spec.rb
322
306
  - spec/spec_helper.rb
323
- has_rdoc: