module StoreModel::CombineErrorsStrategies
Module with built-in strategies for combining errors.
Public Instance Methods
configure(options)
click to toggle source
Finds a strategy based on options
and global config.
@param options [Hash]
@return [Object] strategy
# File lib/store_model/combine_errors_strategies.rb, line 17 def configure(options) configured_strategy = options[:merge_errors] || StoreModel.config.merge_errors get_configured_strategy( configured_strategy, StoreModel::CombineErrorsStrategies::MergeErrorStrategy ) end
configure_array(options)
click to toggle source
Finds a array strategy based on options
and global config.
@param options [Hash]
@return [Object] strategy
# File lib/store_model/combine_errors_strategies.rb, line 31 def configure_array(options) configured_strategy = options[:merge_array_errors] || StoreModel.config.merge_array_errors get_configured_strategy( configured_strategy, StoreModel::CombineErrorsStrategies::MergeArrayErrorStrategy ) end
get_configured_strategy(configured_strategy, true_strategy_class)
click to toggle source
# File lib/store_model/combine_errors_strategies.rb, line 40 def get_configured_strategy(configured_strategy, true_strategy_class) if configured_strategy.respond_to?(:call) configured_strategy elsif configured_strategy == true true_strategy_class.new elsif configured_strategy.nil? StoreModel::CombineErrorsStrategies::MarkInvalidErrorStrategy.new else const_get(configured_strategy.to_s.camelize).new end end