class CrowiUser

Crowi User model class

Attributes

_id[R]
admin[R]
createdAt[R]
email[R]
isGravatarEnabled[R]
lang[R]
name[R]
status[R]
username[R]

Public Class Methods

new(params = {}) click to toggle source

Constractor @param [Hash] User model shown as hash @todo Except running register method always called parse method.

Calls superclass method CrowiModelBase::new
# File lib/crowi/client/model/crowi_user.rb, line 11
def initialize(params = {})
  init_params = {
    _id: nil, email: nil, username: nil, name: '',
    admin: false, createdAt: '', status: 0, lang: '', isGravatarEnabled: false
  }

  params = init_params.merge(params.map { |k,v| [k.to_sym, v] }.to_h)
  if (params[:_id] == nil || params[:email] == nil || params[:username] == nil)
    raise ArgumentError.new('Parameters id and email and name are required.')
  end

  CrowiModelFactory.instance.register({
    user_createdAt: Proc.new { |date_str|
                      date_str != nil && DateTime.parse(date_str) },
  })
  maked_params = {}
  params.each do |k,v|
    maker = CrowiModelFactory.instance.maker('user_' + k.to_s)
    maked_params[k] = maker.call(v)
  end
  super(maked_params)
end