rollout_ui 0.1.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.
Files changed (103) hide show
  1. data/README.markdown +70 -0
  2. data/Rakefile +12 -0
  3. data/lib/rollout_ui.rb +25 -0
  4. data/lib/rollout_ui/engine/Rakefile +12 -0
  5. data/lib/rollout_ui/engine/app/assets/images/rollout_ui/dark_brick_wall.png +0 -0
  6. data/lib/rollout_ui/engine/app/assets/images/rollout_ui/rollout.png +0 -0
  7. data/lib/rollout_ui/engine/app/assets/javascripts/rollout_ui/application.js +9 -0
  8. data/lib/rollout_ui/engine/app/assets/stylesheets/rollout_ui/application.css +9 -0
  9. data/lib/rollout_ui/engine/app/assets/stylesheets/rollout_ui/layout.css +108 -0
  10. data/lib/rollout_ui/engine/app/controllers/rollout_ui/application_controller.rb +4 -0
  11. data/lib/rollout_ui/engine/app/controllers/rollout_ui/features_controller.rb +25 -0
  12. data/lib/rollout_ui/engine/app/helpers/rollout_ui/application_helper.rb +4 -0
  13. data/lib/rollout_ui/engine/app/views/layouts/rollout_ui/application.html.erb +29 -0
  14. data/lib/rollout_ui/engine/app/views/rollout_ui/features/_feature.html.erb +34 -0
  15. data/lib/rollout_ui/engine/app/views/rollout_ui/features/index.html.erb +14 -0
  16. data/lib/rollout_ui/engine/config/routes.rb +5 -0
  17. data/lib/rollout_ui/engine/lib/rollout_ui/engine.rb +5 -0
  18. data/lib/rollout_ui/engine/lib/tasks/rollout_ui_tasks.rake +4 -0
  19. data/lib/rollout_ui/engine/script/rails +6 -0
  20. data/lib/rollout_ui/engine/vendor/assets/images/rollout_ui/chosen-sprite.png +0 -0
  21. data/lib/rollout_ui/engine/vendor/assets/javascripts/chosen.jquery.js +1011 -0
  22. data/lib/rollout_ui/engine/vendor/assets/javascripts/jquery-ujs.js +367 -0
  23. data/lib/rollout_ui/engine/vendor/assets/stylesheets/chosen.css +369 -0
  24. data/lib/rollout_ui/engine/vendor/assets/stylesheets/normalize.css +431 -0
  25. data/lib/rollout_ui/feature.rb +50 -0
  26. data/lib/rollout_ui/monkey_patch.rb +8 -0
  27. data/lib/rollout_ui/server.rb +71 -0
  28. data/lib/rollout_ui/server/public/rollout_ui/application.css +916 -0
  29. data/lib/rollout_ui/server/public/rollout_ui/application.js +45 -0
  30. data/lib/rollout_ui/server/public/rollout_ui/chosen-sprite.png +0 -0
  31. data/lib/rollout_ui/server/public/rollout_ui/dark_brick_wall.png +0 -0
  32. data/lib/rollout_ui/server/public/rollout_ui/rollout.png +0 -0
  33. data/lib/rollout_ui/server/views/feature.erb +34 -0
  34. data/lib/rollout_ui/server/views/index.erb +5 -0
  35. data/lib/rollout_ui/server/views/layout.erb +32 -0
  36. data/lib/rollout_ui/version.rb +3 -0
  37. data/lib/rollout_ui/wrapper.rb +28 -0
  38. data/spec/dummy/Rakefile +7 -0
  39. data/spec/dummy/app/assets/javascripts/application.js +7 -0
  40. data/spec/dummy/app/assets/stylesheets/application.css +7 -0
  41. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  42. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  43. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  44. data/spec/dummy/config.ru +12 -0
  45. data/spec/dummy/config/application.rb +45 -0
  46. data/spec/dummy/config/boot.rb +10 -0
  47. data/spec/dummy/config/database.yml +14 -0
  48. data/spec/dummy/config/environment.rb +5 -0
  49. data/spec/dummy/config/environments/development.rb +30 -0
  50. data/spec/dummy/config/environments/production.rb +60 -0
  51. data/spec/dummy/config/environments/test.rb +39 -0
  52. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  53. data/spec/dummy/config/initializers/inflections.rb +10 -0
  54. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  55. data/spec/dummy/config/initializers/rollout.rb +6 -0
  56. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  57. data/spec/dummy/config/initializers/session_store.rb +8 -0
  58. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  59. data/spec/dummy/config/locales/en.yml +5 -0
  60. data/spec/dummy/config/routes.rb +5 -0
  61. data/spec/dummy/log/development.log +15639 -0
  62. data/spec/dummy/log/production.log +19 -0
  63. data/spec/dummy/log/stdout.log +3186 -0
  64. data/spec/dummy/log/test.log +11115 -0
  65. data/spec/dummy/public/404.html +26 -0
  66. data/spec/dummy/public/422.html +26 -0
  67. data/spec/dummy/public/500.html +26 -0
  68. data/spec/dummy/public/favicon.ico +0 -0
  69. data/spec/dummy/script/rails +6 -0
  70. data/spec/dummy/tmp/cache/assets/C44/C60/sprockets%2F32619064c16276c9031bc469f111b6f1 +369 -0
  71. data/spec/dummy/tmp/cache/assets/CA9/290/sprockets%2Ffde33cd38c83e40045112ef236908326 +1012 -0
  72. data/spec/dummy/tmp/cache/assets/CB1/0F0/sprockets%2F097929f05538ada1621d2b34d0748fb8 +0 -0
  73. data/spec/dummy/tmp/cache/assets/D0C/460/sprockets%2Fbf6917215d0871b152f3d3ec4ece0486 +0 -0
  74. data/spec/dummy/tmp/cache/assets/D1E/9E0/sprockets%2Fb92e466db7d4e78f107d8386ea19560a +0 -0
  75. data/spec/dummy/tmp/cache/assets/D22/D60/sprockets%2F6c1d9d3c966b8286c00d8dd46bd54598 +371 -0
  76. data/spec/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  77. data/spec/dummy/tmp/cache/assets/D3E/870/sprockets%2F82e617ed3b33c78bb8340cdbd603d189 +1015 -0
  78. data/spec/dummy/tmp/cache/assets/D45/1B0/sprockets%2F89743b2dcefe650c86e16c60dc248a26 +0 -0
  79. data/spec/dummy/tmp/cache/assets/D54/ED0/sprockets%2F71c9fa01091d432b131da3bb73faf3d4 +0 -0
  80. data/spec/dummy/tmp/cache/assets/D62/900/sprockets%2F4d745068b58dab09efc05fd3bd030c05 +1387 -0
  81. data/spec/dummy/tmp/cache/assets/D71/220/sprockets%2Fd07f8aed535b53034c9a4489bd6cb45d +374 -0
  82. data/spec/dummy/tmp/cache/assets/D74/0C0/sprockets%2F28c2d3c4b8de13fe5b746c94d96042dd +0 -0
  83. data/spec/dummy/tmp/cache/assets/D7D/C20/sprockets%2Ff5f71be7464ea98757bc8e41df514a4b +433 -0
  84. data/spec/dummy/tmp/cache/assets/D84/210/sprockets%2Fabd0103ccec2b428ac62c94e4c40b384 +0 -0
  85. data/spec/dummy/tmp/cache/assets/D93/100/sprockets%2Ffd9e48a89d83e7b764e2de324ee888b6 +917 -0
  86. data/spec/dummy/tmp/cache/assets/DC2/770/sprockets%2F7f10ac108ce75bbb0e9877b50bcb22fe +0 -0
  87. data/spec/dummy/tmp/cache/assets/E00/850/sprockets%2Fd5e1f4415f71da50c8365f7ecdeca2ff +436 -0
  88. data/spec/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  89. data/spec/dummy/tmp/cache/assets/E3E/230/sprockets%2F8156dcfebf95ff75b117c7e5bffb71dc +372 -0
  90. data/spec/dummy/tmp/cache/assets/E7A/F10/sprockets%2Ff3d71fbeaa5fdddf600a0ac52af1d8e2 +0 -0
  91. data/spec/dummy/tmp/capybara/capybara-201110152250496494273346.html +141 -0
  92. data/spec/dummy/tmp/capybara/capybara-201110152251237384633452.html +141 -0
  93. data/spec/dummy/tmp/capybara/capybara-201110152253073784924369.html +141 -0
  94. data/spec/dummy/tmp/capybara/capybara-201110152255118447806623.html +141 -0
  95. data/spec/dummy/tmp/capybara/capybara-201110152257286050916603.html +141 -0
  96. data/spec/dummy/tmp/capybara/capybara-201110152258202877532249.html +139 -0
  97. data/spec/dummy/tmp/capybara/capybara-201110152259224345897143.html +139 -0
  98. data/spec/dummy/tmp/pids/server.pid +1 -0
  99. data/spec/lib/rollout_ui/feature_spec.rb +52 -0
  100. data/spec/lib/rollout_ui/wrapper_spec.rb +63 -0
  101. data/spec/requests/engine/engine_spec.rb +95 -0
  102. data/spec/spec_helper.rb +22 -0
  103. metadata +388 -0
