class Rails::Commands::Plugin
Attributes
environment[R]
script_name[R]
Public Class Methods
new()
click to toggle source
# File lib/rails/commands/plugin.rb, line 281 def initialize @environment = RailsEnvironment.default @rails_root = RailsEnvironment.default.root @script_name = File.basename($0) end
parse!(args=ARGV)
click to toggle source
# File lib/rails/commands/plugin.rb, line 347 def self.parse!(args=ARGV) Plugin.new.parse!(args) end
Public Instance Methods
environment=(value)
click to toggle source
# File lib/rails/commands/plugin.rb, line 287 def environment=(value) @environment = value RailsEnvironment.default = value end
options()
click to toggle source
# File lib/rails/commands/plugin.rb, line 292 def options OptionParser.new do |o| o.set_summary_indent(' ') o.banner = "Usage: plugin [OPTIONS] command" o.define_head "Rails plugin manager." o.separator "" o.separator "GENERAL OPTIONS" o.on("-r", "--root=DIR", String, "Set an explicit rails app directory.", "Default: #{@rails_root}") { |rails_root| @rails_root = rails_root; self.environment = RailsEnvironment.new(@rails_root) } o.on("-v", "--verbose", "Turn on verbose output.") { |verbose| $verbose = verbose } o.on("-h", "--help", "Show this help message.") { puts o; exit } o.separator "" o.separator "COMMANDS" o.separator " install Install plugin(s) from known repositories or URLs." o.separator " remove Uninstall plugins." o.separator "" o.separator "EXAMPLES" o.separator " Install a plugin from a subversion URL:" o.separator " #{@script_name} plugin install http://example.com/my_svn_plugin\n" o.separator " Install a plugin from a git URL:" o.separator " #{@script_name} plugin install git://github.com/SomeGuy/my_awesome_plugin.git\n" o.separator " Install a plugin and add a svn:externals entry to vendor/plugins" o.separator " #{@script_name} plugin install -x my_svn_plugin\n" end end
parse!(args=ARGV)
click to toggle source
# File lib/rails/commands/plugin.rb, line 325 def parse!(args=ARGV) general, sub = split_args(args) options.parse!(general) command = general.shift if command =~ /^(install|remove)$/ command = Commands.const_get(command.capitalize).new(self) command.parse!(sub) else puts "Unknown command: #{command}" unless command.blank? puts options exit 1 end end
split_args(args)
click to toggle source
# File lib/rails/commands/plugin.rb, line 340 def split_args(args) left = [] left << args.shift while args[0] and args[0] =~ /^-/ left << args.shift if args[0] [left, args] end