Class: CPApiRequestAttachmentsAdd

Inherits:
CPApiRequestBase show all
Defined in:
lib/crowi/client/apireq/api_request_attachments.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 = {}) ⇒ CPApiRequestAttachmentsAdd

コンストラクタ

Parameters:

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

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



54
55
56
57
# File 'lib/crowi/client/apireq/api_request_attachments.rb', line 54

def initialize(param = {})
  super('/_api/attachments.add', METHOD_POST,
        { page_id: param[:page_id], file: param[:file] })
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)

    リクエスト実行結果



64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/crowi/client/apireq/api_request_attachments.rb', line 64

def execute(entry_point, rest_client_param: {})
  if invalid?
    return validation_msg
  end
  params = {
    method: :post,
    url:    entry_point,
    payload: {
      access_token: @param[:access_token],
      page_id:      @param[:page_id],
      file:         @param[:file]
    }
  }.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