class GApiRequestPagesUpdatePost
更新ページ一覧リクエスト用クラス @ref github.com/growi/growi/blob/master/lib/routes/page.js @note notification for 3rd party tool (like Slack)
Public Class Methods
new(param = {})
click to toggle source
コンストラクタ @override @param [Hash] param APIリクエストのパラメータ
Calls superclass method
GApiRequestBase::new
# File lib/growi/client/apireq/api_request_pages.rb, line 433 def initialize(param = {}) super('/_api/pages.updatePost', METHOD_GET, { path: param[:path] }) end
Public Instance Methods
execute(entry_point, rest_client_param: {})
click to toggle source
リクエストを実行する @override @param [String] entry_point APIのエントリーポイントとなるURL(ex. localhost:3000/_api/pages.list) @param [Hash] rest_client_param RestClientのパラメータ @return [Array] リクエスト実行結果
# File lib/growi/client/apireq/api_request_pages.rb, line 442 def execute(entry_point, rest_client_param: {}) if invalid? return validation_msg end params = { method: :get, url: entry_point, headers: { params: @param } }.merge(rest_client_param) GCLogger.logger.debug('Request: ' + params.to_s) begin raw_ret = RestClient::Request.execute params GCLogger.logger.debug('Return: ' + raw_ret.to_s) ret = JSON.parse raw_ret rescue Exception => e GCLogger.logger.error(e) return GCInvalidRequest.new "Unknown error occured: #{e}" end if (!ret['ok'].nil? && ret['ok'] == false) return GCInvalidRequest.new "API return false with msg: #{ret['msg']}" end begin posts = [] ret['updatePost'].each do |post| pages.push(GrowiPage.new(post)) end return GApiReturn.new(ok: ret['ok'], data: posts) rescue Exception => e GCLogger.logger.error(e) return GCInvalidRequest.new "Fail to parse: #{e}" end end
Protected Instance Methods
_invalid()
click to toggle source
バリデーションエラーを取得する @override @return [nil/GCInvalidRequest] バリデーションエラー結果
# File lib/growi/client/apireq/api_request_pages.rb, line 480 def _invalid if ! (@param[:path]) return GCInvalidRequest.new 'Parameter path required.' end end