Methods
Public Class methods
[ show source ]
# 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
[ show source ]
# 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
[ show source ]
# 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