toptranslation_api 2.3.0 → 2.4.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1c33323a6ceaeea5084a3bad1e038611b20986e2aa6fd79d1d5bf5b7cd38104b
4
- data.tar.gz: ce619d7ceeb69ed269b56507e2fea4983a0862ac0bf42dabdc0a3a3908658ab9
3
+ metadata.gz: 28238cfa869293329560fd7c6c0830b828fe409a8135fe018951ef48c0b54fbd
4
+ data.tar.gz: 8b803d37c0a170b10fdc427afc7da23902e876d2af07e47270de9e755995dc37
5
5
  SHA512:
6
- metadata.gz: f580cf9866c741c75f747ef0274406a2662af88046914be4fcb6933e1ac80bb93248019e5ccdab5d508379a27ec18c94add07407ab127c73e997f4c8772dcff9
7
- data.tar.gz: 8f0798de6ea5121d54df6b4acc2a98fba9993340d996e4d9de678d96b10bfe8675292656cd16c4bd4db30255dfab8ea9fb789aa4cb77af190e4d4e699d2d4e6f
6
+ metadata.gz: 9e2702875480b453b4647e23068001e6b009fdbe609861c89d15b6ea36892be6b32302184db5a575f3db25385d99bb93ea32d44f667d16a27d3cc4f8bf70bfc2
7
+ data.tar.gz: db9565bbfd58e063f5826aa5f3639577ab596526b4181ea59a64496824d6b8665e867e75f1c3a51c65164592eceaa668e1bb0fa386db6cd50ce1c99355fa27b1
@@ -19,5 +19,13 @@ module Toptranslation
19
19
  def locales(options = {})
20
20
  @locale_list ||= Resource::LocaleList.new(@connection, options)
21
21
  end
22
+
23
+ def sign_in!(options)
24
+ @connection.sign_in!(options)
25
+ end
26
+
27
+ def access_token=(token)
28
+ @connection.access_token = token
29
+ end
22
30
  end
23
31
  end
@@ -1,12 +1,13 @@
1
1
  module Toptranslation
2
2
  class Connection # rubocop:disable Metrics/ClassLength
3
- attr_accessor :upload_token, :verbose
3
+ attr_accessor :upload_token, :verbose, :access_token
4
4
 
5
5
  def initialize(options = {})
6
6
  @base_url = options[:base_url] || 'https://api.toptranslation.com'
7
7
  @files_url = options[:files_url] || 'https://files.toptranslation.com'
8
- @access_token = options[:access_token] || sign_in(options)
8
+ @access_token = options[:access_token]
9
9
  @verbose = options[:verbose] || false
10
+ sign_in!(options) if @access_token.nil? && options.values_at(:email, :password).all?
10
11
  end
11
12
 
12
13
  def get(path, options = {})
@@ -33,6 +34,21 @@ module Toptranslation
33
34
  upload_file(file, type, uri, &block)
34
35
  end
35
36
 
37
+ def sign_in!(options)
38
+ return if @access_token
39
+ sign_in_options = {
40
+ email: options[:email],
41
+ password: options[:password],
42
+ application_id: 'pollux'
43
+ }.merge(options)
44
+
45
+ @access_token = post('/auth/sign_in', sign_in_options.merge(version: 2))['access_token']
46
+
47
+ puts "# Requested access token #{@access_token}" if @verbose
48
+
49
+ @access_token
50
+ end
51
+
36
52
  private
37
53
 
38
54
  def version(options)
@@ -60,20 +76,6 @@ module Toptranslation
60
76
  token
61
77
  end
62
78
 
63
- def sign_in(options)
64
- sign_in_options = {
65
- email: options[:email],
66
- password: options[:password],
67
- application_id: 'pollux'
68
- }.merge!(options)
69
-
70
- access_token = post('/auth/sign_in', sign_in_options)['access_token']
71
-
72
- puts "# Requested access token #{access_token}" if @verbose
73
-
74
- access_token
75
- end
76
-
77
79
  def transform_response(response, options)
78
80
  puts response if @verbose
79
81
  parsed = JSON.parse(response)
@@ -1,3 +1,3 @@
1
1
  module Toptranslation
2
- VERSION = '2.3.0'.freeze
2
+ VERSION = '2.4.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: toptranslation_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Toptranslation GmbH
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-06-19 00:00:00.000000000 Z
11
+ date: 2018-06-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json