Class: M4DBI::Database
Instance Method Summary collapse
- #connected? ⇒ Boolean
- #database_name ⇒ Object
- #disconnect ⇒ Object
- #driver ⇒ Object
- #execute(*args) ⇒ Object (also: #update, #u, #insert, #i, #delete, #d)
-
#initialize(rdbi_dbh) ⇒ Database
constructor
A new instance of Database.
- #last_query ⇒ Object
- #prepare(*args) ⇒ Object
- #select(sql, *bindvars) ⇒ Object (also: #select_all, #s)
- #select_column(sql, *bindvars) ⇒ Object (also: #sc)
- #select_one(sql, *bindvars) ⇒ Object (also: #s1)
- #table_schema(*args) ⇒ Object
- #transaction(&block) ⇒ Object
Constructor Details
#initialize(rdbi_dbh) ⇒ Database
5 6 7 |
# File 'lib/m4dbi/database.rb', line 5 def initialize( rdbi_dbh ) @dbh = rdbi_dbh end |
Instance Method Details
#connected? ⇒ Boolean
58 59 60 |
# File 'lib/m4dbi/database.rb', line 58 def connected? @dbh.connected? end |
#database_name ⇒ Object
70 71 72 |
# File 'lib/m4dbi/database.rb', line 70 def database_name @dbh.database_name end |
#disconnect ⇒ Object
62 63 64 |
# File 'lib/m4dbi/database.rb', line 62 def disconnect @dbh.disconnect end |
#driver ⇒ Object
82 83 84 |
# File 'lib/m4dbi/database.rb', line 82 def driver @dbh.driver end |
#execute(*args) ⇒ Object Also known as: update, u, insert, i, delete, d
13 14 15 16 17 18 19 |
# File 'lib/m4dbi/database.rb', line 13 def execute( *args ) result = @dbh.execute(*args) if defined?( RDBI::Driver::PostgreSQL ) && RDBI::Driver::PostgreSQL === @dbh.driver result.finish end result end |
#last_query ⇒ Object
78 79 80 |
# File 'lib/m4dbi/database.rb', line 78 def last_query @dbh.last_query end |
#prepare(*args) ⇒ Object
9 10 11 |
# File 'lib/m4dbi/database.rb', line 9 def prepare( *args ) Statement.new( @dbh.prepare(*args) ) end |
#select(sql, *bindvars) ⇒ Object Also known as: select_all, s
21 22 23 24 25 26 27 28 |
# File 'lib/m4dbi/database.rb', line 21 def select( sql, *bindvars ) result = @dbh.execute( sql, *bindvars ) rows = result.fetch( :all, RDBI::Result::Driver::Struct ) if defined?( RDBI::Driver::PostgreSQL ) && RDBI::Driver::PostgreSQL === @dbh.driver result.finish end rows end |
#select_column(sql, *bindvars) ⇒ Object Also known as: sc
34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/m4dbi/database.rb', line 34 def select_column( sql, *bindvars ) result = @dbh.execute( sql, *bindvars ) rows = result.fetch( 1, RDBI::Result::Driver::Array ) if defined?( RDBI::Driver::PostgreSQL ) && RDBI::Driver::PostgreSQL === @dbh.driver result.finish end if rows.any? rows[0][0] else raise RDBI::Error.new( "Query returned no rows. SQL: #{@dbh.last_query}" ) end end |
#select_one(sql, *bindvars) ⇒ Object Also known as: s1
30 31 32 |
# File 'lib/m4dbi/database.rb', line 30 def select_one( sql, *bindvars ) select( sql, *bindvars )[0] end |
#table_schema(*args) ⇒ Object
66 67 68 |
# File 'lib/m4dbi/database.rb', line 66 def table_schema( *args ) @dbh.table_schema( *args ) end |
#transaction(&block) ⇒ Object
74 75 76 |
# File 'lib/m4dbi/database.rb', line 74 def transaction( &block ) @dbh.transaction &block end |