class Cuprum::Rails::Commands::ValidateOne
Command
for validating an ActiveRecord record.
Private Instance Methods
map_errors(native_errors:)
click to toggle source
# File lib/cuprum/rails/commands/validate_one.rb, line 35 def map_errors(native_errors:) Cuprum::Rails::MapErrors.instance.call(native_errors: native_errors) end
match_default(entity:)
click to toggle source
# File lib/cuprum/rails/commands/validate_one.rb, line 39 def match_default(entity:) return true if entity.valid? errors = map_errors(native_errors: entity.errors) [false, errors] end
process(entity:, contract: nil)
click to toggle source
# File lib/cuprum/rails/commands/validate_one.rb, line 47 def process(entity:, contract: nil) step { validate_entity(entity) } step { validate_record(contract: contract, entity: entity) } entity end
validate_record(contract:, entity:)
click to toggle source
# File lib/cuprum/rails/commands/validate_one.rb, line 55 def validate_record(contract:, entity:) valid, errors = contract ? contract.match(entity) : match_default(entity: entity) return if valid error = Cuprum::Collections::Errors::FailedValidation.new( entity_class: entity.class, errors: errors ) failure(error) end