Module: Sequel::ConstantSqlOverride::DatabaseMethods

Defined in:
lib/sequel/extensions/constant_sql_override.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#constant_sqlsObject (readonly)

Hash mapping constant symbols to SQL. For internal use only.



38
39
40
# File 'lib/sequel/extensions/constant_sql_override.rb', line 38

def constant_sqls
  @constant_sqls
end

Class Method Details

.extended(db) ⇒ Object

Create the initial empty hash of constant sql overrides.



30
31
32
33
34
35
# File 'lib/sequel/extensions/constant_sql_override.rb', line 30

def self.extended(db)
  db.instance_exec do
    @constant_sqls ||= {}
    extend_datasets(DatasetMethods)
  end
end

Instance Method Details

#freezeObject

Freeze the constant_sqls hash to prevent adding new overrides.



46
47
48
49
# File 'lib/sequel/extensions/constant_sql_override.rb', line 46

def freeze
  @constant_sqls.freeze
  super
end

#set_constant_sql(constant, override) ⇒ Object

Set the SQL to use for the given Sequel::SQL::Constant



41
42
43
# File 'lib/sequel/extensions/constant_sql_override.rb', line 41

def set_constant_sql(constant, override)
  @constant_sqls[constant.constant] = override
end