class Hachi::Models::User

Constants

ROLES

Attributes

login[R]
name[R]
password[R]
roles[R]

Public Class Methods

new(login:, name:, roles:, password:) click to toggle source
# File lib/hachi/models/user.rb, line 10
def initialize(login:, name:, roles:, password:)
  @login = login
  @name = name
  @roles = roles
  @password = password

  validate_roles
end

Public Instance Methods

payload() click to toggle source
# File lib/hachi/models/user.rb, line 19
def payload
  {
    login: login,
    name: name,
    roles: roles,
    password: password
  }.compact
end

Private Instance Methods

validate_roles() click to toggle source
# File lib/hachi/models/user.rb, line 30
def validate_roles
  raise ArgumentError, "roles should be an array" unless roles.is_a?(Array)
  raise ArgumentError, "role should be one of #{ROLES.join('.')}" unless roles.all? { |role| ROLES.include? role }
end