1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
# frozen_string_literal: true
module Doorkeeper
module Validations
extend ActiveSupport::Concern
attr_accessor :error
def validate
@error = nil
self.class.validations.each do |validation|
@error = validation[:options][:error] unless send("validate_#{validation[:attribute]}")
break if @error
end
end
def valid?
validate
@error.nil?
end
module ClassMethods
def validate(attribute, options = {})
validations << { attribute: attribute, options: options }
end
def validations
@validations ||= []
end
end
end
end
|