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