Class: CPApiRequestPagesUpdate

Inherits:
CPApiRequestBase show all
Defined in:
lib/crowi/client/apireq/api_request_pages.rb

Overview

ページ更新リクエスト用クラス

Constant Summary

Constants inherited from CPApiRequestBase

CPApiRequestBase::METHOD_GET, CPApiRequestBase::METHOD_POST

Instance Attribute Summary

Attributes inherited from CPApiRequestBase

#entry_point, #method, #param

Instance Method Summary collapse

Methods inherited from CPApiRequestBase

#invalid?, #valid?, #validation_msg

Constructor Details

#initialize(param = {}) ⇒ CPApiRequestPagesUpdate

コンストラクタ

Parameters:

  • param (Hash) (defaults to: {})

    APIリクエストのパラメータ



155
156
157
158
159
# File 'lib/crowi/client/apireq/api_request_pages.rb', line 155

def initialize(param = {})
  super('/_api/pages.update', METHOD_POST,
        { body: param[:body], page_id: param[:page_id],
          revision_id: param[:revision_id], grant: param[:grant] })
end

Instance Method Details

#execute(entry_point, rest_client_param: {}) ⇒ Array

リクエストを実行する

Parameters:

  • entry_point (String)

    APIのエントリーポイントとなるURL(ex. localhost:3000/_api/pages.list

  • rest_client_param (Hash) (defaults to: {})

    RestClientのパラメータ

Returns:

  • (Array)

    リクエスト実行結果



166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
# File 'lib/crowi/client/apireq/api_request_pages.rb', line 166

def execute(entry_point, rest_client_param: {})

  if invalid?
    return validation_msg
  end
  params = { method: :post, url: entry_point,
             payload: @param.to_json,
             headers: { content_type: :json, accept: :json }
           }.merge(rest_client_param)
  ret = JSON.parse RestClient::Request.execute params
  if (ret['ok'] == false)
    return CPInvalidRequest.new "API return false with msg: #{ret['msg']}"
  end
  return CPApiReturn.new(ok: ret['ok'], data: CrowiPage.new(ret['page']))
end