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 380
380:   def self.each(&block)
381:     self.instance.each(&block)
382:   end

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 376
376:   def self.instance
377:     @instance ||= Repositories.new
378:   end

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 298
298:   def initialize(cache_file = File.join(find_home, ".rails-plugin-sources"))
299:     @cache_file = File.expand_path(cache_file)
300:     load!
301:   end

Public Instance methods

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 307
307:   def add(uri)
308:     unless find{|repo| repo.uri == uri }
309:       @repositories.push(Repository.new(uri)).last
310:     end
311:   end

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 321
321:   def all
322:     @repositories
323:   end

[Source]

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

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 303
303:   def each(&block)
304:     @repositories.each(&block)
305:   end

[Source]

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

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 358
358:   def find_home
359:     ['HOME', 'USERPROFILE'].each do |homekey|
360:       return ENV[homekey] if ENV[homekey]
361:     end
362:     if ENV['HOMEDRIVE'] && ENV['HOMEPATH']
363:       return "#{ENV['HOMEDRIVE']}:#{ENV['HOMEPATH']}"
364:     end
365:     begin
366:       File.expand_path("~")
367:     rescue StandardError => ex
368:       if File::ALT_SEPARATOR
369:         "C:/"
370:       else
371:         "/"
372:       end
373:     end
374:   end

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 325
325:   def find_plugin(name)
326:     @repositories.each do |repo|
327:       repo.each do |plugin|
328:         return plugin if plugin.name == name
329:       end
330:     end
331:     return nil
332:   end

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 334
334:   def load!
335:     contents = File.exist?(@cache_file) ? File.read(@cache_file) : defaults
336:     contents = defaults if contents.empty?
337:     @repositories = contents.split(/\n/).reject do |line|
338:       line =~ /^\s*#/ or line =~ /^\s*$/
339:     end.map { |source| Repository.new(source.strip) }
340:   end

[Source]

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

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 342
342:   def save
343:     File.open(@cache_file, 'w') do |f|
344:       each do |repo|
345:         f.write(repo.uri)
346:         f.write("\n")
347:       end
348:     end
349:   end

[Validate]