| Class | Repositories |
| In: |
vendor/rails/railties/lib/commands/plugin.rb
|
| Parent: | Object |
# File vendor/rails/railties/lib/commands/plugin.rb, line 397
397: def self.each(&block)
398: self.instance.each(&block)
399: end
# File vendor/rails/railties/lib/commands/plugin.rb, line 393
393: def self.instance
394: @instance ||= Repositories.new
395: end
# 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
# 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
# File vendor/rails/railties/lib/commands/plugin.rb, line 338
338: def all
339: @repositories
340: end
# File vendor/rails/railties/lib/commands/plugin.rb, line 368
368: def defaults
369: "http://dev.rubyonrails.com/svn/rails/plugins/\n"
370: end
# File vendor/rails/railties/lib/commands/plugin.rb, line 320
320: def each(&block)
321: @repositories.each(&block)
322: end
# File vendor/rails/railties/lib/commands/plugin.rb, line 334
334: def exist?(uri)
335: @repositories.detect{|repo| repo.uri == uri }
336: end
# 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
# 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
# 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