Module: Ardb
- Defined in:
- lib/ardb/test_helpers.rb,
lib/ardb.rb,
lib/ardb/cli.rb,
lib/ardb/version.rb,
lib/ardb/db_tests.rb,
lib/ardb/cli/clirb.rb,
lib/ardb/migration.rb,
lib/ardb/record_spy.rb,
lib/ardb/adapter_spy.rb,
lib/ardb/adapter/base.rb,
lib/ardb/cli/commands.rb,
lib/ardb/relation_spy.rb,
lib/ardb/use_db_default.rb,
lib/ardb/default_order_by.rb
Overview
Use theses helpers in your test suite. They all generally assume Ardb has already been initialized by calling ‘Ardb.init`.
Defined Under Namespace
Modules: Adapter, DefaultOrderBy, RecordSpy, TestHelpers, UseDbDefault
Classes: AdapterSpy, CLI, Config, DbTests, Migration, NotInitializedError, RelationSpy
Constant Summary
collapse
- InvalidDBFileError =
Class.new(ArgumentError)
- ConfigurationError =
Class.new(ArgumentError)
- InvalidAdapterError =
Class.new(RuntimeError)
- VERSION =
"0.30.0"
Class Method Summary
collapse
Class Method Details
.adapter ⇒ Object
19
20
21
|
# File 'lib/ardb.rb', line 19
def self.adapter
@adapter || raise(NotInitializedError.new(caller))
end
|
.config ⇒ Object
11
12
13
|
# File 'lib/ardb.rb', line 11
def self.config
@config ||= Config.new
end
|
15
16
17
|
# File 'lib/ardb.rb', line 15
def self.configure(&block)
config.tap(&block)
end
|
.escape_like_pattern(pattern, escape_char = nil) ⇒ Object
49
50
51
52
53
54
|
# File 'lib/ardb.rb', line 49
def self.escape_like_pattern(pattern, escape_char = nil)
adapter.escape_like_pattern(pattern, escape_char)
rescue NotInitializedError => ex
ex.set_backtrace(caller)
raise ex
end
|
.init(establish_connection = true) ⇒ Object
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# File 'lib/ardb.rb', line 27
def self.init(establish_connection = true)
require "ardb/require_autoloaded_active_record_files"
begin
require_db_file
rescue InvalidDBFileError => ex
ex.set_backtrace(caller)
raise ex
end
config.validate!
@adapter = Adapter.new(config)
if ActiveRecord.respond_to?(:default_timezone=)
ActiveRecord.default_timezone = config.default_timezone
else
ActiveRecord::Base.default_timezone = config.default_timezone
end
ActiveRecord::Base.logger = config.logger
adapter.connect_db if establish_connection
end
|
.require_db_file ⇒ Object
try requiring the db file via the load path or as an absolute path, if that fails it tries requiring relative to the current working directory
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
# File 'lib/ardb.rb', line 58
def self.require_db_file
begin
begin
require ENV["ARDB_DB_FILE"]
rescue LoadError
require File.expand_path(ENV["ARDB_DB_FILE"], ENV["PWD"])
end
rescue LoadError
raise(
InvalidDBFileError,
"can't require `#{ENV["ARDB_DB_FILE"]}`, check that the ARDB_DB_FILE "\
"env var is set to the file path of your db file",
)
end
end
|
.reset_adapter ⇒ Object
23
24
25
|
# File 'lib/ardb.rb', line 23
def self.reset_adapter
@adapter = nil
end
|