Class: Tabledata::ColumnDefinition::BooleanProcessor
- Inherits:
-
Object
- Object
- Tabledata::ColumnDefinition::BooleanProcessor
- Defined in:
- lib/tabledata/column_definition.rb
Instance Method Summary collapse
- #call(value, errors) ⇒ Object
-
#initialize(options) ⇒ BooleanProcessor
constructor
A new instance of BooleanProcessor.
Constructor Details
#initialize(options) ⇒ BooleanProcessor
148 149 150 151 152 153 154 155 |
# File 'lib/tabledata/column_definition.rb', line 148 def initialize() true_values = [:true_value].is_a?(Array) ? .delete(:true_value) : [.delete(:true_value)] false_values = [:false_value].is_a?(Array) ? .delete(:false_value) : [.delete(:false_value)] @convert = {} true_values.each do |true_value| @convert[true_value] = true end false_values.each do |false_value| @convert[false_value] = false end @convert[nil] ||= nil end |
Instance Method Details
#call(value, errors) ⇒ Object
156 157 158 159 160 161 162 163 164 165 166 167 168 |
# File 'lib/tabledata/column_definition.rb', line 156 def call(value, errors) case value when TrueClass, FalseClass processed = value else processed = @convert.fetch(value) { errors << [:invalid_input, {value: value, acceptable: @convert.values.join(', ')}] nil } end processed end |