class CrowiPage
Crowi
Page model class
Constants
- GRANT_OWNER
- GRANT_PUBLIC
- GRANT_RESTRICTED
- GRANT_SPECIFIED
- STATUS_DELETED
- STATUS_DEPRECATED
- STATUS_PUBLISHED
- STATUS_WIP
Attributes
__v[R]
_id[R]
commentCount[R]
createdAt[R]
creator[R]
grant[R]
grantedUsers[R]
id[R]
lastUpdateUser[R]
liker[R]
path[R]
redirectTo[R]
revision[R]
seenUsers[R]
status[R]
updatedAt[R]
Public Class Methods
new(params = {})
click to toggle source
Constract @param [Hash] params Prameters data show as Hash @todo Except running register method always called parse method.
Calls superclass method
CrowiModelBase::new
# File lib/crowi/client/model/crowi_page.rb, line 23 def initialize(params = {}) init_params = { _id: '', redirectTo: nil, updatedAt: '', lastUpdateUser: '', creator: nil, path: nil, __v: 0, revision: nil, createdAt: '', commentCount: 0, seenUsers: [], liker: [], grantedUsers: [], grant: 0, status: '', id: '' } params = init_params.merge(params.map { |k,v| [k.to_sym, v] }.to_h) if (params[:_id] == nil || params[:path] == nil || params[:id] == nil) raise ArgumentError.new('Parameters _id, path and id are required.') end # @note Parameters lastUpdateUser and creator have two patterns ID only or Object. CrowiModelFactory.instance.register({ page_updatedAt: Proc.new { |str| str != nil && DateTime.parse(str) }, page_lastUpdateUser: Proc.new { |param| param != nil && param.is_a?(String) ? param : CrowiUser.new(param) }, page_creator: Proc.new { |param| param != nil && param.is_a?(String) ? param : CrowiUser.new(param) }, page_createdAt: Proc.new { |str| str != nil && DateTime.parse(str) }, page_revision: Proc.new { |param| param != nil && CrowiPageRevision.new(param) }, }) maked_params = {} params.each do |k,v| maker = CrowiModelFactory.instance.maker('page_' + k.to_s) maked_params[k] = maker.call(v) end super(maked_params) end