Sha256: cee49b512cb97a6e9d183d70402ee27d55b858de3ffd53dd48a43ccdd52e8a1c
Contents?: true
Size: 1000 Bytes
Versions: 1
Compression:
Stored size: 1000 Bytes
Contents
require 'active_support/concern' require 'fluent/validation/version' module Fluent module Validation extend ActiveSupport::Concern class_methods do def attributes @attributes ||= [] return @attributes end def mandatories(*fields) fields.each do |field| if field.is_a?(Hash) self.mandatory(field.keys[0], field.values[0]) else self.mandatory(field) end end end def optionals(*fields) fields.each do |field| if field.is_a?(Hash) self.optional(field.keys[0], field.values[0]) else self.optional(field) end end end def mandatory(field, options={}) self.attributes << field self.validates(field, options.merge(presence: true)) end def optional(field, options={}) self.attributes << field self.validates(field, options) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fluent-validation-0.1.0 | lib/fluent/validation.rb |