/
install.rb
38 lines (30 loc) · 1.15 KB
/
install.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
require 'fileutils'
def plugin_path(relative)
File.expand_path(File.join(File.dirname(__FILE__), relative))
end
def rails_path(relative)
File.expand_path(File.join(File.dirname(__FILE__), '..', '..', '..', relative))
end
def readme_contents
IO.read(plugin_path('README.markdown'))
end
puts "Copying in plugin-specific routes..."
unless File.directory?(rails_path('config'))
FileUtils.mkdir(rails_path('config'))
end
if File.file?(rails_path('config/routes.rb'))
puts "Appending plugin-specific routes to #{rails_path('config/routes.rb')}..."
File.open(rails_path('config/routes.rb'), 'a') do |f|
f.puts
f.puts File.read(plugin_path('lib/plugin-bottom-routes.rb'))
end
else
puts "Copying in plugin-specific routes to #{rails_path('config/routes.rb')}..."
FileUtils.copy(plugin_path('lib/plugin-bottom-routes.rb'), rails_path('config/routes.rb'))
end
puts "Installing plugin migrations"
FileUtils.cp_r(plugin_path('db/migrate'), rails_path('db'))
# run our Rails template to insure needed gems and plugins are installed
system("rake rails:template LOCATION=#{plugin_path('templates/plugin-install.rb')}")
# and output our README
puts readme_contents