Class: Datafactory::Connectors::ActiveRecordConnector
- Inherits:
-
Base
- Object
- Base
- Datafactory::Connectors::ActiveRecordConnector
show all
- Defined in:
- lib/datafactory/connectors/activerecord.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Base
configured_by?, #require_factories, #require_models
Constructor Details
Returns a new instance of ActiveRecordConnector.
8
9
10
11
|
# File 'lib/datafactory/connectors/activerecord.rb', line 8
def initialize(domain)
@domain = domain
@db_config = YAML::load(File.open("#{@domain}/#{self.class.config}"))
end
|
Class Method Details
.config ⇒ Object
13
14
15
|
# File 'lib/datafactory/connectors/activerecord.rb', line 13
def self.config
"activerecord.yaml"
end
|
Instance Method Details
#create_db ⇒ Object
33
34
35
36
37
38
|
# File 'lib/datafactory/connectors/activerecord.rb', line 33
def create_db
return unless @db_config["adapter"] == "pg"
db_config_admin = @db_config.merge({'database' => 'postgres', 'schema_search_path' => 'public'})
ActiveRecord::Base.establish_connection(db_config_admin)
ActiveRecord::Base.connection.create_database(@db_config["database"])
end
|
#drop_db ⇒ Object
26
27
28
29
30
31
|
# File 'lib/datafactory/connectors/activerecord.rb', line 26
def drop_db
return unless @db_config["adapter"] == "pg"
db_config_admin = @db_config.merge({'database' => 'postgres', 'schema_search_path' => 'public'})
ActiveRecord::Base.establish_connection(db_config_admin)
ActiveRecord::Base.connection.drop_database(@db_config["database"])
end
|
#migrate ⇒ Object
40
41
42
|
# File 'lib/datafactory/connectors/activerecord.rb', line 40
def migrate
ActiveRecord::Migrator.migrate("#{@domain}/migrate")
end
|
#setup(opts) ⇒ Object
17
18
19
20
21
22
23
24
|
# File 'lib/datafactory/connectors/activerecord.rb', line 17
def setup(opts)
ActiveRecord::Base.establish_connection(@db_config)
if opts[:migrate]
migrate
end
require_models
require_factories
end
|