Sha256: 98c4f7e8ddd502272a74b69e76f39efe31c345c53c6fab518b3f8f476795de44
Contents?: true
Size: 649 Bytes
Versions: 1
Compression:
Stored size: 649 Bytes
Contents
module Yema class Rule include Equalizer.new(:attribute_name) attr_reader :attribute_name def initialize(attribute_name, options={}) assert_required_options(options) @attribute_name = attribute_name end def self.required_options [] end def validate(resource) Validator.new(self, resource) end def errors(resource) validate(resource).errors end private def assert_required_options(options) shortage = self.class.required_options - options.keys raise InvalidOptionError, "Missing options: #{shortage.inspect}" unless shortage.empty? end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
yema-0.0.1 | lib/yema/rule.rb |