Object
# File lib/heroku/plugin.rb, line 69 def self.check_for_deprecation(plugin) return unless STDIN.isatty if DEPRECATED_PLUGINS.include?(plugin) if confirm "The plugin #{plugin} has been deprecated. Would you like to remove it? (y/N)" remove_plugin(plugin) end end end
# File lib/heroku/plugin.rb, line 36 def self.directory File.expand_path("#{home_directory}/.heroku/plugins") end
# File lib/heroku/plugin.rb, line 40 def self.list Dir["#{directory}/*"].sort.map do |folder| File.basename(folder) end end
# File lib/heroku/plugin.rb, line 46 def self.load! list.each do |plugin| check_for_deprecation(plugin) next if skip_plugins.include?(plugin) load_plugin(plugin) end end
# File lib/heroku/plugin.rb, line 54 def self.load_plugin(plugin) begin folder = "#{self.directory}/#{plugin}" $: << "#{folder}/lib" if File.directory? "#{folder}/lib" load "#{folder}/init.rb" if File.exists? "#{folder}/init.rb" rescue ScriptError, StandardError => error styled_error(error, "Unable to load plugin #{plugin}.") false end end
# File lib/heroku/plugin.rb, line 83 def initialize(uri) @uri = uri guess_name(uri) end
# File lib/heroku/plugin.rb, line 96 def install if File.directory?(path) uninstall end FileUtils.mkdir_p(self.class.directory) Dir.chdir(self.class.directory) do git("clone #{uri}") unless $?.success? FileUtils.rm_rf path return false end end true end
# File lib/heroku/plugin.rb, line 92 def path "#{self.class.directory}/#{name}" end
# File lib/heroku/plugin.rb, line 111 def uninstall ensure_plugin_exists FileUtils.rm_r(path) end
# File lib/heroku/plugin.rb, line 116 def update ensure_plugin_exists if File.symlink?(path) raise Heroku::Plugin::ErrorUpdatingSymlinkPlugin else Dir.chdir(path) do unless git('config --get branch.master.remote').empty? message = git("pull") unless $?.success? error("Unable to update #{name}.\n" + message) end else error(#{name} is a legacy plugin installation.Enable updating by reinstalling with `heroku plugins:install`.) end end end end
Generated with the Darkfish Rdoc Generator 2.