| Class | Commands::List |
| In: |
vendor/rails/railties/lib/commands/plugin.rb
|
| Parent: | Object |
# File vendor/rails/railties/lib/commands/plugin.rb, line 499
499: def initialize(base_command)
500: @base_command = base_command
501: @sources = []
502: @local = false
503: @remote = true
504: end
# File vendor/rails/railties/lib/commands/plugin.rb, line 506
506: def options
507: OptionParser.new do |o|
508: o.set_summary_indent(' ')
509: o.banner = "Usage: #{@base_command.script_name} list [OPTIONS] [PATTERN]"
510: o.define_head "List available plugins."
511: o.separator ""
512: o.separator "Options:"
513: o.separator ""
514: o.on( "-s", "--source=URL1,URL2", Array,
515: "Use the specified plugin repositories.") {|@sources|}
516: o.on( "--local",
517: "List locally installed plugins.") {|@local| @remote = false}
518: o.on( "--remote",
519: "List remotely available plugins. This is the default behavior",
520: "unless --local is provided.") {|@remote|}
521: end
522: end
# File vendor/rails/railties/lib/commands/plugin.rb, line 524
524: def parse!(args)
525: options.order!(args)
526: unless @sources.empty?
527: @sources.map!{ |uri| Repository.new(uri) }
528: else
529: @sources = Repositories.instance.all
530: end
531: if @remote
532: @sources.map{|r| r.plugins}.flatten.each do |plugin|
533: if @local or !plugin.installed?
534: puts plugin.to_s
535: end
536: end
537: else
538: cd "#{@base_command.environment.root}/vendor/plugins"
539: Dir["*"].select{|p| File.directory?(p)}.each do |name|
540: puts name
541: end
542: end
543: end