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