class GrowiPage

Growi 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]
extended[R]
grant[R]
grantedUsers[R]
hasDraftOnHackmd[R]
lastUpdateUser[R]
liker[R]
pageIdOnHackmd[R]
path[R]
redirectTo[R]
revision[R]
revisionHackmdSynced[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 GrowiModelBase::new
# File lib/growi/client/model/growi_page.rb, line 24
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: ''
  }
  params = init_params.merge(params.map { |k,v| [k.to_sym, v] }.to_h)
  if (params[:_id].nil?)
    raise ArgumentError.new('Parameter _id is required.')
  end

  # @note Parameters lastUpdateUser and creator have two patterns ID only or Object.
  GrowiModelFactory.instance.register({
    page_updatedAt:      Proc.new { |str| !str.nil? && str != "" ? DateTime.parse(str) : "" },
    page_lastUpdateUser: Proc.new { |param| !param.nil? && param.is_a?(String) ? param : GrowiUser.new(param) },
    page_creator:        Proc.new { |param| !param.nil? && param.is_a?(String) ? param : GrowiUser.new(param) },
    page_createdAt:      Proc.new { |str| !str.nil? && str != "" ? DateTime.parse(str) : "" },

    # revision が文字列のみ(IDだけの場合)であれば _id のみを格納し、ハッシュ化されていればすべて読み込む
    page_revision:       Proc.new { |param| !param.nil? && GrowiPageRevision.new(param.is_a?(String) ? { _id: param } : param) },
  })
  maked_params = {}
  params.each do |k,v|
    maker = GrowiModelFactory.instance.maker('page_' + k.to_s)
    maked_params[k] = maker.call(v)
  end
  super(maked_params)
end