##// END OF EJS Templates
Parse database.yml with erb (#13004)....
Jean-Philippe Lang -
r11056:b0f496a58d4e
parent child
Show More
@@ -1,96 +1,97
1 1 source 'http://rubygems.org'
2 2
3 3 gem 'rails', '3.2.11'
4 4 gem "jquery-rails", "~> 2.0.2"
5 5 gem "i18n", "~> 0.6.0"
6 6 gem "coderay", "~> 1.0.6"
7 7 gem "fastercsv", "~> 1.5.0", :platforms => [:mri_18, :mingw_18, :jruby]
8 8 gem "builder", "3.0.0"
9 9
10 10 # Optional gem for LDAP authentication
11 11 group :ldap do
12 12 gem "net-ldap", "~> 0.3.1"
13 13 end
14 14
15 15 # Optional gem for OpenID authentication
16 16 group :openid do
17 17 gem "ruby-openid", "~> 2.1.4", :require => "openid"
18 18 gem "rack-openid"
19 19 end
20 20
21 21 # Optional gem for exporting the gantt to a PNG file, not supported with jruby
22 22 platforms :mri, :mingw do
23 23 group :rmagick do
24 24 # RMagick 2 supports ruby 1.9
25 25 # RMagick 1 would be fine for ruby 1.8 but Bundler does not support
26 26 # different requirements for the same gem on different platforms
27 27 gem "rmagick", ">= 2.0.0"
28 28 end
29 29 end
30 30
31 31 platforms :jruby do
32 32 # jruby-openssl is bundled with JRuby 1.7.0
33 33 gem "jruby-openssl" if Object.const_defined?(:JRUBY_VERSION) && JRUBY_VERSION < '1.7.0'
34 34 gem "activerecord-jdbc-adapter", "1.2.5"
35 35 end
36 36
37 37 # Include database gems for the adapters found in the database
38 38 # configuration file
39 require 'erb'
39 40 database_file = File.join(File.dirname(__FILE__), "config/database.yml")
40 41 if File.exist?(database_file)
41 database_config = YAML.load_file(database_file)
42 database_config = YAML::load(ERB.new(IO.read(database_file)).result)
42 43 adapters = database_config.values.map {|c| c['adapter']}.compact.uniq
43 44 if adapters.any?
44 45 adapters.each do |adapter|
45 46 case adapter
46 47 when /mysql/
47 48 gem "mysql", "~> 2.8.1", :platforms => [:mri_18, :mingw_18]
48 49 gem "mysql2", "~> 0.3.11", :platforms => [:mri_19, :mingw_19]
49 50 gem "activerecord-jdbcmysql-adapter", :platforms => :jruby
50 51 when /postgresql/
51 52 gem "pg", ">= 0.11.0", :platforms => [:mri, :mingw]
52 53 gem "activerecord-jdbcpostgresql-adapter", :platforms => :jruby
53 54 when /sqlite3/
54 55 gem "sqlite3", :platforms => [:mri, :mingw]
55 56 gem "activerecord-jdbcsqlite3-adapter", :platforms => :jruby
56 57 when /sqlserver/
57 58 gem "tiny_tds", "~> 0.5.1", :platforms => [:mri, :mingw]
58 59 gem "activerecord-sqlserver-adapter", :platforms => [:mri, :mingw]
59 60 else
60 61 warn("Unknown database adapter `#{adapter}` found in config/database.yml, use Gemfile.local to load your own database gems")
61 62 end
62 63 end
63 64 else
64 65 warn("No adapter found in config/database.yml, please configure it first")
65 66 end
66 67 else
67 68 warn("Please configure your config/database.yml first")
68 69 end
69 70
70 71 group :development do
71 72 gem "rdoc", ">= 2.4.2"
72 73 gem "yard"
73 74 end
74 75
75 76 group :test do
76 77 gem "shoulda", "~> 2.11"
77 78 # Shoulda does not work nice on Ruby 1.9.3 and JRuby 1.7.
78 79 # It seems to need test-unit explicitely.
79 80 platforms = [:mri_19]
80 81 platforms << :jruby if defined?(JRUBY_VERSION) && JRUBY_VERSION >= "1.7"
81 82 gem "test-unit", :platforms => platforms
82 83 gem "mocha", "0.12.3"
83 84 gem 'capybara', '~> 2.0.0'
84 85 end
85 86
86 87 local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local")
87 88 if File.exists?(local_gemfile)
88 89 puts "Loading Gemfile.local ..." if $DEBUG # `ruby -d` or `bundle -v`
89 90 instance_eval File.read(local_gemfile)
90 91 end
91 92
92 93 # Load plugins' Gemfiles
93 94 Dir.glob File.expand_path("../plugins/*/Gemfile", __FILE__) do |file|
94 95 puts "Loading #{file} ..." if $DEBUG # `ruby -d` or `bundle -v`
95 96 instance_eval File.read(file)
96 97 end
General Comments 0
You need to be logged in to leave comments. Login now