Skip to content

Commit ecdcc1c

Browse files
committed
Allow the gemspec to find the latest matching major.minor version for activerecord to checkout.
1 parent eb8461f commit ecdcc1c

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

Gemfile

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,17 @@ source :rubygems
44
if ENV['RAILS_SOURCE']
55
gemspec :path => ENV['RAILS_SOURCE']
66
else
7-
spec = eval(File.read('activerecord-sqlserver-adapter.gemspec'))
8-
ar_version = spec.dependencies.detect{ |d|d.name == 'activerecord' }.requirement.requirements.first.last.version
9-
version = ENV['RAILS_VERSION'] || ar_version
7+
version = ENV['RAILS_VERSION'] || begin
8+
require 'net/http'
9+
spec = eval(File.read('activerecord-sqlserver-adapter.gemspec'))
10+
version = spec.dependencies.detect{ |d|d.name == 'activerecord' }.requirement.requirements.first.last.version
11+
major, minor, tiny = version.split('.')
12+
uri = URI.parse "http://rubygems.org/api/v1/versions/activerecord.yaml"
13+
YAML.load(Net::HTTP.get(uri)).select do |data|
14+
a, b, c = data['number'].split('.')
15+
!data['prerelease'] && major == a && minor == b
16+
end.first['number']
17+
end
1018
gem 'rails', :git => "git://github.com/rails/rails.git", :tag => "v#{version}"
1119
end
1220

0 commit comments

Comments
 (0)