def self.detect_framework_version(app_root)
if File.directory?("#{app_root}/vendor/rails/railties")
return :vendor
end
environment_rb = File.read("#{app_root}/config/environment.rb")
environment_rb =~ /^[^#]*RAILS_GEM_VERSION\s*=\s*["']([!~<>=]*\s*[\d.]+)["']/
gem_version_spec = $1
if gem_version_spec.nil?
return nil
end
search_results = search_gem('rails', gem_version_spec)
found_version = search_results.map do |x|
x.version.version
end.sort.last
if found_version.nil?
Gem.clear_paths
search_results = search_gem('rails', gem_version_spec)
found_version = search_results.map do |x|
x.version.version
end.sort.last
end
if found_version.nil?
raise VersionNotFound.new("There is no Ruby on Rails version " <<
"installed that matches version \"#{gem_version_spec}\"",
gem_version_spec)
else
return found_version
end
end