Sha256: 57399c1129170592a5203551f704a7f12ce08e012a8a3f0cd69b0a360aa4c052

Contents?: true

Size: 1.35 KB

Versions: 80

Compression:

Stored size: 1.35 KB

Contents

module Translator
  module Smartling
    module API
      class FileStatus
        include Base

        def initialize(project_id:, file_uri:, token:)
          @project_id   = project_id
          @file_uri     = file_uri
          @token        = token
        end

        def build_request
          Net::HTTP::Get.new(uri, headers)
        end

        def headers
          { 'Authorization' => "Bearer #{@token}", 'Content-Type' => 'application/json' }
        end

        def uri
          @uri ||= begin
            uri = URI("https://api.smartling.com/files-api/v2/projects/#{@project_id}/file/status")
            uri.query = URI.encode_www_form({ 'fileUri' => @file_uri })
            uri
          end
        end

        def success?
          @response.code == '200'
        end

        def return_value
          @return_value ||= begin
            total_word_count = response_body['response']['data']['totalWordCount']
            total_string_count = response_body['response']['data']['totalStringCount']
            response_body['response']['data']['items'].map do |item|
              item['localeId'] if total_word_count == item['completedWordCount'] && total_string_count == item['completedStringCount']
            end.compact
          end
        end

        def to_s
          "#{@file_uri} => #{return_value}"
        end
      end
    end
  end
end

Version data entries

80 entries across 80 versions & 1 rubygems

Version Path
station-0.5.16 lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb
station-0.5.15 lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb
station-0.5.14 lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb
station-0.5.13 lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb
station-0.5.12 lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb
station-0.5.11 lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb
station-0.5.10 lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb
station-0.5.9 lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb
station-0.5.8 lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb
station-0.5.7 lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb
station-0.5.6 lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb
station-0.5.5 lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb
station-0.5.4 lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb
station-0.5.3 lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb
station-0.5.2 lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb
station-0.5.1 lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb
station-0.5.0 lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb
station-0.4.9 lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb
station-0.4.8 lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb
station-0.4.7 lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb