class Wallaby::ActiveRecord::ModelServiceProvider::Validator
Validate values for record create / update
Public Class Methods
new(model_decorator)
click to toggle source
@param model_decorator [Wallaby::ModelDecorator]
# File lib/adapters/wallaby/active_record/model_service_provider/validator.rb, line 9 def initialize(model_decorator) @model_decorator = model_decorator end
Public Instance Methods
valid?(resource)
click to toggle source
@param resource [Object] resource object @return [true] if the resource object is valid @return [false] otherwise
# File lib/adapters/wallaby/active_record/model_service_provider/validator.rb, line 16 def valid?(resource) resource.attributes.each do |field_name, values| metadata = @model_decorator.fields[field_name] next if valid_range_type? values, metadata resource.errors.add field_name, 'required for range data' end resource.errors.blank? end
Protected Instance Methods
valid_range_type?(values, metadata)
click to toggle source
@param values [Array] @return [true] if the values are valid range values @return [false] otherwise
# File lib/adapters/wallaby/active_record/model_service_provider/validator.rb, line 31 def valid_range_type?(values, metadata) !metadata \ || !%w(daterange tsrange tstzrange).include?(metadata[:type]) \ || !values.try(:any?, &:blank?) end