3. What is a engine?
●
Works exactly as a built-in rails application
●
Railtie
●
Active Record
●
Active Resource
●
Action Mailer
●
Action Controller
●
Action View
13. Integrating With Another App
$ rake routes
blog_posts GET /blog/posts(.:format) {:action=>"index", :controller=>"blog/posts"}
POST /blog/posts(.:format) {:action=>"create",
:controller=>"blog/posts"}
new_blog_post GET /blog/posts/new(.:format) {:action=>"new", :controller=>"blog/posts"}
edit_blog_post GET /blog/posts/:id/edit(.:format) {:action=>"edit", :controller=>"blog/posts"}
blog_post GET /blog/posts/:id(.:format) {:action=>"show",
:controller=>"blog/posts"}
PUT /blog/posts/:id(.:format) {:action=>"update",
:controller=>"blog/posts"}
DELETE /blog/posts/:id(.:format) {:action=>"destroy",
:controller=>"blog/posts"}
16. The Solution
namespace :engine do
task :create, :engine do |cmd, args|
puts "Creating symbolic links..."
system "mkdir #{Rails.root.to_s}/public/#{args[:engin
system "ln -s #{Rails.root.to_s}/vendor/plugins/#{arg
system "ln -s #{Rails.root.to_s}/vendor/plugins/#{arg
puts "Done!"
end
end