Methods
Included Modules
Public Class methods
[ show source ]
# File railties/lib/commands/plugin.rb, line 398
398: def self.each(&block)
399: self.instance.each(&block)
400: end
[ show source ]
# File railties/lib/commands/plugin.rb, line 394
394: def self.instance
395: @instance ||= Repositories.new
396: end
[ show source ]
# File railties/lib/commands/plugin.rb, line 316
316: def initialize(cache_file = File.join(find_home, ".rails-plugin-sources"))
317: @cache_file = File.expand_path(cache_file)
318: load!
319: end
Public Instance methods
[ show source ]
# File railties/lib/commands/plugin.rb, line 325
325: def add(uri)
326: unless find{|repo| repo.uri == uri }
327: @repositories.push(Repository.new(uri)).last
328: end
329: end
[ show source ]
# File railties/lib/commands/plugin.rb, line 339
339: def all
340: @repositories
341: end
[ show source ]
# File railties/lib/commands/plugin.rb, line 369
369: def defaults
370: "http://dev.rubyonrails.com/svn/rails/plugins/\n"
371: end
[ show source ]
# File railties/lib/commands/plugin.rb, line 321
321: def each(&block)
322: @repositories.each(&block)
323: end
[ show source ]
# File railties/lib/commands/plugin.rb, line 335
335: def exist?(uri)
336: @repositories.detect{|repo| repo.uri == uri }
337: end
[ show source ]
# File railties/lib/commands/plugin.rb, line 376
376: def find_home
377: ['HOME', 'USERPROFILE'].each do |homekey|
378: return ENV[homekey] if ENV[homekey]
379: end
380: if ENV['HOMEDRIVE'] && ENV['HOMEPATH']
381: return "#{ENV['HOMEDRIVE']}:#{ENV['HOMEPATH']}"
382: end
383: begin
384: File.expand_path("~")
385: rescue StandardError => ex
386: if File::ALT_SEPARATOR
387: "C:/"
388: else
389: "/"
390: end
391: end
392: end
[ show source ]
# File railties/lib/commands/plugin.rb, line 343
343: def find_plugin(name)
344: @repositories.each do |repo|
345: repo.each do |plugin|
346: return plugin if plugin.name == name
347: end
348: end
349: return nil
350: end
[ show source ]
# File railties/lib/commands/plugin.rb, line 352
352: def load!
353: contents = File.exist?(@cache_file) ? File.read(@cache_file) : defaults
354: contents = defaults if contents.empty?
355: @repositories = contents.split(/\n/).reject do |line|
356: line =~ /^\s*#/ or line =~ /^\s*$/
357: end.map { |source| Repository.new(source.strip) }
358: end
[ show source ]
# File railties/lib/commands/plugin.rb, line 331
331: def remove(uri)
332: @repositories.reject!{|repo| repo.uri == uri}
333: end
[ show source ]
# File railties/lib/commands/plugin.rb, line 360
360: def save
361: File.open(@cache_file, 'w') do |f|
362: each do |repo|
363: f.write(repo.uri)
364: f.write("\n")
365: end
366: end
367: end