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