Sha256: 5d31925cd130b643467cdd54306b660a4173c81f8329041f2e85525ccd884a4b

Contents?: true

Size: 635 Bytes

Versions: 1

Compression:

Stored size: 635 Bytes

Contents

module Rasti
  class Form
    module Validable

      private

      def errors
        @errors ||= Hash.new { |hash, key| hash[key] = [] }
      end

      def validate!
        validate
        raise_if_errors!
      end

      def validate
      end

      def raise_if_errors!
        raise ValidationError.new(self, errors) unless errors.empty?
      end

      def assert(key, condition, message)
        errors[key] << message unless condition
        condition
      end

      def assert_not_error(key)
        yield
        true
      rescue => ex
        errors[key] << ex.message
        false
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rasti-form-6.0.0 lib/rasti/form/validable.rb