Method: NeAPI::Master#post

Defined in:
lib/ne_api.rb

#post(method: nil, model: nil, query: nil, fields: nil, get_key: nil, params: {}) ⇒ Object

Raises:



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# File 'lib/ne_api.rb', line 61

def post method: nil , model: nil, query: nil, fields: nil, get_key: nil, params: {}
  raise NeAPIException, "no token!" if @access_token.nil? || @refresh_token.nil?
  params = params.merge({wait_flag: 1}) if @wait_flag
  
  if fields.present? && query.present?
    post_args = {access_token: @access_token, refresh_token: @refresh_token, fields: fields}.merge(query).merge(params)

  elsif fields.present?
    post_args =  {access_token: @access_token, refresh_token: @refresh_token, fields: fields}.merge(params)
  elsif query.present?
    post_args = {access_token: @access_token, refresh_token: @refresh_token}.merge(query).merge(params)
  else
    post_args = {access_token: @access_token, refresh_token: @refresh_token}.merge(params)
  end
  res = false
  
  self.retry_num.times do
    res =response(conn.post PATH_PREFIX+model.to_s+ "/" + method, post_args)
    break if res != false
    sleep(self.wait_interval)
  end
  if res == false
    raise NeAPIException,  "003001:Next Engineが大変混み合っています。APIの接続を#{self.retry_num}回、#{self.wait_interval}秒間隔でアクセスを試みましたが、失敗をしました"
    return false
  end
  
  @access_token = res["access_token"] if res["access_token"].present?
  @refresh_token = res["refresh_token"] if res["refresh_token"].present?
  @access_token_end_date  = res["access_token_end_date"] if res["access_token_end_date"].present?
  @refresh_token_end_date  = res["refresh_token_end_date"] if res["refresh_token_end_date"].present?

  get_key.present? ? res[get_key]  : res
end