| Class | Repositories |
| In: |
railties/lib/commands/plugin.rb
|
| Parent: | Object |
# File railties/lib/commands/plugin.rb, line 358 def self.each(&block) self.instance.each(&block) end
# File railties/lib/commands/plugin.rb, line 354 def self.instance @instance ||= Repositories.new end
# File railties/lib/commands/plugin.rb, line 276 def initialize(cache_file = File.join(find_home, ".rails-plugin-sources")) @cache_file = File.expand_path(cache_file) load! end
# File railties/lib/commands/plugin.rb, line 285 def add(uri) unless find{|repo| repo.uri == uri } @repositories.push(Repository.new(uri)).last end end
# File railties/lib/commands/plugin.rb, line 329 def defaults "http://dev.rubyonrails.com/svn/rails/plugins/\n" end
# File railties/lib/commands/plugin.rb, line 295 def exist?(uri) @repositories.detect{|repo| repo.uri == uri } end
# File railties/lib/commands/plugin.rb, line 336 def find_home ['HOME', 'USERPROFILE'].each do |homekey| return ENV[homekey] if ENV[homekey] end if ENV['HOMEDRIVE'] && ENV['HOMEPATH'] return "#{ENV['HOMEDRIVE']}:#{ENV['HOMEPATH']}" end begin File.expand_path("~") rescue StandardError => ex if File::ALT_SEPARATOR "C:/" else "/" end end end
# File railties/lib/commands/plugin.rb, line 303 def find_plugin(name) @repositories.each do |repo| repo.each do |plugin| return plugin if plugin.name == name end end return nil end
# File railties/lib/commands/plugin.rb, line 312 def load! contents = File.exist?(@cache_file) ? File.read(@cache_file) : defaults contents = defaults if contents.empty? @repositories = contents.split(/\n/).reject do |line| line =~ /^\s*#/ or line =~ /^\s*$/ end.map { |source| Repository.new(source.strip) } end