chili 2.0.1 → 3.0.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.
- data/README.md +3 -5
- data/chili.gemspec +4 -3
- data/lib/chili.rb +1 -2
- data/lib/chili/base.rb +11 -0
- data/lib/chili/engine_extensions.rb +28 -0
- data/lib/chili/version.rb +1 -1
- data/lib/generators/chili/feature/feature_generator.rb +3 -2
- data/lib/tasks/chili.rake +17 -0
- data/spec/README.md +1 -1
- data/spec/{lib/chili → chili}/activatable_spec.rb +0 -0
- data/spec/dummy/blank_feature/blank_feature.gemspec +2 -2
- data/spec/dummy/blank_feature/lib/blank_feature.rb +1 -1
- data/spec/example_app/lib/chili/invites_feature/lib/invites_feature.rb +1 -1
- data/spec/example_app/lib/chili/social_feature/lib/social_feature.rb +1 -1
- data/spec/{requests → features}/social_extension_spec.rb +0 -0
- data/spec/spec_helper.rb +1 -0
- metadata +31 -15
- data/lib/chili/extensions/rails/engine.rb +0 -9
- data/spec/dummy/blank_feature/MIT-LICENSE +0 -20
data/README.md
CHANGED
@@ -52,7 +52,7 @@ The context of the active_if block is the application controller so you can use
|
|
52
52
|
```ruby
|
53
53
|
# {feature}/lib/social_feature.rb
|
54
54
|
module SocialFeature
|
55
|
-
extend Chili::
|
55
|
+
extend Chili::Base
|
56
56
|
active_if { logged_in? && current_user.admin? } # Feature is only visible to logged in admin users
|
57
57
|
end
|
58
58
|
```
|
@@ -83,11 +83,9 @@ but will only be accessible when active_if is true.
|
|
83
83
|
|
84
84
|
### Migrations
|
85
85
|
|
86
|
-
|
87
|
-
following commands after you've added a new migration to a feature:
|
86
|
+
To copy and run feature db migrations use the following command:
|
88
87
|
|
89
|
-
$ rake social_feature:
|
90
|
-
$ rake db:migrate
|
88
|
+
$ rake social_feature:db:migrate
|
91
89
|
|
92
90
|
### Modifying existing models
|
93
91
|
|
data/chili.gemspec
CHANGED
@@ -18,9 +18,10 @@ Gem::Specification.new do |gem|
|
|
18
18
|
gem.add_dependency "rails", "~> 3.2"
|
19
19
|
gem.add_dependency "deface", "~> 1.0.0.rc1"
|
20
20
|
|
21
|
-
gem.add_development_dependency 'rspec', '~> 2.
|
22
|
-
gem.add_development_dependency 'rspec-rails', '~> 2.
|
21
|
+
gem.add_development_dependency 'rspec', '~> 2.12.0'
|
22
|
+
gem.add_development_dependency 'rspec-rails', '~> 2.12.0'
|
23
23
|
gem.add_development_dependency 'jquery-rails'
|
24
|
-
gem.add_development_dependency 'capybara'
|
24
|
+
gem.add_development_dependency 'capybara', '~> 2.0'
|
25
|
+
gem.add_development_dependency 'xpath'
|
25
26
|
gem.add_development_dependency 'sqlite3'
|
26
27
|
end
|
data/lib/chili.rb
CHANGED
data/lib/chili/base.rb
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
module Chili
|
2
|
+
module EngineExtensions
|
3
|
+
def self.extended(base)
|
4
|
+
base.rake_tasks do
|
5
|
+
next if self.is_a?(Rails::Application)
|
6
|
+
next unless has_migrations?
|
7
|
+
|
8
|
+
namespace railtie_name do
|
9
|
+
namespace :db do
|
10
|
+
desc "Copy and migrate migrations from #{railtie_name}"
|
11
|
+
task :migrate do
|
12
|
+
Rake::Task["#{railtie_name}:install:migrations"].invoke
|
13
|
+
Rake::Task["db:migrate"].invoke
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def automount!(path = nil)
|
21
|
+
engine = self
|
22
|
+
path ||= 'chili/' + engine.parent.to_s.underscore
|
23
|
+
Rails.application.routes.draw do
|
24
|
+
mount engine => path
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/lib/chili/version.rb
CHANGED
@@ -40,6 +40,7 @@ module Chili
|
|
40
40
|
remove_dir 'script'
|
41
41
|
remove_file 'Gemfile'
|
42
42
|
remove_file 'Rakefile'
|
43
|
+
remove_file 'MIT-LICENSE'
|
43
44
|
end
|
44
45
|
|
45
46
|
def remove_jquery_stuff
|
@@ -63,9 +64,9 @@ module Chili
|
|
63
64
|
prepend_to_file "lib/#{feature.name}.rb", "require \"chili\"\n"
|
64
65
|
end
|
65
66
|
|
66
|
-
def
|
67
|
+
def include_base_and_active_if
|
67
68
|
inject_into_file "lib/#{feature.name}.rb", after: "module #{feature.name.camelcase}\n" do <<-RUBY
|
68
|
-
extend Chili::
|
69
|
+
extend Chili::Base
|
69
70
|
active_if { true } # edit this to activate/deactivate feature at runtime
|
70
71
|
RUBY
|
71
72
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
{ spec: 'RSpec::Core::RakeTask', test: 'Rake::TestTask' }.each do |test_lib, rake_task|
|
2
|
+
if Rake::Task.task_defined?(test_lib)
|
3
|
+
|
4
|
+
Rake::Task[test_lib].clear
|
5
|
+
chili_specs = "#{Chili::FEATURE_FOLDER}/**/#{test_lib}/**/*_#{test_lib}.rb"
|
6
|
+
|
7
|
+
task = rake_task.constantize.new(test_lib => 'test:prepare')
|
8
|
+
task.pattern = [task.pattern, chili_specs]
|
9
|
+
|
10
|
+
namespace test_lib do
|
11
|
+
desc "Run tests for all Chili features"
|
12
|
+
rake_task.constantize.new(:chili) do |t|
|
13
|
+
t.pattern = chili_specs
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/spec/README.md
CHANGED
@@ -13,6 +13,6 @@ spec/dummy/app # dummy app for generating chili features inside
|
|
13
13
|
spec/dummy/blank_feature # blank feature template used to compare output of generators
|
14
14
|
spec/example_app # rails app containing 2 chili features for integration testing
|
15
15
|
spec/generators # generator tests
|
16
|
-
spec/
|
16
|
+
spec/chili # chili unit tests
|
17
17
|
spec/requests # integration tests
|
18
18
|
```
|
File without changes
|
@@ -15,8 +15,8 @@ Gem::Specification.new do |s|
|
|
15
15
|
|
16
16
|
s.files = Dir["{app,config,db,lib}/**/*"] + ["MIT-LICENSE", "Rakefile", "README.rdoc"]
|
17
17
|
|
18
|
-
s.add_dependency "rails", "~> 3.2.
|
19
|
-
s.add_dependency 'chili', '~>
|
18
|
+
s.add_dependency "rails", "~> 3.2.9"
|
19
|
+
s.add_dependency 'chili', '~> 3.0'
|
20
20
|
|
21
21
|
s.add_development_dependency "sqlite3"
|
22
22
|
end
|
File without changes
|
data/spec/spec_helper.rb
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
ENV["RAILS_ENV"] ||= 'test'
|
3
3
|
require File.expand_path("../example_app/config/environment", __FILE__)
|
4
4
|
require 'rspec/rails'
|
5
|
+
require 'capybara/rspec'
|
5
6
|
|
6
7
|
# Requires supporting ruby files with custom matchers and macros, etc,
|
7
8
|
# in spec/support/ and its subdirectories.
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chili
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-11-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -50,7 +50,7 @@ dependencies:
|
|
50
50
|
requirements:
|
51
51
|
- - ~>
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: 2.
|
53
|
+
version: 2.12.0
|
54
54
|
type: :development
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -58,7 +58,7 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - ~>
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 2.
|
61
|
+
version: 2.12.0
|
62
62
|
- !ruby/object:Gem::Dependency
|
63
63
|
name: rspec-rails
|
64
64
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,7 +66,7 @@ dependencies:
|
|
66
66
|
requirements:
|
67
67
|
- - ~>
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version: 2.
|
69
|
+
version: 2.12.0
|
70
70
|
type: :development
|
71
71
|
prerelease: false
|
72
72
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -74,7 +74,7 @@ dependencies:
|
|
74
74
|
requirements:
|
75
75
|
- - ~>
|
76
76
|
- !ruby/object:Gem::Version
|
77
|
-
version: 2.
|
77
|
+
version: 2.12.0
|
78
78
|
- !ruby/object:Gem::Dependency
|
79
79
|
name: jquery-rails
|
80
80
|
requirement: !ruby/object:Gem::Requirement
|
@@ -93,6 +93,22 @@ dependencies:
|
|
93
93
|
version: '0'
|
94
94
|
- !ruby/object:Gem::Dependency
|
95
95
|
name: capybara
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ~>
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '2.0'
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '2.0'
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: xpath
|
96
112
|
requirement: !ruby/object:Gem::Requirement
|
97
113
|
none: false
|
98
114
|
requirements:
|
@@ -140,16 +156,19 @@ files:
|
|
140
156
|
- chili.gemspec
|
141
157
|
- lib/chili.rb
|
142
158
|
- lib/chili/activatable.rb
|
159
|
+
- lib/chili/base.rb
|
143
160
|
- lib/chili/bundler.rb
|
144
161
|
- lib/chili/engine.rb
|
145
|
-
- lib/chili/
|
162
|
+
- lib/chili/engine_extensions.rb
|
146
163
|
- lib/chili/feature.rb
|
147
164
|
- lib/chili/overrides.rb
|
148
165
|
- lib/chili/version.rb
|
149
166
|
- lib/generators/chili/feature/USAGE
|
150
167
|
- lib/generators/chili/feature/feature_generator.rb
|
151
168
|
- lib/generators/chili/generator_proxy.rb
|
169
|
+
- lib/tasks/chili.rake
|
152
170
|
- spec/README.md
|
171
|
+
- spec/chili/activatable_spec.rb
|
153
172
|
- spec/dummy/app/app/controllers/application_controller.rb
|
154
173
|
- spec/dummy/app/config/application.rb
|
155
174
|
- spec/dummy/app/config/boot.rb
|
@@ -158,7 +177,6 @@ files:
|
|
158
177
|
- spec/dummy/app/config/environments/development.rb
|
159
178
|
- spec/dummy/app/config/environments/test.rb
|
160
179
|
- spec/dummy/app/script/rails
|
161
|
-
- spec/dummy/blank_feature/MIT-LICENSE
|
162
180
|
- spec/dummy/blank_feature/README.rdoc
|
163
181
|
- spec/dummy/blank_feature/app/assets/images/blank_feature/.gitkeep
|
164
182
|
- spec/dummy/blank_feature/app/assets/javascripts/blank_feature/application.js
|
@@ -260,10 +278,9 @@ files:
|
|
260
278
|
- spec/example_app/public/favicon.ico
|
261
279
|
- spec/example_app/script/rails
|
262
280
|
- spec/example_app/spec/support/user_macros.rb
|
281
|
+
- spec/features/social_extension_spec.rb
|
263
282
|
- spec/generators/chili/feature_generator_spec.rb
|
264
283
|
- spec/generators/chili/generator_proxy_spec.rb
|
265
|
-
- spec/lib/chili/activatable_spec.rb
|
266
|
-
- spec/requests/social_extension_spec.rb
|
267
284
|
- spec/spec_helper.rb
|
268
285
|
- spec/support/dummy_app.rb
|
269
286
|
homepage: http://balvig.github.com/chili/
|
@@ -280,7 +297,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
280
297
|
version: '0'
|
281
298
|
segments:
|
282
299
|
- 0
|
283
|
-
hash:
|
300
|
+
hash: 2891570347868177261
|
284
301
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
285
302
|
none: false
|
286
303
|
requirements:
|
@@ -289,7 +306,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
289
306
|
version: '0'
|
290
307
|
segments:
|
291
308
|
- 0
|
292
|
-
hash:
|
309
|
+
hash: 2891570347868177261
|
293
310
|
requirements: []
|
294
311
|
rubyforge_project:
|
295
312
|
rubygems_version: 1.8.23
|
@@ -298,6 +315,7 @@ specification_version: 3
|
|
298
315
|
summary: The spicy feature toggle framework
|
299
316
|
test_files:
|
300
317
|
- spec/README.md
|
318
|
+
- spec/chili/activatable_spec.rb
|
301
319
|
- spec/dummy/app/app/controllers/application_controller.rb
|
302
320
|
- spec/dummy/app/config/application.rb
|
303
321
|
- spec/dummy/app/config/boot.rb
|
@@ -306,7 +324,6 @@ test_files:
|
|
306
324
|
- spec/dummy/app/config/environments/development.rb
|
307
325
|
- spec/dummy/app/config/environments/test.rb
|
308
326
|
- spec/dummy/app/script/rails
|
309
|
-
- spec/dummy/blank_feature/MIT-LICENSE
|
310
327
|
- spec/dummy/blank_feature/README.rdoc
|
311
328
|
- spec/dummy/blank_feature/app/assets/images/blank_feature/.gitkeep
|
312
329
|
- spec/dummy/blank_feature/app/assets/javascripts/blank_feature/application.js
|
@@ -408,9 +425,8 @@ test_files:
|
|
408
425
|
- spec/example_app/public/favicon.ico
|
409
426
|
- spec/example_app/script/rails
|
410
427
|
- spec/example_app/spec/support/user_macros.rb
|
428
|
+
- spec/features/social_extension_spec.rb
|
411
429
|
- spec/generators/chili/feature_generator_spec.rb
|
412
430
|
- spec/generators/chili/generator_proxy_spec.rb
|
413
|
-
- spec/lib/chili/activatable_spec.rb
|
414
|
-
- spec/requests/social_extension_spec.rb
|
415
431
|
- spec/spec_helper.rb
|
416
432
|
- spec/support/dummy_app.rb
|
@@ -1,20 +0,0 @@
|
|
1
|
-
Copyright 2012 YOURNAME
|
2
|
-
|
3
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
-
a copy of this software and associated documentation files (the
|
5
|
-
"Software"), to deal in the Software without restriction, including
|
6
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
-
permit persons to whom the Software is furnished to do so, subject to
|
9
|
-
the following conditions:
|
10
|
-
|
11
|
-
The above copyright notice and this permission notice shall be
|
12
|
-
included in all copies or substantial portions of the Software.
|
13
|
-
|
14
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
-
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
-
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
-
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|