Method: Mysql2::Client#parse_flags_array

Defined in:
lib/mysql2/client.rb

#parse_flags_array(flags, initial = 0) ⇒ Object



106
107
108
109
110
111
112
113
114
115
116
117
118
# File 'lib/mysql2/client.rb', line 106

def parse_flags_array(flags, initial = 0)
  flags.reduce(initial) do |memo, f|
    fneg = f.start_with?('-') ? f[1..-1] : nil
    if fneg && fneg =~ /^\w+$/ && Mysql2::Client.const_defined?(fneg)
      memo & ~ Mysql2::Client.const_get(fneg)
    elsif f && f =~ /^\w+$/ && Mysql2::Client.const_defined?(f)
      memo | Mysql2::Client.const_get(f)
    else
      warn "Unknown MySQL connection flag: '#{f}'"
      memo
    end
  end
end