class HuggORM::Connection
Constants
- RETRIES
Attributes
options[R]
Public Class Methods
db()
click to toggle source
# File lib/hugg_orm/connection.rb, line 12 def self.db @_db ||= self.new end
Public Instance Methods
connect(opts = {})
click to toggle source
# File lib/hugg_orm/connection.rb, line 26 def connect(opts = {}) @options = opts @connection = PG.connect(opts) self end
connection()
click to toggle source
# File lib/hugg_orm/connection.rb, line 16 def connection return @connection unless @connection.nil? connect(@options) @connection end
disconnect()
click to toggle source
# File lib/hugg_orm/connection.rb, line 32 def disconnect connection.finish if @connection @connection = nil self end
exec(*args)
click to toggle source
# File lib/hugg_orm/connection.rb, line 63 def exec(*args) method_retry(:exec, *args) end
exec_params(*args)
click to toggle source
# File lib/hugg_orm/connection.rb, line 67 def exec_params(*args) method_retry(:exec_params, *args) end
method_missing(meth, *args, &block)
click to toggle source
Calls superclass method
# File lib/hugg_orm/connection.rb, line 44 def method_missing(meth, *args, &block) if connection.respond_to?(meth) method_retry(meth, *args, &block) else super end end
method_retry(method, *args, &block)
click to toggle source
# File lib/hugg_orm/connection.rb, line 52 def method_retry(method, *args, &block) tries ||= RETRIES + 1 connection.send(method, *args, &block) rescue PG::ConnectionBad, PG::AdminShutdown if (tries -= 1) > 0 reconnect retry end raise end
reconnect()
click to toggle source
# File lib/hugg_orm/connection.rb, line 38 def reconnect disconnect connect(@options) self end