module Fend::Plugins::Core::InstanceMethods
Public Instance Methods
call(raw_data)
click to toggle source
Trigger data validation and return Result
# File lib/fend.rb, line 108 def call(raw_data) set_data(raw_data) validate(&validation_block) result(input: @_input_data, output: @_output_data, errors: @_input_param.errors) end
param_class()
click to toggle source
Get validation param class
# File lib/fend.rb, line 133 def param_class self.class::Param end
process_input(input)
click to toggle source
Process input data
# File lib/fend.rb, line 143 def process_input(input); end
process_output(output)
click to toggle source
Process output data
# File lib/fend.rb, line 146 def process_output(output); end
result(args)
click to toggle source
Instantiate and return result
# File lib/fend.rb, line 154 def result(args) result_class.new(args) end
result_class()
click to toggle source
Get validation result class
# File lib/fend.rb, line 138 def result_class self.class::Result end
set_data(raw_data)
click to toggle source
Set:
* raw input data * validation input data * result output data * input param
# File lib/fend.rb, line 120 def set_data(raw_data) @_raw_data = raw_data @_input_data = process_input(raw_data) || raw_data @_output_data = process_output(@_input_data) || @_input_data @_input_param = param_class.new(:input, @_input_data) end
validate(&block)
click to toggle source
Execute validation block
# File lib/fend.rb, line 149 def validate(&block) instance_exec(@_input_param, &block) if block_given? end
validation_block()
click to toggle source
Returns validation block set on class level
# File lib/fend.rb, line 128 def validation_block self.class.validation_block end