module Sequel::Plugins::PreparedStatementsSafe::ClassMethods
Attributes
prepared_statements_column_defaults[R]
A hash with column symbol keys and default values. Instance 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).
Public Instance Methods
freeze()
click to toggle source
Freeze the prepared statements column defaults when freezing the model class.
Calls superclass method
# File lib/sequel/plugins/prepared_statements_safe.rb 43 def freeze 44 @prepared_statements_column_defaults.freeze if @prepared_statements_column_defaults 45 46 super 47 end
Private Instance Methods
set_prepared_statements_column_defaults()
click to toggle source
Set the column defaults based on the database schema. All columns are set to a default value unless they are a primary key column or they don’t have a parseable default.
# File lib/sequel/plugins/prepared_statements_safe.rb 54 def set_prepared_statements_column_defaults 55 if db_schema 56 h = {} 57 db_schema.each do |k, v| 58 default = v[:ruby_default] 59 h[k] = default if (default || !v[:default]) && !v[:primary_key] && !default.is_a?(Sequel::SQL::Expression) 60 end 61 @prepared_statements_column_defaults = h 62 end 63 end