module WonderOracleDatabase
Constants
- VERSION
Public Class Methods
environment()
click to toggle source
# File lib/wonder_oracle_database.rb, line 31 def environment result = nil variable_candidates.each do |e| next if result result = ENV[e] end result end
invalid_variable_error()
click to toggle source
# File lib/wonder_oracle_database.rb, line 78 def invalid_variable_error message = "Configuração de banco de dados inválida: deve ser no " + "formato usuario/senha@[ip/]banco ou obfuscada, valor " + "da variável: `#{environment}`." false end
load()
click to toggle source
# File lib/wonder_oracle_database.rb, line 27 def load parsed_env if present? end
obfuscate_variable()
click to toggle source
# File lib/wonder_oracle_database.rb, line 69 def obfuscate_variable parse_obfuscated_variable.split('') # cria um array de caracteres .collect { |c| (c.chr.ord + 1).chr } # converte a cadeia de caracteres para seus valores obfuscados .join # junta o array em uma string .reverse # inverte a string .unpack('H*') # converte pra array de hexadecimais .join # junta o array em uma string end
parse_obfuscated_variable()
click to toggle source
# File lib/wonder_oracle_database.rb, line 61 def parse_obfuscated_variable environment =~ /^(\w+)\/(\w+)@(.+)$/ ? environment : [environment].pack('H*') # converte de hex para decimal .reverse # inverte a string .split('') # cria um array de caracteres .collect { |c| (c.chr.ord - 1).chr } # converte a cadeia de caracteres obfuscados pra seus valores verdadeiros .join # junta o array em uma string end
parsed_env()
click to toggle source
# File lib/wonder_oracle_database.rb, line 43 def parsed_env match = parse_obfuscated_variable.match(/^(\w+)\/(\w+)@([\d+\.\:]+)\/?(.+)?$/) return invalid_variable_error unless match usuario, senha, host, banco = match.captures { username: usuario, password: senha, database: banco, host: host, adapter: 'oracle_enhanced', shared: true, encoding: 'unicode' } end
present?()
click to toggle source
# File lib/wonder_oracle_database.rb, line 15 def present? !environment.nil? end
test?()
click to toggle source
# File lib/wonder_oracle_database.rb, line 19 def test? ENV['RAILS_ENV'].to_s.upcase.eql?('TEST') end
variable_candidates()
click to toggle source
# File lib/wonder_oracle_database.rb, line 5 def variable_candidates %w[ PROBUS_NEXT_DATABASE_URL PROBUS_DATABASE_URL WONDER_DATABASE_URL W_DATABASE_URL W_HOST_DB_SERVER ] end