A lightweight validation gem for Ruby
Add this line to your application's Gemfile:
gem 'fluent_validation'
And then execute:
$ bundle
Or install it yourself as:
$ gem install fluent_validation
class Member
attr_accessor :name, :email, :type
end
require 'fluent_validation/fluent_validator'
class MemberValidator < FluentValidation::FluentValidator
def initialize
super
rule_for(&->(member) { member.name })
.not_nil
.length(1, 20)
.with_name('Name')
rule_for(&->(member) { member.email })
.not_nil
.length(1, 100)
.email_address
.with_name('Email Address')
rule_for(&->(member) { member.type })
.not_nil
.must(&->(type) { type == 'vip'||type == 'platinum' })
.with_name('Member Type')
end
end
member = Member.new
member_validator = MemberValidator.new
validation_result = member_validator.validate(member)
This Fluent Validation is inspired by JeremySkinner's FluentValidation