Class | Commands::List |
In: |
vendor/rails/railties/lib/commands/plugin.rb
|
Parent: | Object |
# File vendor/rails/railties/lib/commands/plugin.rb, line 523 523: def initialize(base_command) 524: @base_command = base_command 525: @sources = [] 526: @local = false 527: @remote = true 528: end
# File vendor/rails/railties/lib/commands/plugin.rb, line 530 530: def options 531: OptionParser.new do |o| 532: o.set_summary_indent(' ') 533: o.banner = "Usage: #{@base_command.script_name} list [OPTIONS] [PATTERN]" 534: o.define_head "List available plugins." 535: o.separator "" 536: o.separator "Options:" 537: o.separator "" 538: o.on( "-s", "--source=URL1,URL2", Array, 539: "Use the specified plugin repositories.") {|@sources|} 540: o.on( "--local", 541: "List locally installed plugins.") {|@local| @remote = false} 542: o.on( "--remote", 543: "List remotely available plugins. This is the default behavior", 544: "unless --local is provided.") {|@remote|} 545: end 546: end
# File vendor/rails/railties/lib/commands/plugin.rb, line 548 548: def parse!(args) 549: options.order!(args) 550: unless @sources.empty? 551: @sources.map!{ |uri| Repository.new(uri) } 552: else 553: @sources = Repositories.instance.all 554: end 555: if @remote 556: @sources.map{|r| r.plugins}.flatten.each do |plugin| 557: if @local or !plugin.installed? 558: puts plugin.to_s 559: end 560: end 561: else 562: cd "#{@base_command.environment.root}/vendor/plugins" 563: Dir["*"].select{|p| File.directory?(p)}.each do |name| 564: puts name 565: end 566: end 567: end