Sha256: 670acb44ffbf098ccd356db9af29dd9f54b299bdf5a79ae09eea033956a636fb

Contents?: true

Size: 616 Bytes

Versions: 1

Compression:

Stored size: 616 Bytes

Contents

module Ohm
  module Validations
    def valid?
      errors.clear
      validate
      errors.empty?
    end

    def validate
    end

    def errors
      @errors ||= []
    end

  protected

    def assert_format(att, format)
      if assert_present(att)
        assert send(att).match(format), [att, :format]
      end
    end

    def assert_present(att)
      if assert_not_nil(att)
        assert send(att).any?, [att, :empty]
      end
    end

    def assert_not_nil(att)
      assert send(att), [att, :nil]
    end

    def assert(value, error)
      value or errors.push(error) && false
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ohm-0.0.3 lib/ohm/validations.rb