Module: Sequel::Plugins::PreparedStatementsSafe::ClassMethods

Defined in:
lib/sequel/plugins/prepared_statements_safe.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#prepared_statements_column_defaultsObject (readonly)

A hash with column symbol keys and default values. Instance’s values are merged into this hash before creating to reduce the number of free columns (columns that may or may not be present in the INSERT statement), as the number of prepared statements that can be created is 2^N (where N is the number of free columns).



34
35
36
# File 'lib/sequel/plugins/prepared_statements_safe.rb', line 34

def prepared_statements_column_defaults
  @prepared_statements_column_defaults
end

Instance Method Details

#inherited(subclass) ⇒ Object



36
37
38
39
# File 'lib/sequel/plugins/prepared_statements_safe.rb', line 36

def inherited(subclass)
  super
  subclass.instance_variable_set(:@prepared_statements_column_defaults, @prepared_statements_column_defaults) if @prepared_statements_column_defaults && !subclass.prepared_statements_column_defaults
end

#set_datasetObject

Set the column defaults to use when creating on the subclass.



42
43
44
45
46
# File 'lib/sequel/plugins/prepared_statements_safe.rb', line 42

def set_dataset(*)
  x = super
  set_prepared_statements_column_defaults
  x
end