hanami / validations

Validation mixin for Ruby objects
http://hanamirb.org
MIT License
213 stars 49 forks source link
coercion ruby validations whitelisting

Hanami::Validations

Internal support gem for Hanami::Action params validation.

Status

Gem Version CI Test Coverage Depfu

Contact

Installation

Hanami::Validations supports Ruby (MRI) 3.1+

Add this line to your application's Gemfile:

gem "hanami-validations"

And then execute:

$ bundle

Or install it yourself as:

$ gem install hanami-validations

Usage

Installing hanami-validations enables support for params validation in hanami-controller’s Hanami::Action classes.

class Signup < Hanami::Action
  params do
    required(:first_name)
    required(:last_name)
    required(:email)
  end

  def handle(req, *)
    puts req.params.class            # => Signup::Params
    puts req.params.class.superclass # => Hanami::Action::Params

    puts req.params[:first_name]     # => "Luca"
    puts req.params[:admin]          # => nil
  end
end

See hanami-controller for more detail on params validation.

Contributing

  1. Fork it ( https://github.com/hanami/validations/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Copyright

Copyright © 2014–2024 Hanami Team – Released under MIT License