| Class | Repositories |
| In: |
vendor/rails/railties/lib/commands/plugin.rb
|
| Parent: | Object |
# File vendor/rails/railties/lib/commands/plugin.rb, line 380
380: def self.each(&block)
381: self.instance.each(&block)
382: end
# File vendor/rails/railties/lib/commands/plugin.rb, line 376
376: def self.instance
377: @instance ||= Repositories.new
378: end
# 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
# 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
# File vendor/rails/railties/lib/commands/plugin.rb, line 321
321: def all
322: @repositories
323: end
# File vendor/rails/railties/lib/commands/plugin.rb, line 351
351: def defaults
352: "http://dev.rubyonrails.com/svn/rails/plugins/\n"
353: end
# File vendor/rails/railties/lib/commands/plugin.rb, line 303
303: def each(&block)
304: @repositories.each(&block)
305: end
# File vendor/rails/railties/lib/commands/plugin.rb, line 317
317: def exist?(uri)
318: @repositories.detect{|repo| repo.uri == uri }
319: end
# 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
# 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
# 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