@@ -0,0 +1,63 @@
1
+ require 'spec_helper'
2
+
3
+ describe RolloutUi::Wrapper do
4
+ before do
5
+ @rollout_ui = RolloutUi::Wrapper.new
6
+ end
7
+
8
+ it "cannot be initialized without an instance of rollout if rollout hasn't been wrapped" do
9
+ RolloutUi.wrap(nil)
10
+
11
+ lambda { RolloutUi::Wrapper.new }.should raise_error(RolloutUi::Wrapper::NoRolloutInstance)
12
+ end
13
+
14
+ it "can be initialized with an instance of Rollout" do
15
+ RolloutUi::Wrapper.new($rollout).should be_an_instance_of(RolloutUi::Wrapper)
16
+ end
17
+
18
+ it "can be initialized without an instance of rollout if rollout has been wrapped" do
19
+ RolloutUi::Wrapper.new.should be_an_instance_of(RolloutUi::Wrapper)
20
+ end
21
+
22
+ describe "#groups" do
23
+ it "returns all groups defined for the rollout instance" do
24
+ $rollout.define_group(:beta_testers) { |user| user.beta_tester? }
25
+
26
+ @rollout_ui.groups.should == ["all", "beta_testers"]
27
+ end
28
+
29
+ it "doesn't return other defined groups" do
30
+ Rollout.new($redis).define_group(:beta_testers) { |user| user.beta_tester? }
31
+
32
+ @rollout_ui.groups.should == ["all"]
33
+ end
34
+ end
35
+
36
+ describe "#features" do
37
+ it "returns an empty array if no features have been requested" do
38
+ @rollout_ui.features.should == []
39
+ end
40
+
41
+ it "returns all features that have been requested" do
42
+ $rollout.active?(:featureA, mock(:user, :id => 5))
43
+ $rollout.active?(:featureB, mock(:user, :id => 6))
44
+
45
+ @rollout_ui.features.should == ["featureA", "featureB"]
46
+ end
47
+
48
+ it "lists each feature only once" do
49
+ $rollout.active?(:featureA, mock(:user, :id => 5))
50
+ $rollout.active?(:featureA, mock(:user, :id => 6))
51
+
52
+ @rollout_ui.features.should == ["featureA"]
53
+ end
54
+ end
55
+
56
+ describe "#add_feature" do
57
+ it "adds feature to the list of features" do
58
+ @rollout_ui.add_feature(:featureA)
59
+
60
+ @rollout_ui.features.should == ["featureA"]
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,95 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Engine" do
4
+ describe "GET /rollout" do
5
+ let(:user) { mock(:user, :id => 5) }
6
+
7
+ before do
8
+ $rollout.active?(:featureA, user)
9
+ end
10
+
11
+ it "shows requested rollout features" do
12
+ visit "/rollout"
13
+
14
+ page.should have_content("featureA")
15
+ end
16
+
17
+ describe "percentage" do
18
+ it "allows changing of the percentage" do
19
+ visit "/rollout"
20
+
21
+ within("#featureA .percentage_form") do
22
+ select "100", :from => "percentage"
23
+ click_button "Save"
24
+ end
25
+
26
+ $rollout.active?(:featureA, user).should be_true
27
+ end
28
+
29
+ it "shows the selected percentage" do
30
+ visit "/rollout"
31
+
32
+ within("#featureA .percentage_form") do
33
+ select "57", :from => "percentage"
34
+ click_button "Save"
35
+ end
36
+
37
+ page.should have_css(".percentage option[selected='selected']", :text => "57")
38
+ end
39
+ end
40
+
41
+ describe "groups" do
42
+ before do
43
+ user.stub(:beta_tester? => true)
44
+ $rollout.define_group(:beta_testers) { |user| user.beta_tester? }
45
+ end
46
+
47
+ it "allows selecting of groups" do
48
+ visit "/rollout"
49
+
50
+ within("#featureA .groups_form") do
51
+ select "beta_testers", :from => "groups[]"
52
+ click_button "Save"
53
+ end
54
+
55
+ $rollout.active?(:featureA, user).should be_true
56
+ end
57
+
58
+ it "shows the selected groups" do
59
+ visit "/rollout"
60
+
61
+ within("#featureA .groups_form") do
62
+ select "beta_testers", :from => "groups[]"
63
+ click_button "Save"
64
+ end
65
+
66
+ page.should have_css(".groups option[selected='selected']", :text => "beta_testers")
67
+ end
68
+ end
69
+
70
+ describe "users" do
71
+ it "allows adding user ids" do
72
+ visit "/rollout"
73
+
74
+ within("#featureA .users_form") do
75
+ fill_in "users[]", :with => 5
76
+ click_button "Save"
77
+ end
78
+
79
+ $rollout.active?(:featureA, user).should be_true
80
+ end
81
+
82
+ it "shows the selected percentage" do
83
+ visit "/rollout"
84
+
85
+ within("#featureA .users_form") do
86
+ fill_in "users[]", :with => 5
87
+ click_button "Save"
88
+ end
89
+
90
+ page.should have_css("input.users[value='5']")
91
+ end
92
+ end
93
+ end
94
+ end
95
+
@@ -0,0 +1,22 @@
1
+ ENV["RAILS_ENV"] ||= "test"
2
+
3
+ require 'rubygems'
4
+ require 'redis'
5
+ require 'redis-namespace'
6
+
7
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
8
+ require 'rspec/rails'
9
+
10
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
11
+
12
+ $redis = Redis::Namespace.new('rollout_ui:test', :redis => Redis.new)
13
+
14
+ RSpec.configure do |config|
15
+ config.before(:each) do
16
+ keys = $redis.keys("*")
17
+ $redis.del(*keys) unless keys.empty?
18
+
19
+ $rollout = Rollout.new($redis)
20
+ RolloutUi.wrap($rollout)
21
+ end
22
+ end
metadata ADDED
@@ -0,0 +1,388 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rollout_ui
3
+ version: !ruby/object:Gem::Version
4
+ hash: 27
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 1
9
+ - 0
10
+ version: 0.1.0
11
+ platform: ruby
12
+ authors:
13
+ - John Allison
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-10-18 00:00:00 -04:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: rollout
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ hash: 23
30
+ segments:
31
+ - 1
32
+ - 0
33
+ - 0
34
+ version: 1.0.0
35
+ type: :runtime
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: rake
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ hash: 3
46
+ segments:
47
+ - 0
48
+ version: "0"
49
+ type: :development
50
+ version_requirements: *id002
51
+ - !ruby/object:Gem::Dependency
52
+ name: rails
53
+ prerelease: false
54
+ requirement: &id003 !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ hash: 3
60
+ segments:
61
+ - 0
62
+ version: "0"
63
+ type: :development
64
+ version_requirements: *id003
65
+ - !ruby/object:Gem::Dependency
66
+ name: sinatra
67
+ prerelease: false
68
+ requirement: &id004 !ruby/object:Gem::Requirement
69
+ none: false
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ hash: 3
74
+ segments:
75
+ - 0
76
+ version: "0"
77
+ type: :development
78
+ version_requirements: *id004
79
+ - !ruby/object:Gem::Dependency
80
+ name: uglifier
81
+ prerelease: false
82
+ requirement: &id005 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ">="
86
+ - !ruby/object:Gem::Version
87
+ hash: 3
88
+ segments:
89
+ - 0
90
+ version: "0"
91
+ type: :development
92
+ version_requirements: *id005
93
+ - !ruby/object:Gem::Dependency
94
+ name: mysql
95
+ prerelease: false
96
+ requirement: &id006 !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ hash: 3
102
+ segments:
103
+ - 0
104
+ version: "0"
105
+ type: :development
106
+ version_requirements: *id006
107
+ - !ruby/object:Gem::Dependency
108
+ name: rspec-rails
109
+ prerelease: false
110
+ requirement: &id007 !ruby/object:Gem::Requirement
111
+ none: false
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ hash: 3
116
+ segments:
117
+ - 0
118
+ version: "0"
119
+ type: :development
120
+ version_requirements: *id007
121
+ - !ruby/object:Gem::Dependency
122
+ name: capybara
123
+ prerelease: false
124
+ requirement: &id008 !ruby/object:Gem::Requirement
125
+ none: false
126
+ requirements:
127
+ - - ">="
128
+ - !ruby/object:Gem::Version
129
+ hash: 3
130
+ segments:
131
+ - 0
132
+ version: "0"
133
+ type: :development
134
+ version_requirements: *id008
135
+ - !ruby/object:Gem::Dependency
136
+ name: launchy
137
+ prerelease: false
138
+ requirement: &id009 !ruby/object:Gem::Requirement
139
+ none: false
140
+ requirements:
141
+ - - ">="
142
+ - !ruby/object:Gem::Version
143
+ hash: 3
144
+ segments:
145
+ - 0
146
+ version: "0"
147
+ type: :development
148
+ version_requirements: *id009
149
+ - !ruby/object:Gem::Dependency
150
+ name: rack-test
151
+ prerelease: false
152
+ requirement: &id010 !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ">="
156
+ - !ruby/object:Gem::Version
157
+ hash: 3
158
+ segments:
159
+ - 0
160
+ version: "0"
161
+ type: :development
162
+ version_requirements: *id010
163
+ - !ruby/object:Gem::Dependency
164
+ name: redis-namespace
165
+ prerelease: false
166
+ requirement: &id011 !ruby/object:Gem::Requirement
167
+ none: false
168
+ requirements:
169
+ - - ">="
170
+ - !ruby/object:Gem::Version
171
+ hash: 3
172
+ segments:
173
+ - 0
174
+ version: "0"
175
+ type: :development
176
+ version_requirements: *id011
177
+ description: A UI for James Golick's rollout gem
178
+ email:
179
+ - jrallison@gmail.com
180
+ executables: []
181
+
182
+ extensions: []
183
+
184
+ extra_rdoc_files: []
185
+
186
+ files:
187
+ - lib/rollout_ui/engine/app/assets/images/rollout_ui/dark_brick_wall.png
188
+ - lib/rollout_ui/engine/app/assets/images/rollout_ui/rollout.png
189
+ - lib/rollout_ui/engine/app/assets/javascripts/rollout_ui/application.js
190
+ - lib/rollout_ui/engine/app/assets/stylesheets/rollout_ui/application.css
191
+ - lib/rollout_ui/engine/app/assets/stylesheets/rollout_ui/layout.css
192
+ - lib/rollout_ui/engine/app/controllers/rollout_ui/application_controller.rb
193
+ - lib/rollout_ui/engine/app/controllers/rollout_ui/features_controller.rb
194
+ - lib/rollout_ui/engine/app/helpers/rollout_ui/application_helper.rb
195
+ - lib/rollout_ui/engine/app/views/layouts/rollout_ui/application.html.erb
196
+ - lib/rollout_ui/engine/app/views/rollout_ui/features/_feature.html.erb
197
+ - lib/rollout_ui/engine/app/views/rollout_ui/features/index.html.erb
198
+ - lib/rollout_ui/engine/config/routes.rb
199
+ - lib/rollout_ui/engine/lib/rollout_ui/engine.rb
200
+ - lib/rollout_ui/engine/lib/tasks/rollout_ui_tasks.rake
201
+ - lib/rollout_ui/engine/Rakefile
202
+ - lib/rollout_ui/engine/script/rails
203
+ - lib/rollout_ui/engine/vendor/assets/images/rollout_ui/chosen-sprite.png
204
+ - lib/rollout_ui/engine/vendor/assets/javascripts/chosen.jquery.js
205
+ - lib/rollout_ui/engine/vendor/assets/javascripts/jquery-ujs.js
206
+ - lib/rollout_ui/engine/vendor/assets/stylesheets/chosen.css
207
+ - lib/rollout_ui/engine/vendor/assets/stylesheets/normalize.css
208
+ - lib/rollout_ui/feature.rb
209
+ - lib/rollout_ui/monkey_patch.rb
210
+ - lib/rollout_ui/server/public/rollout_ui/application.css
211
+ - lib/rollout_ui/server/public/rollout_ui/application.js
212
+ - lib/rollout_ui/server/public/rollout_ui/chosen-sprite.png
213
+ - lib/rollout_ui/server/public/rollout_ui/dark_brick_wall.png
214
+ - lib/rollout_ui/server/public/rollout_ui/rollout.png
215
+ - lib/rollout_ui/server/views/feature.erb
216
+ - lib/rollout_ui/server/views/index.erb
217
+ - lib/rollout_ui/server/views/layout.erb
218
+ - lib/rollout_ui/server.rb
219
+ - lib/rollout_ui/version.rb
220
+ - lib/rollout_ui/wrapper.rb
221
+ - lib/rollout_ui.rb
222
+ - Rakefile
223
+ - README.markdown
224
+ - spec/dummy/app/assets/javascripts/application.js
225
+ - spec/dummy/app/assets/stylesheets/application.css
226
+ - spec/dummy/app/controllers/application_controller.rb
227
+ - spec/dummy/app/helpers/application_helper.rb
228
+ - spec/dummy/app/views/layouts/application.html.erb
229
+ - spec/dummy/config/application.rb
230
+ - spec/dummy/config/boot.rb
231
+ - spec/dummy/config/database.yml
232
+ - spec/dummy/config/environment.rb
233
+ - spec/dummy/config/environments/development.rb
234
+ - spec/dummy/config/environments/production.rb
235
+ - spec/dummy/config/environments/test.rb
236
+ - spec/dummy/config/initializers/backtrace_silencers.rb
237
+ - spec/dummy/config/initializers/inflections.rb
238
+ - spec/dummy/config/initializers/mime_types.rb
239
+ - spec/dummy/config/initializers/rollout.rb
240
+ - spec/dummy/config/initializers/secret_token.rb
241
+ - spec/dummy/config/initializers/session_store.rb
242
+ - spec/dummy/config/initializers/wrap_parameters.rb
243
+ - spec/dummy/config/locales/en.yml
244
+ - spec/dummy/config/routes.rb
245
+ - spec/dummy/config.ru
246
+ - spec/dummy/log/development.log
247
+ - spec/dummy/log/production.log
248
+ - spec/dummy/log/stdout.log
249
+ - spec/dummy/log/test.log
250
+ - spec/dummy/public/404.html
251
+ - spec/dummy/public/422.html
252
+ - spec/dummy/public/500.html
253
+ - spec/dummy/public/favicon.ico
254
+ - spec/dummy/Rakefile
255
+ - spec/dummy/script/rails
256
+ - spec/dummy/tmp/cache/assets/C44/C60/sprockets%2F32619064c16276c9031bc469f111b6f1
257
+ - spec/dummy/tmp/cache/assets/CA9/290/sprockets%2Ffde33cd38c83e40045112ef236908326
258
+ - spec/dummy/tmp/cache/assets/CB1/0F0/sprockets%2F097929f05538ada1621d2b34d0748fb8
259
+ - spec/dummy/tmp/cache/assets/D0C/460/sprockets%2Fbf6917215d0871b152f3d3ec4ece0486
260
+ - spec/dummy/tmp/cache/assets/D1E/9E0/sprockets%2Fb92e466db7d4e78f107d8386ea19560a
261
+ - spec/dummy/tmp/cache/assets/D22/D60/sprockets%2F6c1d9d3c966b8286c00d8dd46bd54598
262
+ - spec/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
263
+ - spec/dummy/tmp/cache/assets/D3E/870/sprockets%2F82e617ed3b33c78bb8340cdbd603d189
264
+ - spec/dummy/tmp/cache/assets/D45/1B0/sprockets%2F89743b2dcefe650c86e16c60dc248a26
265
+ - spec/dummy/tmp/cache/assets/D54/ED0/sprockets%2F71c9fa01091d432b131da3bb73faf3d4
266
+ - spec/dummy/tmp/cache/assets/D62/900/sprockets%2F4d745068b58dab09efc05fd3bd030c05
267
+ - spec/dummy/tmp/cache/assets/D71/220/sprockets%2Fd07f8aed535b53034c9a4489bd6cb45d
268
+ - spec/dummy/tmp/cache/assets/D74/0C0/sprockets%2F28c2d3c4b8de13fe5b746c94d96042dd
269
+ - spec/dummy/tmp/cache/assets/D7D/C20/sprockets%2Ff5f71be7464ea98757bc8e41df514a4b
270
+ - spec/dummy/tmp/cache/assets/D84/210/sprockets%2Fabd0103ccec2b428ac62c94e4c40b384
271
+ - spec/dummy/tmp/cache/assets/D93/100/sprockets%2Ffd9e48a89d83e7b764e2de324ee888b6
272
+ - spec/dummy/tmp/cache/assets/DC2/770/sprockets%2F7f10ac108ce75bbb0e9877b50bcb22fe
273
+ - spec/dummy/tmp/cache/assets/E00/850/sprockets%2Fd5e1f4415f71da50c8365f7ecdeca2ff
274
+ - spec/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
275
+ - spec/dummy/tmp/cache/assets/E3E/230/sprockets%2F8156dcfebf95ff75b117c7e5bffb71dc
276
+ - spec/dummy/tmp/cache/assets/E7A/F10/sprockets%2Ff3d71fbeaa5fdddf600a0ac52af1d8e2
277
+ - spec/dummy/tmp/capybara/capybara-201110152250496494273346.html
278
+ - spec/dummy/tmp/capybara/capybara-201110152251237384633452.html
279
+ - spec/dummy/tmp/capybara/capybara-201110152253073784924369.html
280
+ - spec/dummy/tmp/capybara/capybara-201110152255118447806623.html
281
+ - spec/dummy/tmp/capybara/capybara-201110152257286050916603.html
282
+ - spec/dummy/tmp/capybara/capybara-201110152258202877532249.html
283
+ - spec/dummy/tmp/capybara/capybara-201110152259224345897143.html
284
+ - spec/dummy/tmp/pids/server.pid
285
+ - spec/lib/rollout_ui/feature_spec.rb
286
+ - spec/lib/rollout_ui/wrapper_spec.rb
287
+ - spec/requests/engine/engine_spec.rb
288
+ - spec/spec_helper.rb
289
+ has_rdoc: true
290
+ homepage: http://github.com/jrallison/rollout_ui
291
+ licenses: []
292
+
293
+ post_install_message:
294
+ rdoc_options: []
295
+
296
+ require_paths:
297
+ - lib
298
+ required_ruby_version: !ruby/object:Gem::Requirement
299
+ none: false
300
+ requirements:
301
+ - - ">="
302
+ - !ruby/object:Gem::Version
303
+ hash: 3
304
+ segments:
305
+ - 0
306
+ version: "0"
307
+ required_rubygems_version: !ruby/object:Gem::Requirement
308
+ none: false
309
+ requirements:
310
+ - - ">="
311
+ - !ruby/object:Gem::Version
312
+ hash: 3
313
+ segments:
314
+ - 0
315
+ version: "0"
316
+ requirements: []
317
+
318
+ rubyforge_project:
319
+ rubygems_version: 1.3.7
320
+ signing_key:
321
+ specification_version: 3
322
+ summary: A UI for James Golick's rollout gem
323
+ test_files:
324
+ - spec/dummy/app/assets/javascripts/application.js
325
+ - spec/dummy/app/assets/stylesheets/application.css
326
+ - spec/dummy/app/controllers/application_controller.rb
327
+ - spec/dummy/app/helpers/application_helper.rb
328
+ - spec/dummy/app/views/layouts/application.html.erb
329
+ - spec/dummy/config/application.rb
330
+ - spec/dummy/config/boot.rb
331
+ - spec/dummy/config/database.yml
332
+ - spec/dummy/config/environment.rb
333
+ - spec/dummy/config/environments/development.rb
334
+ - spec/dummy/config/environments/production.rb
335
+ - spec/dummy/config/environments/test.rb
336
+ - spec/dummy/config/initializers/backtrace_silencers.rb
337
+ - spec/dummy/config/initializers/inflections.rb
338
+ - spec/dummy/config/initializers/mime_types.rb
339
+ - spec/dummy/config/initializers/rollout.rb
340
+ - spec/dummy/config/initializers/secret_token.rb
341
+ - spec/dummy/config/initializers/session_store.rb
342
+ - spec/dummy/config/initializers/wrap_parameters.rb
343
+ - spec/dummy/config/locales/en.yml
344
+ - spec/dummy/config/routes.rb
345
+ - spec/dummy/config.ru
346
+ - spec/dummy/log/development.log
347
+ - spec/dummy/log/production.log
348
+ - spec/dummy/log/stdout.log
349
+ - spec/dummy/log/test.log
350
+ - spec/dummy/public/404.html
351
+ - spec/dummy/public/422.html
352
+ - spec/dummy/public/500.html
353
+ - spec/dummy/public/favicon.ico
354
+ - spec/dummy/Rakefile
355
+ - spec/dummy/script/rails
356
+ - spec/dummy/tmp/cache/assets/C44/C60/sprockets%2F32619064c16276c9031bc469f111b6f1
357
+ - spec/dummy/tmp/cache/assets/CA9/290/sprockets%2Ffde33cd38c83e40045112ef236908326
358
+ - spec/dummy/tmp/cache/assets/CB1/0F0/sprockets%2F097929f05538ada1621d2b34d0748fb8
359
+ - spec/dummy/tmp/cache/assets/D0C/460/sprockets%2Fbf6917215d0871b152f3d3ec4ece0486
360
+ - spec/dummy/tmp/cache/assets/D1E/9E0/sprockets%2Fb92e466db7d4e78f107d8386ea19560a
361
+ - spec/dummy/tmp/cache/assets/D22/D60/sprockets%2F6c1d9d3c966b8286c00d8dd46bd54598
362
+ - spec/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
363
+ - spec/dummy/tmp/cache/assets/D3E/870/sprockets%2F82e617ed3b33c78bb8340cdbd603d189
364
+ - spec/dummy/tmp/cache/assets/D45/1B0/sprockets%2F89743b2dcefe650c86e16c60dc248a26
365
+ - spec/dummy/tmp/cache/assets/D54/ED0/sprockets%2F71c9fa01091d432b131da3bb73faf3d4
366
+ - spec/dummy/tmp/cache/assets/D62/900/sprockets%2F4d745068b58dab09efc05fd3bd030c05
367
+ - spec/dummy/tmp/cache/assets/D71/220/sprockets%2Fd07f8aed535b53034c9a4489bd6cb45d
368
+ - spec/dummy/tmp/cache/assets/D74/0C0/sprockets%2F28c2d3c4b8de13fe5b746c94d96042dd
369
+ - spec/dummy/tmp/cache/assets/D7D/C20/sprockets%2Ff5f71be7464ea98757bc8e41df514a4b
370
+ - spec/dummy/tmp/cache/assets/D84/210/sprockets%2Fabd0103ccec2b428ac62c94e4c40b384
371
+ - spec/dummy/tmp/cache/assets/D93/100/sprockets%2Ffd9e48a89d83e7b764e2de324ee888b6
372
+ - spec/dummy/tmp/cache/assets/DC2/770/sprockets%2F7f10ac108ce75bbb0e9877b50bcb22fe
373
+ - spec/dummy/tmp/cache/assets/E00/850/sprockets%2Fd5e1f4415f71da50c8365f7ecdeca2ff
374
+ - spec/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
375
+ - spec/dummy/tmp/cache/assets/E3E/230/sprockets%2F8156dcfebf95ff75b117c7e5bffb71dc
376
+ - spec/dummy/tmp/cache/assets/E7A/F10/sprockets%2Ff3d71fbeaa5fdddf600a0ac52af1d8e2
377
+ - spec/dummy/tmp/capybara/capybara-201110152250496494273346.html
378
+ - spec/dummy/tmp/capybara/capybara-201110152251237384633452.html
379
+ - spec/dummy/tmp/capybara/capybara-201110152253073784924369.html
380
+ - spec/dummy/tmp/capybara/capybara-201110152255118447806623.html
381
+ - spec/dummy/tmp/capybara/capybara-201110152257286050916603.html
382
+ - spec/dummy/tmp/capybara/capybara-201110152258202877532249.html
383
+ - spec/dummy/tmp/capybara/capybara-201110152259224345897143.html
384
+ - spec/dummy/tmp/pids/server.pid
385
+ - spec/lib/rollout_ui/feature_spec.rb
386
+ - spec/lib/rollout_ui/wrapper_spec.rb
387
+ - spec/requests/engine/engine_spec.rb
388
+ - spec/spec_helper.rb