monban-params
rubygems: monban-params
Validate parameters like strong-parameters(rails)
require "monban/params"
Monban::Params.new.validate(params) do |v|
v.hash(
"name" => v.combine([v.string, v.not_empty]),
"token" => v.combine([v.string, v.allow_empty(v.length(5))]),
"int" => v.integer,
"bool" => v.bool,
"key" => v.equal("KEY"),
"string" => v.in(["param1","param2"]),
"tel" => v.combine([v.string, v.match(%r{\A[0-9]+([0-9-]*)\Z})]),
"date" => v.combine([v.string, v.match_date]),
"number" => v.combine([v.string, v.match_integer]),
"bool" => v.combine([v.string, v.match_bool]),
"data" => v.not_nil,
"hash" => v.hash_strict(
"array" => v.array(v.string),
"keys" => v.array_include(["key1","key2","key3"]),
),
)
end
Table of Contents
Requirements
Usage
require "monban/params"
Monban::Params.new.validate(params) do |v|
v.hash(
"key" => v.string,
"key" => v.integer,
"key" => v.bool,
"key" => v.not_empty,
"key" => v.not_nil,
"key" => v.equal("value"),
"key" => v.in(["value1","value2"]),
"key" => v.length(10),
"key" => v.match(%r{example}),
"key" => v.match_integer,
"key" => v.match_bool,
"key" => v.match_date,
"key" => v.hash(
key: v.string,
),
"key" => v.hash_strict(
key: v.string,
),
"key" => v.array(v.string),
"key" => v.array_include(["value1","value2"])
"key" => v.allow_empty(v.match_integer),
"key" => v.combine([v.string, v.not_empty]),
)
end
Install
Add this line to your application's Gemfile:
gem 'monban-params'
And then execute:
$ bundle
Or install it yourself as:
$ gem install monban-params
License
monban/params is licensed under the MIT license.
Copyright © since 2018 shun@getto.systems