Module: Skiima

Extended by:
Forwardable, Config, I18n, LoggerHelpers
Includes:
FastGettext::Translation
Defined in:
lib/skiima.rb,
lib/skiima.rb,
lib/skiima/i18n.rb,
lib/skiima/config.rb,
lib/skiima/loader.rb,
lib/skiima/logger.rb,
lib/skiima/railtie.rb,
lib/skiima/version.rb,
lib/skiima/db/resolver.rb,
lib/skiima/db/connector.rb,
lib/skiima/config/struct.rb,
lib/skiima/db/helpers/mysql.rb,
lib/skiima/dependency/reader.rb,
lib/skiima/dependency/script.rb,
lib/skiima/db/helpers/postgresql.rb,
lib/skiima/db/connector/active_record.rb,
lib/skiima/db/connector/active_record/base_connector.rb,
lib/skiima/db/connector/active_record/mysql_connector.rb,
lib/skiima/db/connector/active_record/mysql2_connector.rb,
lib/skiima/db/connector/active_record/postgresql_connector.rb

Defined Under Namespace

Modules: Config, Db, Dependency, I18n, LoggerHelpers Classes: AdapterNotSpecified, BaseException, LoadError, Loader, Logger, MissingFileException, Railtie, SqlGroupNotFound, SqlScriptNotFound, StatementInvalid

Constant Summary collapse

VERSION =
"0.3.1"

Class Method Summary collapse

Methods included from Config

config, config=, full_database_path, full_dependencies_path, full_scripts_path, interpolate_sql, method_missing, read_db_yml, read_dependencies_yml, read_sql_file, read_yml_or_throw, symbolize_keys

Methods included from I18n

default_locale, locale, msg, set_translation_repository

Methods included from LoggerHelpers

log_message

Class Method Details

.defaultsObject



41
42
43
44
45
46
47
48
49
50
51
# File 'lib/skiima.rb', line 41

def self.defaults
  { root_path: File.expand_path('.'),
    config_path: 'config',
    database_yml: 'database.yml',
    scripts_path: 'db/skiima',
    dependencies_yml: 'dependencies.yml',
    interpolator: '&',
    locale: :en,
    logging_out: 'STDOUT',
    logging_level: '3' }
end

.down(env, *args) ⇒ Object



60
61
62
63
64
65
# File 'lib/skiima.rb', line 60

def self.down(env, *args)
  opts = args.last.is_a?(Hash) ? args.pop : {}
  ski = Skiima::Loader.new(env, opts).down(*args, opts)
ensure
  ski.connector.disconnect! if ski && ski.connector
end

.exe_with_connection(db, &block) ⇒ Object



67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/skiima.rb', line 67

def self.exe_with_connection(db, &block)
  resolver = Skiima::Db::Resolver.new db
  connection = nil

  begin
    connection = self.send(resolver.adapter_method, db)
    yield connection
  rescue => ex
    puts "Oh Noes!!"
  ensure
    connection.close
  end
end

.setup {|config| ... } ⇒ Object

Yields:



34
35
36
37
# File 'lib/skiima.rb', line 34

def self.setup
  yield config if config && block_given?
  set_translation_repository
end

.up(env, *args) ⇒ Object



53
54
55
56
57
58
# File 'lib/skiima.rb', line 53

def self.up(env, *args)
  opts = args.last.is_a?(Hash) ? args.pop : {}
  ski = Skiima::Loader.new(env, opts).up(*args, opts)
ensure
  ski.connector.disconnect! if ski && ski.connector
end