Module: ActiveQuery

Includes:
Config, DataAdapters
Defined in:
lib/active_query.rb,
lib/active_query/config.rb,
lib/active_query/version.rb,
lib/active_query/sql_parser.rb,
lib/active_query/sql_renderer.rb,
lib/active_query/sql_template.rb,
lib/active_query/configuration.rb,
lib/active_query/data_adapters/adapter_base.rb,
lib/active_query/data_adapters/postgresql_adapter.rb

Defined Under Namespace

Modules: Config, DataAdapters, SQLParser Classes: ApplicationError, Configuration, SQLRenderer, SQLTemplate, ScannerError, TemplatePathError

Constant Summary collapse

VERSION =
"0.2.1"

Constants included from Config

Config::TEMPLATE_PATH

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configObject



17
18
19
# File 'lib/active_query.rb', line 17

def self.config
  @config ||= Configuration.new
end

Class Method Details

.async_run(query, &block) ⇒ Object

async_exec(sql) {|pg_result| block } This function has the same behavior as sync_exec, but is implemented using the asynchronous command processing API of libpq.



52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/active_query.rb', line 52

def self.async_run(query, &block)
  con_str = ActiveQuery.config.connection
 
  if query.is_a? Symbol
    query = self.send(query)
  end

  PostgresqlAdapter.open(con_str) do |conn| 
    conn.send_query(query)
    conn.set_single_row_mode
    conn.get_result.stream_each do |row|
       yield(row)
    end
  end
end

.configure {|config| ... } ⇒ Object

Yields:



25
26
27
# File 'lib/active_query.rb', line 25

def self.configure
  yield(config)
end

.resetObject



21
22
23
# File 'lib/active_query.rb', line 21

def self.reset
  @config = Configuration.new
end

.run(query) ⇒ Object

WIP runners… Full-Scan



31
32
33
34
35
36
37
# File 'lib/active_query.rb', line 31

def self.run(query)
  if query.is_a? Symbol
    query = self.send(query)
  end
  con_str = ActiveQuery.config.connection
  PostgresqlAdapter.open(con_str) { |c| c.exec(query) }
end

.run_params(query, params) ⇒ Object



39
40
41
42
43
44
45
46
47
# File 'lib/active_query.rb', line 39

def self.run_params(query, params)
  if query.is_a? Symbol
    query = self.send(query)
  end
  con_str = ActiveQuery.config.connection
  PostgresqlAdapter.open(con_str) do |conn| 
    conn.exec_params(query, params) 
  end
end