| Class | Repositories |
| In: |
vendor/rails/railties/lib/commands/plugin.rb
|
| Parent: | Object |
# File vendor/rails/railties/lib/commands/plugin.rb, line 358
358: def self.each(&block)
359: self.instance.each(&block)
360: end
# File vendor/rails/railties/lib/commands/plugin.rb, line 354
354: def self.instance
355: @instance ||= Repositories.new
356: end
# 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
# 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
# File vendor/rails/railties/lib/commands/plugin.rb, line 299
299: def all
300: @repositories
301: end
# File vendor/rails/railties/lib/commands/plugin.rb, line 329
329: def defaults
330: "http://dev.rubyonrails.com/svn/rails/plugins/\n"
331: end
# File vendor/rails/railties/lib/commands/plugin.rb, line 281
281: def each(&block)
282: @repositories.each(&block)
283: end
# File vendor/rails/railties/lib/commands/plugin.rb, line 295
295: def exist?(uri)
296: @repositories.detect{|repo| repo.uri == uri }
297: end
# 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
# 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
# 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