Простая библиотека проверки входа в Ruby

Я искал повсюду для простой библиотеки проверки ввода для Ruby. Все, кажется, указывает на ActiveRecord (или аналогичный). Я не использую Rails, я использую Sinatra без ORM. Какой лучший подход для проверки ввода пользователя (без привязки непосредственно к слою модели)? Простые вещи, такие как "длина строки", "числовые" и т.д. Предпочтительно с хорошим механизмом для объявления сообщений об ошибках.

Ответ 1

Вы можете использовать ActiveModel:: Validations, из Rails 3 RC:

require 'active_model'
# this appears to be a bug in ActiveModel - it uses this, but does not require it
require 'active_support/core_ext/hash'

class Model
  include ActiveModel::Validations

  attr_accessor :name
  validates_presence_of :name
end

m = model.new
puts m.valid? # false
m.name = "John Doe"
puts m.valid? # true

Ответ 2

Ну, я написал одно свое http://rubygems.org/gems/validates_simple, надеюсь, это поможет. Он проверяет хэши, которые являются наиболее распространенной структурой ввода в веб-приложениях.