chili 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -19,7 +19,6 @@ Unobtrusively(!)...
19
19
 
20
20
  ### Obstacles
21
21
 
22
- - Resource route generator adds routes both to engine and main routes file
23
22
  - Deface caches overrides in production. Monkey patch?
24
23
 
25
24
  ### Minor niggles
@@ -38,10 +37,10 @@ Assuming you want to add a new extension that adds "like" capabilities to a subs
38
37
 
39
38
  chili likes
40
39
 
41
- This is basically a shortcut for running the rails engine generator with
42
- a custom template:
40
+ This is basically a shortcut for running the `rails plugin new` engine generator with a custom template.
43
41
 
44
- rails plugin new chili_likes --mountable -m https://raw.github.com/balvig/chili/master/lib/chili/template.rb
42
+ The script will prompt you for the location of your main app repository to which you are adding the chili extension.
43
+ The repo will be added as a submodule in the main_app directory.
45
44
 
46
45
  ### Prepare main app
47
46
 
@@ -78,16 +77,16 @@ As an example, assuming the main app has a partial at `app/views/posts/_post.htm
78
77
  ### Adding new resources
79
78
 
80
79
  Use `rails g scaffold Like` as usual when using engines. The new resource will be namespaced to ChiliLikes::Like
81
- and automounted in the main app at `/chili_extension/likes` if active_if is true. All the rules for using
82
- [engine-based models](http://railscasts.com/episodes/277-mountable-engines?view=asciicast) apply.
80
+ and automounted in the main app at `/chili_likes/likes`, but only accessible when active_if is true.
81
+ All the rules for using [engine-based models](http://railscasts.com/episodes/277-mountable-engines?view=asciicast) apply.
83
82
 
84
83
  ### Modifying existing models
85
84
 
86
85
  Create a model with the same name as the one you want to modify: `rails g model User --migration=false`
87
86
  and inherit from the original:
88
87
 
89
- ```ruby
90
88
  # app/model/chili_likes/user.rb
89
+ ```ruby
91
90
  module ChiliLikes
92
91
  class User < ::User
93
92
  has_many :likes
data/bin/chili CHANGED
@@ -1,3 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- system "rails plugin new chili_#{ARGV.first} --mountable -m https://raw.github.com/balvig/chili/master/lib/chili/template.rb"
3
+ template_file = File.join(File.dirname(__FILE__), '..', 'lib', 'chili', 'template.rb')
4
+ system "rails plugin new chili_#{ARGV.first} --mountable -m #{template_file}"
data/lib/chili.rb CHANGED
@@ -2,3 +2,4 @@ require "chili/version"
2
2
  require "chili/engine"
3
3
  require "chili/overrides"
4
4
  require "chili/activatable"
5
+ require "chili/extensions/rails/engine"
@@ -0,0 +1,9 @@
1
+ class Rails::Engine
2
+ def self.automount!(path = nil)
3
+ engine = self
4
+ path ||= engine.to_s.underscore.split('/').first
5
+ Rails.application.routes.draw do
6
+ mount engine => path
7
+ end
8
+ end
9
+ end
@@ -60,14 +60,7 @@ RUBY
60
60
  end
61
61
 
62
62
  # Automount engine
63
- append_to_file 'config/routes.rb' do <<-RUBY
64
-
65
- # Automount engine
66
- Rails.application.routes.draw do
67
- mount #{app_path.camelcase}::Engine => "/#{app_path}"
68
- end
69
- RUBY
70
- end
63
+ prepend_to_file 'config/routes.rb', "#{app_path.camelcase}::Engine.automount!\n"
71
64
 
72
65
  # Include chili libs
73
66
  prepend_to_file "lib/#{app_path}.rb" do <<-RUBY
data/lib/chili/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Chili
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
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: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -30,6 +30,7 @@ files:
30
30
  - lib/chili.rb
31
31
  - lib/chili/activatable.rb
32
32
  - lib/chili/engine.rb
33
+ - lib/chili/extensions/rails/engine.rb
33
34
  - lib/chili/overrides.rb
34
35
  - lib/chili/tasks.rb
35
36
  - lib/chili/template.rb