Sha256: 1a87ba1e62167dbb6788860ce87c560bdadd5cb94cc033ff41553366a1d5c2c3

Contents?: true

Size: 1.88 KB

Versions: 1

Compression:

Stored size: 1.88 KB

Contents

# frozen_string_literal: true

module Crowdin
  module ApiResources
    module Languages
      def list_languages(query = {})
        request = Web::Request.new(
          self,
          :get,
          '/languages',
          query
        )

        request.perform
      end

      # Add custom language.
      #
      # === Parameters
      #
      # * +:name+ [String] - Language name
      # * +:code+ [String] - Custom language code
      # * +:localeCode+ [String] - Custom language locale code
      # * +:textDirection+ [String ltr/rtl] - Text direction in custom language
      # * +:pluralCategoryNames+ [String] - Array with category names
      # * +:threeLettersCode+ [String] - Custom language 3 letters code. Format: ISO 6393 code
      #
      # === Example
      #
      #  crowdin.add_custom_language(name: 'your_name', code: 'your_code' ..)
      #
      def add_custom_language(query = {})
        request = Web::Request.new(
          self,
          :post,
          '/languages',
          query
        )

        request.perform
      end

      def get_language(language_id = nil)
        language_id || raise(ArgumentError, ':language_id is required')

        request = Web::Request.new(
          self,
          :get,
          "/languages/#{language_id}"
        )

        request.perform
      end

      def delete_custom_language(language_id = nil)
        language_id || raise(ArgumentError, ':language_id is required')

        request = Web::Request.new(
          self,
          :delete,
          "/languages/#{language_id}"
        )

        request.perform
      end

      def edit_custom_language(language_id = nil)
        language_id || raise(ArgumentError, ':language_id is required')

        request = Web::Request.new(
          self,
          :patch,
          "/languages/#{language_id}",
          query
        )

        request.perform
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
crowdin-api-1.0.0 lib/crowdin-api/api-resources/languages.rb