class SmartlingApi::Authentication

Access to Smartling Authentication API

Attributes

configuration[R]
smartling[R]

Public Class Methods

new(smartling: smartling_client, configuration: SmartlingApi.configuration) click to toggle source
# File lib/smartling_api/authentication.rb, line 8
def initialize(smartling: smartling_client, configuration: SmartlingApi.configuration)
  @smartling     = smartling.new
  @configuration = configuration
end

Public Instance Methods

access_token() click to toggle source

Access to Smartling authentication api to retrieve OAuth access_token.

@see docs.smartling.com/pages/API/v2/Authentication/Authenticate

@example Retrieve access token

SmartlingApi::Authentication.new.accesss_token #=> "token"

@return [String] OAuth Access Token @raise [Errors::Credentials] If the smartling id and secret have not been set

# File lib/smartling_api/authentication.rb, line 22
def access_token
  raise Errors::Credentials if configuration.invalid?
  data = smartling.authenticate(url: '/auth-api/v2/authenticate', body: { userIdentifier: user_id, userSecret: user_secret })

  data.fetch("accessToken")
end

Private Instance Methods

smartling_client() click to toggle source
# File lib/smartling_api/authentication.rb, line 33
def smartling_client
  Clients::Smartling
end
user_id() click to toggle source
# File lib/smartling_api/authentication.rb, line 37
def user_id
  configuration.id
end
user_secret() click to toggle source
# File lib/smartling_api/authentication.rb, line 41
def user_secret
  configuration.secret
end