Sha256: 83d0891464b635b95e1ef18caefa2aa7030304c96fec663e6143c51c9730a40b

Contents?: true

Size: 1.92 KB

Versions: 2

Compression:

Stored size: 1.92 KB

Contents

# frozen_string_literal: true

# -- Dependencies
require 'json'
require 'net/http'

# -- Exceptions
require 'deepl/exceptions/error'
require 'deepl/exceptions/request_error'
require 'deepl/exceptions/authorization_failed'
require 'deepl/exceptions/bad_request'
require 'deepl/exceptions/limit_exceeded'
require 'deepl/exceptions/quota_exceeded'
require 'deepl/exceptions/not_found'
require 'deepl/exceptions/not_supported'

# -- Requests
require 'deepl/requests/base'
require 'deepl/requests/glossary/create'
require 'deepl/requests/glossary/destroy'
require 'deepl/requests/glossary/entries'
require 'deepl/requests/glossary/find'
require 'deepl/requests/glossary/language_pairs'
require 'deepl/requests/glossary/list'
require 'deepl/requests/languages'
require 'deepl/requests/translate'
require 'deepl/requests/usage'

# -- Responses and resources
require 'deepl/resources/base'
require 'deepl/resources/glossary'
require 'deepl/resources/language'
require 'deepl/resources/language_pair'
require 'deepl/resources/text'
require 'deepl/resources/usage'

# -- Other wrappers
require 'deepl/api'
require 'deepl/configuration'
require 'deepl/glossary_api'

# -- Gem interface
module DeepL
  extend self

  ## -- API shortcuts

  def api
    @api ||= API.new(configuration)
  end

  def languages(options = {})
    Requests::Languages.new(api, options).request
  end

  def translate(text, source_lang, target_lang, options = {})
    configure if @configuration.nil?
    Requests::Translate.new(api, text, source_lang, target_lang, options).request
  end

  def glossaries(options = {})
    configure if @configuration.nil?
    GlossaryApi.new(api, options)
  end

  def usage(options = {})
    configure if @configuration.nil?
    Requests::Usage.new(api, options).request
  end

  # -- Configuration

  def configuration
    @configuration ||= Configuration.new
  end

  def configure
    yield configuration if block_given?
    configuration.validate!
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
deepl-rb-2.5.1 lib/deepl.rb
deepl-rb-2.5.0 lib/deepl.rb