class EbisuConnection::Config

Attributes

replica_file[W]

Public Class Methods

config() click to toggle source
# File lib/ebisu_connection/config.rb, line 10
def config
  return @config if defined?(@config)

  conf = YAML.load_file(replica_file)
  @config = conf[EbisuConnection.env.to_s] || {}
end
new(spec_name) click to toggle source
# File lib/ebisu_connection/config.rb, line 31
def initialize(spec_name)
  @conf = load_config(spec_name)
end

Private Class Methods

replica_file() click to toggle source
# File lib/ebisu_connection/config.rb, line 19
def replica_file
  return @replica_file if @replica_file

  raise "nothing replica_file. You have to set a file path using EbisuConnection.replica_file= method" unless defined?(Rails)

  file = %w(yml yaml).map{|ext| Rails.root.join("config/replica.#{ext}").to_s }.detect {|f| File.exist?(f) }
  return file if file

  raise "nothing replica_file. You have to put a config/replica.yml file"
end

Public Instance Methods

each(&block) click to toggle source
# File lib/ebisu_connection/config.rb, line 35
def each(&block)
  @conf.each(&block)
end

Private Instance Methods

load_config(spec_name) click to toggle source
# File lib/ebisu_connection/config.rb, line 41
def load_config(spec_name)
  c = self.class.config

  if c.is_a?(Hash)
    c[spec_name] || c
  else
    c
  end
end