Sha256: 69e0516fabe9e68ace45eccda489901346fa01326e58ae00b7322ca2aa188fd2

Contents?: true

Size: 893 Bytes

Versions: 14

Compression:

Stored size: 893 Bytes

Contents

require 'yaml'
require 'erb'

class SpecClient

  def self.load_config(file)
    YAML.load(ERB.new(File.read(file)).result)
  end

  def self.mysql(name)
    file = File.join(File.dirname(__FILE__), '..', 'config', 'connections', 'mysql', "#{name}.yml")
    config = self.load_config(file)
    db = config[:database]
    config.delete(:database)
    connection = ::Mysql2::Client.new(config)
    begin 
      connection.query("use `#{db}`")
    rescue Exception => e
      puts "#{e} => will create new databse #{db}"
    end
    connection
  end

  def self.elasticsearch(name)
    file = File.join(File.dirname(__FILE__), '..', 'config', 'connections', 'elasticsearch', "#{name}.yml")
    config = self.load_config(file)
    ::Elasticsearch::Client.new(config)
  end

  def self.csv(file)
    CSV.read(file, headers: true, converters: :all).map {|r| r = r.to_hash.symbolize_keys }
  end

end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
forklift_etl-1.2.2 spec/support/spec_client.rb
forklift_etl-1.2.1 spec/support/spec_client.rb
forklift_etl-1.2.0 spec/support/spec_client.rb
forklift_etl-1.1.12 spec/support/spec_client.rb
forklift_etl-1.1.11 spec/support/spec_client.rb
forklift_etl-1.1.10 spec/support/spec_client.rb
forklift_etl-1.1.9 spec/support/spec_client.rb
forklift_etl-1.1.8 spec/support/spec_client.rb
forklift_etl-1.1.7 spec/support/spec_client.rb
forklift_etl-1.1.6 spec/support/spec_client.rb
forklift_etl-1.1.5 spec/support/spec_client.rb
forklift_etl-1.1.4 spec/support/spec_client.rb
forklift_etl-1.1.3 spec/support/spec_client.rb
forklift_etl-1.1.2 spec/support/spec_client.rb