ne_api 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ne_api/version.rb +1 -1
  3. data/lib/ne_api.rb +28 -7
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2204c0aacf3b3bd35f35c6a866b2c0c7c0c87497
4
- data.tar.gz: 2a4b2fef8aed5bf904b9edf65cf7fbd29df5dc6f
3
+ metadata.gz: a8dcef30d03fc879c00be28c9c2a71aac391d29e
4
+ data.tar.gz: c3f5334d74ea331433db86cedccce79487babe34
5
5
  SHA512:
6
- metadata.gz: 08dcade149311b1d6a72edea331b6f4f7d7094b68dbb396bcb557429beda7e174fa514e175253f2b7d68307fe4b3584bbce722878621125e95fa3788c869340a
7
- data.tar.gz: 1186d6b9467a0c8a483fb01c1ebd6db187173fd11da09a67334262b747c204587b528b14e3a02d288bbd4c8c9d7309d1740333d33b326b456506caa2ad9aa4a1
6
+ metadata.gz: bac66101233c942a9f3da9984f7cde6e813167ec1b09453217c3555c1d5d4e76a05bb27966dede5964afc2619b2319a9072ebea8cbc5e571ec289e86a529f20d
7
+ data.tar.gz: ef10be79aec7f7d48b76fc7774f378baea745e5307d520a5a044b1729f9932bff120dfe04de772c0894caa612ceb1e364f11588977ecf19e7eb7c8f1ae3ff2fe
@@ -1,3 +1,3 @@
1
1
  module NeApi
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
data/lib/ne_api.rb CHANGED
@@ -22,7 +22,11 @@ module NeAPI
22
22
  def response response
23
23
  body = JSON.parse response.body
24
24
  if body["result"] != "success"
25
- raise NeAPIException, body["message"]
25
+ if (body["code"] == "003001" || body["code"] == "003002")
26
+ return false
27
+ else
28
+ raise NeAPIException, sprintf("%s:%s", body["code"], body["message"])
29
+ end
26
30
  return false
27
31
  end
28
32
  body
@@ -30,7 +34,7 @@ module NeAPI
30
34
 
31
35
  class Master
32
36
  include NeAPI
33
- attr_accessor :access_token, :refresh_token, :wait_flag
37
+ attr_accessor :access_token, :refresh_token, :wait_flag, :retry_num, :wait_interval
34
38
  PATH_PREFIX="/api_v1_"
35
39
 
36
40
  def initialize access_token: access_token, refresh_token: refresh_token
@@ -38,6 +42,8 @@ module NeAPI
38
42
  @access_token = access_token
39
43
  @refresh_token = refresh_token
40
44
  @wait_flag = false
45
+ @retry_num = 1
46
+ @wait_interval = 30
41
47
  end
42
48
 
43
49
  def force_import
@@ -54,14 +60,27 @@ module NeAPI
54
60
  params = params.merge({wait_flag: 1}) if @wait_flag
55
61
 
56
62
  if fields.present? && query.present?
57
- res =response(conn.post PATH_PREFIX+model.to_s+ "/" + method, {access_token: @access_token, refresh_token: @refresh_token, fields: fields}.merge(query).merge(params))
63
+ post_args = {access_token: @access_token, refresh_token: @refresh_token, fields: fields}.merge(query).merge(params)
64
+
58
65
  elsif fields.present?
59
- res =response(conn.post PATH_PREFIX+model.to_s+ "/" + method, {access_token: @access_token, refresh_token: @refresh_token, fields: fields}.merge(params))
66
+ post_args = {access_token: @access_token, refresh_token: @refresh_token, fields: fields}.merge(params)
60
67
  elsif query.present?
61
- res =response(conn.post PATH_PREFIX+model.to_s+ "/" + method, {access_token: @access_token, refresh_token: @refresh_token}.merge(query).merge(params))
68
+ post_args = {access_token: @access_token, refresh_token: @refresh_token}.merge(query).merge(params)
62
69
  else
63
- res =response(conn.post PATH_PREFIX+model.to_s+ "/" + method, {access_token: @access_token, refresh_token: @refresh_token}.merge(params))
70
+ post_args = {access_token: @access_token, refresh_token: @refresh_token}.merge(params)
71
+ end
72
+ res = false
73
+
74
+ self.retry_num.times do
75
+ res =response(conn.post PATH_PREFIX+model.to_s+ "/" + method, post_args)
76
+ break if res != false
77
+ sleep(self.wait_interval)
78
+ end
79
+ if res == false
80
+ raise NeAPIException, "003001:Next Engineが大変混み合っています。APIの接続を#{self.retry_num}回、#{self.wait_interval}秒間隔でアクセスを試みましたが、失敗をしました"
81
+ return false
64
82
  end
83
+
65
84
  @access_token = res["access_token"] if res["access_token"].present?
66
85
  @refresh_token = res["refresh_token"] if res["refresh_token"].present?
67
86
 
@@ -112,10 +131,11 @@ module NeAPI
112
131
  include NeAPI
113
132
  SIGN_IN_PATH = "/users/sign_in/"
114
133
  NEAUTH_PATH = "/api_neauth/"
115
- attr_accessor :redirect_url, :ne_user
134
+ attr_accessor :redirect_url, :ne_user, :wait_flag
116
135
 
117
136
  def initialize redirect_url: nil
118
137
  raise NeAPIException, "no redirect_url" if redirect_url.nil?
138
+ @wait_flag = false
119
139
  @redirect_url = redirect_url
120
140
  end
121
141
 
@@ -127,6 +147,7 @@ module NeAPI
127
147
  #access_token/企業情報取得
128
148
  def ne_auth uid, state
129
149
  @ne_user = response ( conn.post NEAUTH_PATH, {uid: uid, state: state})
150
+ raise NeAPIException, "003001:Next Engineが大変混み合っているようです" if @ne_user == false
130
151
  @ne_user
131
152
  end
132
153
  def tokens
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ne_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yuuna Kurita
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-09-28 00:00:00.000000000 Z
12
+ date: 2015-10-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler