module Contineo

Public Class Methods

configurations() click to toggle source
# File lib/contineo.rb, line 30
def self.configurations
  begin
    YAML.load_file(CONFIG_PATH)
  rescue NameError => e
    YAML.load_file("config/database.yml")  
  end
end
create_connections() click to toggle source
# File lib/contineo.rb, line 38
def self.create_connections
  configurations.each do |db_env, connection_hash|
    if other_than_application_db?(db_env) && ::Rails.env == env(db_env)
      define_db_connection_class(db_env)
    end
  end
end
db(db_env) click to toggle source
# File lib/contineo.rb, line 6
def self.db(db_env)
  db_env.split('_'+ env(db_env)).first.camelcase
end
define_db_connection_class(db_env) click to toggle source
# File lib/contineo.rb, line 18
def self.define_db_connection_class(db_env)
  klass = Object.const_set(db(db_env), Class.new(ActiveRecord::Base) { 
            self.abstract_class = true
            def self.inherited(base)
              contineo
            end
          })
    
  klass.define_singleton_method(:contineo) { establish_connection db_env.to_sym }
  klass
end
env(db_env) click to toggle source
# File lib/contineo.rb, line 10
def self.env(db_env)
  db_env.split('_').last
end
inherited(base) click to toggle source
# File lib/contineo.rb, line 21
def self.inherited(base)
  contineo
end
other_than_application_db?(db_env) click to toggle source
# File lib/contineo.rb, line 14
def self.other_than_application_db?(db_env)
  db_env.split('_').size > 1
end
version() click to toggle source

Returns the version of the currently loaded Contineo as a Gem::Version

# File lib/contineo/version.rb, line 3
def self.version
  Gem::Version.new "0.1.3"
end