class Baza::Database

Attributes

db[R]
driver[R]
name[R]

Public Class Methods

new(args) click to toggle source
# File lib/baza/database.rb, line 6
def initialize(args)
  @changes = {}
  @db = args.fetch(:db)
  @driver = args.fetch(:driver)
  @name = args.fetch(:name)
  @name_was = @name
end

Public Instance Methods

import_file!(path, args = {}) click to toggle source
# File lib/baza/database.rb, line 14
def import_file!(path, args = {})
  File.open(path, "r") do |io|
    use do
      Baza::Commands::Importer.new({db: @db, io: io}.merge(args)).execute
    end
  end
end
name=(new_name) click to toggle source
# File lib/baza/database.rb, line 22
def name=(new_name)
  @name_was = @name
  @changes[:name] = new_name
  @name = new_name
end
name_changed?() click to toggle source
# File lib/baza/database.rb, line 28
def name_changed?
  @changes.key?(:name) && @changes.fetch(:name).to_s != name.to_s
end
name_was() click to toggle source
# File lib/baza/database.rb, line 32
def name_was
  @name_was
end
save!() click to toggle source
# File lib/baza/database.rb, line 60
def save!
  raise Baza::Errors::NotImplemented
end
table(name) click to toggle source
# File lib/baza/database.rb, line 47
def table(name)
  table = tables(name: name).first
  raise Baza::Errors::TableNotFound unless table
  table
end
table_exists?(name) click to toggle source
# File lib/baza/database.rb, line 53
def table_exists?(name)
  table(name)
  true
rescue Baza::Errors::TableNotFound
  false
end
tables(args = {}) click to toggle source
# File lib/baza/database.rb, line 36
def tables(args = {})
  list_args = {database: name}
  list_args[:name] = args.fetch(:name) if args[:name]

  ArrayEnumerator.new do |yielder|
    @db.tables.list(list_args) do |table|
      yielder << table
    end
  end
end
to_param() click to toggle source
# File lib/baza/database.rb, line 64
def to_param
  name
end
use(&blk) click to toggle source
# File lib/baza/database.rb, line 68
def use(&blk)
  @db.databases.with_database(name, &blk)
end