module Sequel::Plugins::InputTransformer::ClassMethods
Attributes
input_transformer_order[R]
The order in which to call the input transformers.
input_transformers[R]
Hash of input transformer name symbols to transformer callables.
Public Instance Methods
add_input_transformer(transformer_name, &block)
click to toggle source
Add an input transformer to this model.
# File lib/sequel/plugins/input_transformer.rb, line 51 def add_input_transformer(transformer_name, &block) raise(Error, 'must provide both transformer name and block when adding input transformer') unless transformer_name && block @input_transformers[transformer_name] = block @input_transformer_order.unshift(transformer_name) @skip_input_transformer_columns[transformer_name] = [] end
freeze()
click to toggle source
Freeze input transformers when freezing model class
Calls superclass method
# File lib/sequel/plugins/input_transformer.rb, line 59 def freeze @input_transformers.freeze @input_transformer_order.freeze @skip_input_transformer_columns.freeze.each_value(&:freeze) super end
skip_input_transformer(transformer_name, *columns)
click to toggle source
Set columns that the transformer should skip.
# File lib/sequel/plugins/input_transformer.rb, line 68 def skip_input_transformer(transformer_name, *columns) @skip_input_transformer_columns[transformer_name].concat(columns).uniq! end
skip_input_transformer?(transformer_name, column)
click to toggle source
Return true if the transformer should not be called for the given column.
# File lib/sequel/plugins/input_transformer.rb, line 73 def skip_input_transformer?(transformer_name, column) @skip_input_transformer_columns[transformer_name].include?(column) end