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 358
358:   def self.each(&block)
359:     self.instance.each(&block)
360:   end

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 354
354:   def self.instance
355:     @instance ||= Repositories.new
356:   end

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 276
276:   def initialize(cache_file = File.join(find_home, ".rails-plugin-sources"))
277:     @cache_file = File.expand_path(cache_file)
278:     load!
279:   end

Public Instance methods

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 285
285:   def add(uri)
286:     unless find{|repo| repo.uri == uri }
287:       @repositories.push(Repository.new(uri)).last
288:     end
289:   end

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 299
299:   def all
300:     @repositories
301:   end

[Source]

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

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 281
281:   def each(&block)
282:     @repositories.each(&block)
283:   end

[Source]

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

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 336
336:   def find_home
337:     ['HOME', 'USERPROFILE'].each do |homekey|
338:       return ENV[homekey] if ENV[homekey]
339:     end
340:     if ENV['HOMEDRIVE'] && ENV['HOMEPATH']
341:       return "#{ENV['HOMEDRIVE']}:#{ENV['HOMEPATH']}"
342:     end
343:     begin
344:       File.expand_path("~")
345:     rescue StandardError => ex
346:       if File::ALT_SEPARATOR
347:         "C:/"
348:       else
349:         "/"
350:       end
351:     end
352:   end

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 303
303:   def find_plugin(name)
304:     @repositories.each do |repo|
305:       repo.each do |plugin|
306:         return plugin if plugin.name == name
307:       end
308:     end
309:     return nil
310:   end

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 312
312:   def load!
313:     contents = File.exist?(@cache_file) ? File.read(@cache_file) : defaults
314:     contents = defaults if contents.empty?
315:     @repositories = contents.split(/\n/).reject do |line|
316:       line =~ /^\s*#/ or line =~ /^\s*$/
317:     end.map { |source| Repository.new(source.strip) }
318:   end

[Source]

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

[Source]

     # File vendor/rails/railties/lib/commands/plugin.rb, line 320
320:   def save
321:     File.open(@cache_file, 'w') do |f|
322:       each do |repo|
323:         f.write(repo.uri)
324:         f.write("\n")
325:       end
326:     end
327:   end

[Validate]