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