Class | RailsEnvironment |
In: |
vendor/rails/railties/lib/commands/plugin.rb
|
Parent: | Object |
root | [R] |
# File vendor/rails/railties/lib/commands/plugin.rb, line 73 73: def self.default 74: @default ||= find 75: end
# File vendor/rails/railties/lib/commands/plugin.rb, line 77 77: def self.default=(rails_env) 78: @default = rails_env 79: end
# File vendor/rails/railties/lib/commands/plugin.rb, line 65 65: def self.find(dir=nil) 66: dir ||= pwd 67: while dir.length > 1 68: return new(dir) if File.exist?(File.join(dir, 'config', 'environment.rb')) 69: dir = File.dirname(dir) 70: end 71: end
# File vendor/rails/railties/lib/commands/plugin.rb, line 61 61: def initialize(dir) 62: @root = dir 63: end
# File vendor/rails/railties/lib/commands/plugin.rb, line 115 115: def best_install_method 116: return :http unless use_svn? 117: case 118: when use_externals? then :externals 119: when use_checkout? then :checkout 120: else :export 121: end 122: end
# File vendor/rails/railties/lib/commands/plugin.rb, line 124 124: def externals 125: return [] unless use_externals? 126: ext = `svn propget svn:externals "#{root}/vendor/plugins"` 127: ext.reject{ |line| line.strip == '' }.map do |line| 128: line.strip.split(/\s+/, 2) 129: end 130: end
# File vendor/rails/railties/lib/commands/plugin.rb, line 132 132: def externals=(items) 133: unless items.is_a? String 134: items = items.map{|name,uri| "#{name.ljust(29)} #{uri.chomp('/')}"}.join("\n") 135: end 136: Tempfile.open("svn-set-prop") do |file| 137: file.write(items) 138: file.flush 139: system("svn propset -q svn:externals -F \"#{file.path}\" \"#{root}/vendor/plugins\"") 140: end 141: end
# File vendor/rails/railties/lib/commands/plugin.rb, line 81 81: def install(name_uri_or_plugin) 82: if name_uri_or_plugin.is_a? String 83: if name_uri_or_plugin =~ /:\/\// 84: plugin = Plugin.new(name_uri_or_plugin) 85: else 86: plugin = Plugins[name_uri_or_plugin] 87: end 88: else 89: plugin = name_uri_or_plugin 90: end 91: unless plugin.nil? 92: plugin.install 93: else 94: puts "Plugin not found: #{name_uri_or_plugin}" 95: end 96: end
# File vendor/rails/railties/lib/commands/plugin.rb, line 108 108: def use_checkout? 109: # this is a bit of a guess. we assume that if the rails environment 110: # is under subversion then they probably want the plugin checked out 111: # instead of exported. This can be overridden on the command line 112: File.directory?("#{root}/.svn") 113: end
# File vendor/rails/railties/lib/commands/plugin.rb, line 104 104: def use_externals? 105: use_svn? && File.directory?("#{root}/vendor/plugins/.svn") 106: end