Sha256: 168271f0704f2a350dc4902ce9fef700731113a4d6f21ad69b0aaa37e59eae0f
Contents?: true
Size: 985 Bytes
Versions: 3
Compression:
Stored size: 985 Bytes
Contents
module Compel module Validation class Condition attr_reader :value, :options, :value_type, :option_value def self.validate(value, option_value, options = {}) new(value, option_value, options).validate end def initialize(value, option_value, options = {}) @value = value @value_type = options.delete(:type) || Coercion::Types::Any @options = options @option_value = option_value end def validate Validation::Result.new \ value, value_type, validate_value_with_error_message end private def validate_value_with_error_message error_message = validate_value if error_message error_message_with_value(options[:message] || error_message) end end def error_message_with_value(message) message.gsub(/\{\{value\}\}/, "#{value}") end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
compel-0.5.1 | lib/compel/validation/conditions/condition.rb |
compel-0.5.0 | lib/compel/validation/conditions/condition.rb |
compel-0.4.3 | lib/compel/validation/conditions/condition.rb |