Class Repositories
In: vendor/rails/railties/lib/commands/plugin.rb
Parent: Object

Methods

add   all   defaults   each   each   exist?   find_home   find_plugin   instance   load!   new   remove   save  

Included Modules

Enumerable

Public Class methods

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 397
397:   def self.each(&block)
398:     self.instance.each(&block)
399:   end

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 393
393:   def self.instance
394:     @instance ||= Repositories.new
395:   end

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 315
315:   def initialize(cache_file = File.join(find_home, ".rails-plugin-sources"))
316:     @cache_file = File.expand_path(cache_file)
317:     load!
318:   end

Public Instance methods

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 324
324:   def add(uri)
325:     unless find{|repo| repo.uri == uri }
326:       @repositories.push(Repository.new(uri)).last
327:     end
328:   end

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 338
338:   def all
339:     @repositories
340:   end

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 368
368:   def defaults
369:     "http://dev.rubyonrails.com/svn/rails/plugins/\n"
370:   end

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 320
320:   def each(&block)
321:     @repositories.each(&block)
322:   end

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 334
334:   def exist?(uri)
335:     @repositories.detect{|repo| repo.uri == uri }
336:   end

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 375
375:   def find_home
376:     ['HOME', 'USERPROFILE'].each do |homekey|
377:       return ENV[homekey] if ENV[homekey]
378:     end
379:     if ENV['HOMEDRIVE'] && ENV['HOMEPATH']
380:       return "#{ENV['HOMEDRIVE']}:#{ENV['HOMEPATH']}"
381:     end
382:     begin
383:       File.expand_path("~")
384:     rescue StandardError => ex
385:       if File::ALT_SEPARATOR
386:         "C:/"
387:       else
388:         "/"
389:       end
390:     end
391:   end

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 342
342:   def find_plugin(name)
343:     @repositories.each do |repo|
344:       repo.each do |plugin|
345:         return plugin if plugin.name == name
346:       end
347:     end
348:     return nil
349:   end

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 351
351:   def load!
352:     contents = File.exist?(@cache_file) ? File.read(@cache_file) : defaults
353:     contents = defaults if contents.empty?
354:     @repositories = contents.split(/\n/).reject do |line|
355:       line =~ /^\s*#/ or line =~ /^\s*$/
356:     end.map { |source| Repository.new(source.strip) }
357:   end

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 330
330:   def remove(uri)
331:     @repositories.reject!{|repo| repo.uri == uri}
332:   end

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 359
359:   def save
360:     File.open(@cache_file, 'w') do |f|
361:       each do |repo|
362:         f.write(repo.uri)
363:         f.write("\n")
364:       end
365:     end
366:   end

[Validate]