class Redmine::Utils::PluginInstaller
Public Class Methods
new(plugins_folder, plugin_props)
click to toggle source
# File lib/redmine/utils/plugin_installer.rb, line 8 def initialize(plugins_folder, plugin_props) @plugins_folder = plugins_folder @plugin = plugin_props end
Public Instance Methods
install()
click to toggle source
# File lib/redmine/utils/plugin_installer.rb, line 13 def install if folder_exists? update_plugin else clone_plugin end bundle migrate end
Private Instance Methods
bundle()
click to toggle source
# File lib/redmine/utils/plugin_installer.rb, line 54 def bundle shell.execute( "cd #{dest_dir}; cd ..; bundle" ) end
clone_plugin()
click to toggle source
# File lib/redmine/utils/plugin_installer.rb, line 37 def clone_plugin shell.execute( "git clone #{@plugin.git} #{dest_dir}" ) end
commit_specification()
click to toggle source
# File lib/redmine/utils/plugin_installer.rb, line 49 def commit_specification return @plugin.tag if @plugin.tag return "origin/#{@plugin.branch}" if @plugin.branch end
dest_dir()
click to toggle source
# File lib/redmine/utils/plugin_installer.rb, line 29 def dest_dir File.join(@plugins_folder, @plugin.folder) end
folder_exists?()
click to toggle source
# File lib/redmine/utils/plugin_installer.rb, line 25 def folder_exists? File.directory?(dest_dir) end
migrate()
click to toggle source
# File lib/redmine/utils/plugin_installer.rb, line 60 def migrate shell.execute( "cd #{dest_dir}; cd ..; bundle exec rake redmine:plugins" ) end
shell()
click to toggle source
# File lib/redmine/utils/plugin_installer.rb, line 33 def shell @shell ||= Redmine::Utils::System.new end
update_plugin()
click to toggle source
# File lib/redmine/utils/plugin_installer.rb, line 43 def update_plugin shell.execute( "cd #{dest_dir}; git fetch -a; git reset --hard #{commit_specification}" ) end