Module: Simple::SQL

Extended by:
Forwardable, SQL
Included in:
SQL
Defined in:
lib/simple/sql.rb,
lib/simple/sql/logging.rb,
lib/simple/sql/version.rb,
lib/simple/sql/fragment.rb,
lib/simple/sql/formatting.rb,
lib/simple/sql/helpers/immutable.rb

Overview

The Simple::SQL module

Defined Under Namespace

Modules: Config, ConnectionAdapter, Formatting, Helpers, Logging Classes: Connection, Fragment, Result, Scope

Constant Summary collapse

DEFAULT_CONNECTION_KEY =

– default connection —————————————————

:"Simple::SQL.default_connection"
VERSION =
"0.5.2"

Instance Method Summary collapse

Instance Method Details

#configurationObject

deprecated



39
40
41
# File 'lib/simple/sql.rb', line 39

def configuration
  Config.parse_url(Config.determine_url)
end

#connect(database_url = :auto) ⇒ Object

connects to the database specified via the url parameter. If called without argument it tries to determine a DATABASE_URL from either the environment setting (DATABASE_URL) or from a config/database.yml file, taking into account the RAILS_ENV and RACK_ENV settings.

Returns the connection object.



34
35
36
# File 'lib/simple/sql.rb', line 34

def connect(database_url = :auto)
  Connection.create(database_url)
end

#connect!(database_url = :auto) ⇒ Object

connects to the database specified via the url parameter, and sets Simple::SQL’s default connection.

see connect, default_connection



56
57
58
59
# File 'lib/simple/sql.rb', line 56

def connect!(database_url = :auto)
  disconnect!
  Thread.current[DEFAULT_CONNECTION_KEY] ||= connect(database_url)
end

#default_connectionObject

returns the default connection.



48
49
50
# File 'lib/simple/sql.rb', line 48

def default_connection
  Thread.current[DEFAULT_CONNECTION_KEY] ||= connect(:auto)
end

#disconnect!Object

disconnects the current default connection.



62
63
64
65
66
67
68
# File 'lib/simple/sql.rb', line 62

def disconnect!
  connection = Thread.current[DEFAULT_CONNECTION_KEY]
  return unless connection

  connection.disconnect!
  Thread.current[DEFAULT_CONNECTION_KEY] = nil
end

#fragment(str) ⇒ Object



7
8
9
# File 'lib/simple/sql/fragment.rb', line 7

def fragment(str)
  Fragment.new(str)
end