Methods
Public Class methods
new(base_command)
     # File railties/lib/commands/plugin.rb, line 541
541:     def initialize(base_command)
542:       @base_command = base_command
543:       @sources = []
544:       @local = false
545:       @remote = true
546:     end
Public Instance methods
options()
     # File railties/lib/commands/plugin.rb, line 548
548:     def options
549:       OptionParser.new do |o|
550:         o.set_summary_indent('  ')
551:         o.banner =    "Usage: #{@base_command.script_name} list [OPTIONS] [PATTERN]"
552:         o.define_head "List available plugins."
553:         o.separator   ""        
554:         o.separator   "Options:"
555:         o.separator   ""
556:         o.on(         "-s", "--source=URL1,URL2", Array,
557:                       "Use the specified plugin repositories.") {|sources| @sources = sources}
558:         o.on(         "--local", 
559:                       "List locally installed plugins.") {|local| @local, @remote = local, false}
560:         o.on(         "--remote",
561:                       "List remotely available plugins. This is the default behavior",
562:                       "unless --local is provided.") {|remote| @remote = remote}
563:       end
564:     end
parse!(args)
     # File railties/lib/commands/plugin.rb, line 566
566:     def parse!(args)
567:       options.order!(args)
568:       unless @sources.empty?
569:         @sources.map!{ |uri| Repository.new(uri) }
570:       else
571:         @sources = Repositories.instance.all
572:       end
573:       if @remote
574:         @sources.map{|r| r.plugins}.flatten.each do |plugin| 
575:           if @local or !plugin.installed?
576:             puts plugin.to_s
577:           end
578:         end
579:       else
580:         cd "#{@base_command.environment.root}/vendor/plugins"
581:         Dir["*"].select{|p| File.directory?(p)}.each do |name| 
582:           puts name
583:         end
584:       end
585:     end