Module: Archon

Extended by:
ActiveSupport::Autoload
Defined in:
lib/archon.rb,
lib/archon/nodes.rb,
lib/archon/version.rb,
lib/archon/visitors.rb,
lib/archon/nodes/values.rb,
lib/archon/nodes/coalesce.rb,
lib/archon/factory_methods.rb,
lib/archon/visitors/values.rb,
lib/archon/insert_into_select.rb,
lib/archon/power_overwhelming.rb,
lib/archon/nodes/populated_recordset.rb

Overview

Archon.populated_recordset

Defined Under Namespace

Modules: FactoryMethods, Nodes, PowerOverwhelming, Visitors Classes: InsertIntoSelect

Constant Summary collapse

VERSION =
"0.0.5"

Class Method Summary collapse

Class Method Details

.coalesce(*coalescees) ⇒ Object



3
4
5
# File 'lib/archon/nodes/coalesce.rb', line 3

def self.coalesce(*coalescees)
  return Nodes::Coalesce.new(*coalescees)
end

.insert_into_select(insertion_table, selection, options = {}) ⇒ Object



3
4
5
# File 'lib/archon/insert_into_select.rb', line 3

def self.insert_into_select(insertion_table, selection, options = {})
  return InsertIntoSelect.new insertion_table, selection, options
end

.method_missing(called_method_name, *arguments, &block) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/archon.rb', line 16

def self.method_missing(called_method_name, *arguments, &block)
  # Call super to raise a method missing error if no class was loaded:
  called_method_name_as_constant = called_method_name.to_s.camelize
  super unless [
    "Archon::Nodes::#{called_method_name_as_constant}".safe_constantize,
    "Archon::#{called_method_name_as_constant}".safe_constantize
  ].compact!.any?

  # Try again, this time we expect the loaded module added the method to Archon:
  send called_method_name, *arguments, &block
end

.populated_recordset(base, rows = []) ⇒ Object



3
4
5
# File 'lib/archon/nodes/populated_recordset.rb', line 3

def self.populated_recordset(base, rows = [])
  return Nodes::PopulatedRecordset.new base, rows
end