# File lib/puppet/rails.rb, line 42
42:   def self.database_arguments
43:     adapter = Puppet[:dbadapter]
44: 
45:     args = {:adapter => adapter, :log_level => Puppet[:rails_loglevel]}
46: 
47:     case adapter
48:     when "sqlite3"
49:       args[:database] = Puppet[:dblocation]
50:     when "mysql", "postgresql"
51:       args[:host]     = Puppet[:dbserver] unless Puppet[:dbserver].to_s.empty?
52:       args[:port]     = Puppet[:dbport] unless Puppet[:dbport].to_s.empty?
53:       args[:username] = Puppet[:dbuser] unless Puppet[:dbuser].to_s.empty?
54:       args[:password] = Puppet[:dbpassword] unless Puppet[:dbpassword].to_s.empty?
55:       args[:pool]     = Puppet[:dbconnections].to_i unless Puppet[:dbconnections].to_i <= 0
56:       args[:database] = Puppet[:dbname]
57:       args[:reconnect]= true
58: 
59:       socket          = Puppet[:dbsocket]
60:       args[:socket]   = socket unless socket.to_s.empty?
61:     when "oracle_enhanced":
62:       args[:database] = Puppet[:dbname] unless Puppet[:dbname].to_s.empty?
63:       args[:username] = Puppet[:dbuser] unless Puppet[:dbuser].to_s.empty?
64:       args[:password] = Puppet[:dbpassword] unless Puppet[:dbpassword].to_s.empty?
65:       args[:pool]     = Puppet[:dbconnections].to_i unless Puppet[:dbconnections].to_i <= 0
66:     else
67:       raise ArgumentError, "Invalid db adapter #{adapter}"
68:     end
69:     args
70:   end