Class: MusicBlender::DbAdapter

Inherits:
Object
  • Object
show all
Defined in:
lib/music_blender/db_adapter.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#connectionObject (readonly)

Returns the value of attribute connection.



3
4
5
# File 'lib/music_blender/db_adapter.rb', line 3

def connection
  @connection
end

Instance Method Details

#establish_connectionObject



11
12
13
14
15
16
17
# File 'lib/music_blender/db_adapter.rb', line 11

def establish_connection
  FileUtils.mkdir_p(db_folder)
  @connection ||= ActiveRecord::Base.establish_connection(
    :adapter => 'sqlite3',
    :database => path_to_db
  )
end

#migrate_dbObject



19
20
21
22
23
24
# File 'lib/music_blender/db_adapter.rb', line 19

def migrate_db
  ActiveRecord::Migrator.migrate('db/migrate', ENV["VERSION"] ? ENV["VERSION"].to_i : nil )
  File.open(path_to_schema, 'w:utf-8') do |file|
    ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, file)
  end
end

#spin_upObject



5
6
7
8
9
# File 'lib/music_blender/db_adapter.rb', line 5

def spin_up
  establish_connection
  silence_stream(STDOUT)  { initialize_or_migrate_db }
  setup_db_log
end