ne_api 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
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