All Projects → amatsuda → Kawaii_validation

amatsuda / Kawaii_validation

Licence: mit
An ActiveRecord extension that adds more kawaii validation syntax

Programming Languages

ruby
36898 projects - #4 most used programming language

KawaiiValidation

Build Status

An ActiveRecord extension that adds more kawaii validation syntax.

Motivation

The "Sexy Validation" syntax is not at all sexy.

Installation

Gemfile:

gem 'kawaii_validation'

And then execute:

$ bundle

Supported versions

  • Ruby 2.0, 2.1, 2.2, 2.3, 2.4, and 2.5 (trunk)

  • Rails 3.2.x, 4.0, 4.1, 4.2, 5.0, 5.1, and 5.2 (edge)

Usage

With this gem bundled, the validates method takes a block argument, and the following two new DSLs will be enabled:

  • Original code (so-called "Sexy Validation")
class User < ActiveRecord::Base
  # validations begin
  validates :name, :age, presence: true
  validates :name, length: {maximum: 255}
  validates :age, numericality: {greater_than: 0}
  # validations end

  ...
end
  • validates + block
class User < ActiveRecord::Base
  validates do
    presence_of :name, :age
    length_of :name, maximum: 255
    numericality_of :age, greater_than: 0
  end

  ...
end
  • validates + attributes + block
class User < ActiveRecord::Base
  validates :name do
    presence
    length maximum: 255
  end

  validates :age do
    presence
    numericality greater_than: 0
  end

  ...
end

Contributing

  • Send me your pull requests!
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].