Method: Mysql2::Client#initialize
- Defined in:
- lib/mysql2/client.rb
#initialize(opts = {}) ⇒ Client
Returns a new instance of Client.
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/mysql2/client.rb', line 16 def initialize(opts = {}) @query_options = @@default_query_options.dup @query_options.merge! opts init_connection [:reconnect, :connect_timeout].each do |key| next unless opts.key?(key) send(:"#{key}=", opts[key]) end # force the encoding to utf8 self.charset_name = opts[:encoding] || 'utf8' @read_timeout = opts[:read_timeout] if @read_timeout and @read_timeout < 0 raise Mysql2::Error, "read_timeout must be a positive integer, you passed #{@read_timeout}" end ssl_set(*opts.values_at(:sslkey, :sslcert, :sslca, :sslcapath, :sslcipher)) user = opts[:username] pass = opts[:password] host = opts[:host] || 'localhost' port = opts[:port] || 3306 database = opts[:database] socket = opts[:socket] flags = opts[:flags] ? opts[:flags] | @query_options[:connect_flags] : @query_options[:connect_flags] connect user, pass, host, port, database, socket, flags end |