Module: Nokotime::Validator::UserSchema
- Defined in:
- lib/nokotime/validator/user_schema.rb
Constant Summary collapse
- USER_SCHEMA =
Dry::Validation.Schema do EMAIL_REGEX = /\A[^@\s]+@[^@\s]+\z/.freeze configure do config.namespace = :user config. = File.join(__dir__, "validation.yml") predicates(RestrictedHash) def valid_roles %w(supervisor leader coworker contractor) end def valid_states %w(disabled pending active suspended) end def allowed_keys %i(name email role state per_page) end end restricted_hash?(allowed_keys) do optional(:name).filled :str? optional(:email).filled :str? optional(:email).value(format?: EMAIL_REGEX) optional(:role).value(included_in?: valid_roles) optional(:state).value(included_in?: valid_states) optional(:per_page).filled :int? end end
Class Method Summary collapse
Class Method Details
.validate(attributes) ⇒ Object
36 37 38 |
# File 'lib/nokotime/validator/user_schema.rb', line 36 def self.validate(attributes) USER_SCHEMA.call(attributes) end |