rail-locator-api 0.1.16 → 0.1.17

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 954fca62238bc7b33b0b86999e017649c5338f01b0fd4d684651abcf75b062a4
4
- data.tar.gz: e1e0fb3102e08e62195644fd8a479c6172eea3220c7b62bfd049f8e85dc026cf
3
+ metadata.gz: 9f669bd03427eda818b445e6639fa78c663defa18a11a491144dace854ab8906
4
+ data.tar.gz: a3eaabab8cff46cbb00334454833e2bc1b53c58e8f3668b3402cd98eea868e00
5
5
  SHA512:
6
- metadata.gz: be314fe74d7ec16776b2c528de676d44d067d38792f4eb671942e2e8c91c3e3fe66292492abdb7fa9bd11dd44db2065fe6fb712912148bd633bf363fc78c4396
7
- data.tar.gz: 855004fb2e73a23d5086ba1bad484fd7509364fa9325820fd3792d4bc30e02fad838a9b28ba918bfa9fbbc7d0e1705088bf854da18cedf444043f78be3bd3611
6
+ metadata.gz: ce8f47cbc300948b32217bcc745340f952cecde7790e0c4cbd4cf0bc78aa7fcc289bc29a0988588509fbbd7b25ad0f32ac46092e4cd0a00faffa43c25ffc2abc
7
+ data.tar.gz: 1c15323aee4561cd964048188cdc1bc402275d2f6e1cd81590a1499a165b1a97358f1ea51dbc1963181d3d059877a1391ef92206e55f8c6637f81f178fc48af3
@@ -13,6 +13,8 @@ RailLocatorApi.setup do |config|
13
13
  config::Request.api_user_email ||= ENV['API_USER_EMAIL']
14
14
  config::Request.api_user_password ||= ENV['API_USER_PASSWORD']
15
15
 
16
+ config::Request.jwt_secret_code ||= ENV['JWT_SECRET_CODE']
17
+
16
18
  config::Request.timeout = 60
17
19
  config::Request.open_timeout = 60
18
20
  config::Request.symbolize_keys = true
@@ -33,6 +33,9 @@ module RailLocatorApi
33
33
  protected
34
34
 
35
35
  # Convenience accessors
36
+ def jwt_secret_code
37
+ @request_builder.jwt_secret_code
38
+ end
36
39
 
37
40
  def access_token
38
41
  @request_builder.access_token
@@ -128,7 +131,6 @@ module RailLocatorApi
128
131
  RailLocatorApi::Request.refresh_token = response.try(:dig, "refresh_token")
129
132
  end
130
133
  end
131
-
132
134
  if self.api_auth_method == :base64
133
135
  request.headers['Authorization'] = "Basic " + Base64::encode64("#{self.api_user_email}:#{self.api_user_password}")
134
136
  end
@@ -1,6 +1,6 @@
1
1
  module RailLocatorApi
2
2
  class Request
3
- attr_accessor :access_token, :refresh_token, :api_key, :api_user_email, :api_user_password, :api_auth_method, :api_endpoint,
3
+ attr_accessor :jwt_secret_code, :access_token, :refresh_token, :api_key, :api_user_email, :api_user_password, :api_auth_method, :api_endpoint,
4
4
  :timeout, :open_timeout, :proxy, :ssl_options, :faraday_adapter, :symbolize_keys, :debug,
5
5
  :without_ratelimit, :logger, :test
6
6
 
@@ -9,7 +9,7 @@ module RailLocatorApi
9
9
  DEFAULT_TIMEOUT = 60
10
10
  DEFAULT_OPEN_TIMEOUT = 60
11
11
 
12
- def initialize(access_token: nil, refresh_token: nil, api_key: nil, api_user_email: nil, api_user_password: nil,
12
+ def initialize(jwt_secret_code: nil, access_token: nil, refresh_token: nil, api_key: nil, api_user_email: nil, api_user_password: nil,
13
13
  api_endpoint: nil, api_auth_method: nil, timeout: nil, open_timeout: nil, proxy: nil, ssl_options: nil,
14
14
  faraday_adapter: nil, symbolize_keys: false, debug: false, without_ratelimit: false,
15
15
  logger: nil, test: false)
@@ -22,6 +22,10 @@ module RailLocatorApi
22
22
  @access_token = @access_token.strip if @access_token
23
23
  @refresh_token = refresh_token || self.class.refresh_token
24
24
  @refresh_token = @refresh_token.strip if @refresh_token
25
+
26
+ @jwt_secret_code = jwt_secret_code || self.class.jwt_secret_code
27
+ @jwt_secret_code = @jwt_secret_code.strip if @jwt_secret_code
28
+
25
29
  @api_user_email = api_user_email || ENV['API_USER_EMAIL'] || ""
26
30
  @api_user_password = api_user_password || ENV['API_USER_PASSWORD'] || ""
27
31
  @api_endpoint = api_endpoint || self.class.api_endpoint
@@ -86,10 +90,10 @@ module RailLocatorApi
86
90
  reset
87
91
  end
88
92
 
89
- def token_alive?(token)
93
+ def token_alive?(token, jwt_secret_code=@jwt_secret_code)
90
94
  begin
91
95
  return false if token.nil?
92
- exp = JWT.decode(token, JWT_SECTET_CODE, false).try(:first).try(:dig, "exp")
96
+ exp = JWT.decode(token, jwt_secret_code, false).try(:first).try(:dig, "exp")
93
97
  return false if exp.nil?
94
98
  Time.at(exp) > Time.now + 30.second
95
99
  rescue => e
@@ -105,12 +109,13 @@ module RailLocatorApi
105
109
  end
106
110
 
107
111
  class << self
108
- attr_accessor :access_token, :refresh_token, :api_key, :api_user_email, :api_user_password, :api_auth_method,
112
+ attr_accessor :jwt_secret_code, :access_token, :refresh_token, :api_key, :api_user_email, :api_user_password, :api_auth_method,
109
113
  :timeout, :open_timeout, :api_endpoint, :proxy, :ssl_options, :faraday_adapter, :symbolize_keys,
110
114
  :debug, :without_ratelimit, :logger, :test
111
115
 
112
116
  def method_missing(sym, *args, &block)
113
- new(access_token: self.access_token, refresh_token: self.refresh_token, api_key: self.api_key,
117
+ new(jwt_secret_code: self.jwt_secret_code, access_token: self.access_token, refresh_token: self.refresh_token,
118
+ api_key: self.api_key,
114
119
  api_user_email: self.api_user_email, api_user_password: self.api_user_email,
115
120
  api_auth_method: self.api_auth_method, api_endpoint: self.api_endpoint,
116
121
  timeout: self.timeout, open_timeout: self.open_timeout, faraday_adapter: self.faraday_adapter,
@@ -1,3 +1,3 @@
1
1
  module RailLocatorApi
2
- VERSION = "0.1.16"
2
+ VERSION = "0.1.17"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rail-locator-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.16
4
+ version: 0.1.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Osetrov