Sha256: 9512e9f6264ef63d2912d2f7846a3403b1578f442acace9dd3aa5533920b7451

Contents?: true

Size: 886 Bytes

Versions: 2

Compression:

Stored size: 886 Bytes

Contents

# frozen_string_literal: true

require 'json'
require 'smartling/auth'
require 'smartling/files'
require 'smartling/contexts'
require 'smartling/strings'
require 'smartling/verbs'
require 'hipsterhash'
require 'forwardable'

module Smartling
  # A fairly generic Smartling REST API client.
  class Client
    include HTTMultiParty
    include Auth
    include Files
    include Strings
    include Contexts
    include Verbs

    attr_accessor :project_id

    base_uri  'https://api.smartling.com'
    headers   'Accept' => 'application/json'
    raise_on  [404, 401, 500]

    def initialize(user_id:     ENV.fetch('SMARTLING_USER_ID'),
                   user_secret: ENV.fetch('SMARTLING_USER_SECRET'),
                   project_id:  ENV.fetch('SMARTLING_PROJECT_ID', nil))
      @user_id = user_id
      @user_secret = user_secret
      @project_id = project_id
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
smartring-0.0.2 lib/smartling/client.rb
smartring-0.0.1 lib/smartling/client.rb