Sha256: 0d9391c8a96cfbb16663571e061621799410b508c8a10d73efa658cf0a4d4421
Contents?: true
Size: 838 Bytes
Versions: 9
Compression:
Stored size: 838 Bytes
Contents
require 'object_attorney/validations/custom' require 'object_attorney/accusation' module ObjectAttorney class Allegation VALIDATION_OVERWRITES = { # ActiveModel::Validations::NumericalityValidator => # Validations::Numericality, custom: Validations::Custom }.freeze attr_reader :validation def initialize(validation_class, options, &block) overwrite_class = VALIDATION_OVERWRITES[validation_class] # expected to be an ActiveModel::Validations::<Class> instance @validation = (overwrite_class || validation_class).new(options, &block) end def attributes validation.attributes end def founded_accusation(attorney, defendant) accusation = Accusation.new(@validation, attorney, defendant) accusation.founded ? accusation : nil end end end
Version data entries
9 entries across 9 versions & 1 rubygems