Module: DbMod
- Includes:
- Transaction
- Defined in:
- lib/db_mod.rb,
lib/db_mod/create.rb,
lib/db_mod/version.rb,
lib/db_mod/exceptions.rb,
lib/db_mod/statements.rb,
lib/db_mod/transaction.rb,
lib/db_mod/exceptions/base.rb,
lib/db_mod/statements/prepared.rb,
lib/db_mod/statements/statement.rb,
lib/db_mod/exceptions/no_results.rb,
lib/db_mod/statements/parameters.rb,
lib/db_mod/statements/configuration.rb,
lib/db_mod/exceptions/too_many_results.rb,
lib/db_mod/statements/configuration/as.rb,
lib/db_mod/exceptions/connection_not_set.rb,
lib/db_mod/statements/configuration/as/csv.rb,
lib/db_mod/statements/configuration/single.rb,
lib/db_mod/statements/configuration/as/json.rb,
lib/db_mod/exceptions/already_in_transaction.rb,
lib/db_mod/statements/configuration/defaults.rb,
lib/db_mod/exceptions/bad_method_configuration.rb,
lib/db_mod/exceptions/duplicate_statement_name.rb,
lib/db_mod/statements/configuration/single/row.rb,
lib/db_mod/statements/configuration/single/value.rb,
lib/db_mod/statements/configuration/single/column.rb,
lib/db_mod/statements/configuration/single/required_row.rb,
lib/db_mod/statements/configuration/method_configuration.rb,
lib/db_mod/statements/configuration/single/required_value.rb
Overview
Version information
Defined Under Namespace
Modules: Create, Exceptions, Statements, Transaction
Constant Summary collapse
- VERSION =
The current version of db_mod.
'0.0.5'
Instance Attribute Summary collapse
-
#conn ⇒ Object
protected
Database object to be used for all database interactions in this module.
Class Method Summary collapse
-
.included(mod) ⇒ Object
When a module includes DbMod, we define some class-level functions specific to the module.
Instance Method Summary collapse
-
#db_connect(options = {}) ⇒ Object
protected
Create a new database connection to be used for all database interactions in this module.
-
#db_connect!(options) ⇒ Object
private
Create the database object itself.
-
#db_defaults!(options) ⇒ Object
private
Load any missing options from defaults.
-
#query(sql) ⇒ Object
protected
Shorthand for
conn.query
.
Methods included from Transaction
#end_transaction!, #start_transaction!, #transaction
Instance Attribute Details
#conn ⇒ Object (protected)
Database object to be used for all database interactions in this module. Use #db_connect to initialize the object.
30 31 32 |
# File 'lib/db_mod.rb', line 30 def conn @conn end |
Class Method Details
Instance Method Details
#db_connect(options = {}) ⇒ Object (protected)
Create a new database connection to be used for all database interactions in this module.
57 58 59 60 61 |
# File 'lib/db_mod.rb', line 57 def db_connect( = {}) db_defaults! @conn = db_connect! self.class.prepare_all_statements(@conn) end |
#db_connect!(options) ⇒ Object (private)
Create the database object itself.
78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/db_mod.rb', line 78 def db_connect!() PGconn.connect( [:host], [:port], '', '', [:db], [:user], [:pass] ) end |
#db_defaults!(options) ⇒ Object (private)
Load any missing options from defaults
68 69 70 71 72 73 |
# File 'lib/db_mod.rb', line 68 def db_defaults!() fail ArgumentError, 'database name :db not supplied' unless [:db] [:port] ||= 5432 [:user] ||= ENV['USER'] [:pass] ||= 'trusted?' end |
#query(sql) ⇒ Object (protected)
Shorthand for conn.query
33 34 35 36 37 38 |
# File 'lib/db_mod.rb', line 33 def query(sql) unless @conn fail DbMod::Exceptions::ConnectionNotSet, 'db_connect not called' end conn.query(sql) end |