Class: Baza::Database

Inherits:
Object
  • Object
show all
Includes:
DatabaseModelFunctionality
Defined in:
lib/baza/database.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from DatabaseModelFunctionality

#model_name, #to_model

Constructor Details

#initialize(args) ⇒ Database

Returns a new instance of Database.



7
8
9
10
11
12
# File 'lib/baza/database.rb', line 7

def initialize(args)
  @db = args.fetch(:db)
  @driver = args.fetch(:driver)
  @name = args.fetch(:name)
  @name_was = @name
end

Instance Attribute Details

#dbObject (readonly)

Returns the value of attribute db.



4
5
6
# File 'lib/baza/database.rb', line 4

def db
  @db
end

#driverObject (readonly)

Returns the value of attribute driver.



4
5
6
# File 'lib/baza/database.rb', line 4

def driver
  @driver
end

#nameObject

Returns the value of attribute name.



5
6
7
# File 'lib/baza/database.rb', line 5

def name
  @name
end

#name_wasObject (readonly)

Returns the value of attribute name_was.



4
5
6
# File 'lib/baza/database.rb', line 4

def name_was
  @name_was
end

Instance Method Details

#save!Object



26
27
28
# File 'lib/baza/database.rb', line 26

def save!
  raise Baza::Errors::NotImplemented
end

#table(name) ⇒ Object



22
23
24
# File 'lib/baza/database.rb', line 22

def table(name)
  @db.tables[name]
end

#tablesObject



14
15
16
17
18
19
20
# File 'lib/baza/database.rb', line 14

def tables
  ArrayEnumerator.new do |yielder|
    @db.tables.list(database: name) do |table|
      yielder << table
    end
  end
end

#to_paramObject



30
31
32
# File 'lib/baza/database.rb', line 30

def to_param
  name
end