Methods
Included Modules
Public Class methods
each(&block)
     # File railties/lib/commands/plugin.rb, line 398
398:   def self.each(&block)
399:     self.instance.each(&block)
400:   end
instance()
     # File railties/lib/commands/plugin.rb, line 394
394:   def self.instance
395:     @instance ||= Repositories.new
396:   end
new(cache_file = File.join(find_home, ".rails-plugin-sources"))
     # File railties/lib/commands/plugin.rb, line 316
316:   def initialize(cache_file = File.join(find_home, ".rails-plugin-sources"))
317:     @cache_file = File.expand_path(cache_file)
318:     load!
319:   end
Public Instance methods
add(uri)
     # File railties/lib/commands/plugin.rb, line 325
325:   def add(uri)
326:     unless find{|repo| repo.uri == uri }
327:       @repositories.push(Repository.new(uri)).last
328:     end
329:   end
all()
     # File railties/lib/commands/plugin.rb, line 339
339:   def all
340:     @repositories
341:   end
defaults()
     # File railties/lib/commands/plugin.rb, line 369
369:   def defaults
370:     "http://dev.rubyonrails.com/svn/rails/plugins/\n"
371:   end
each(&block)
     # File railties/lib/commands/plugin.rb, line 321
321:   def each(&block)
322:     @repositories.each(&block)
323:   end
exist?(uri)
     # File railties/lib/commands/plugin.rb, line 335
335:   def exist?(uri)
336:     @repositories.detect{|repo| repo.uri == uri }
337:   end
find_home()
     # File railties/lib/commands/plugin.rb, line 376
376:   def find_home
377:     ['HOME', 'USERPROFILE'].each do |homekey|
378:       return ENV[homekey] if ENV[homekey]
379:     end
380:     if ENV['HOMEDRIVE'] && ENV['HOMEPATH']
381:       return "#{ENV['HOMEDRIVE']}:#{ENV['HOMEPATH']}"
382:     end
383:     begin
384:       File.expand_path("~")
385:     rescue StandardError => ex
386:       if File::ALT_SEPARATOR
387:         "C:/"
388:       else
389:         "/"
390:       end
391:     end
392:   end
find_plugin(name)
     # File railties/lib/commands/plugin.rb, line 343
343:   def find_plugin(name)
344:     @repositories.each do |repo|
345:       repo.each do |plugin|
346:         return plugin if plugin.name == name
347:       end
348:     end
349:     return nil
350:   end
load!()
     # File railties/lib/commands/plugin.rb, line 352
352:   def load!
353:     contents = File.exist?(@cache_file) ? File.read(@cache_file) : defaults
354:     contents = defaults if contents.empty?
355:     @repositories = contents.split(/\n/).reject do |line|
356:       line =~ /^\s*#/ or line =~ /^\s*$/
357:     end.map { |source| Repository.new(source.strip) }
358:   end
remove(uri)
     # File railties/lib/commands/plugin.rb, line 331
331:   def remove(uri)
332:     @repositories.reject!{|repo| repo.uri == uri}
333:   end
save()
     # File railties/lib/commands/plugin.rb, line 360
360:   def save
361:     File.open(@cache_file, 'w') do |f|
362:       each do |repo|
363:         f.write(repo.uri)
364:         f.write("\n")
365:       end
366:     end
367:   end