class Ggtranslate::ResultObject
Public Class Methods
new(http_response)
click to toggle source
# File lib/ggtranslate/result_object.rb, line 5 def initialize(http_response) @http_response = http_response process_http_response end
Public Instance Methods
as_json()
click to toggle source
# File lib/ggtranslate/result_object.rb, line 38 def as_json { translated_text: translated_text, source_language: source_language, confidence: confidence, response_data: @response_data, } end
confidence()
click to toggle source
# File lib/ggtranslate/result_object.rb, line 30 def confidence @response_data.dig("confidence") end
is_success?()
click to toggle source
# File lib/ggtranslate/result_object.rb, line 34 def is_success? @http_response.code == 200 end
source_language()
click to toggle source
# File lib/ggtranslate/result_object.rb, line 26 def source_language @response_data.dig("src") end
to_json()
click to toggle source
# File lib/ggtranslate/result_object.rb, line 47 def to_json as_json.to_json end
translated_text()
click to toggle source
# File lib/ggtranslate/result_object.rb, line 10 def translated_text result = nil if @response_data.is_a? Hash result = @response_data.dig("sentences", 0, "trans") elsif @response_data.is_a? Array result = @response_data.first end raise "EMPTY RESULT" unless result result = result.split("----------") result.count == 1 ? result.first : result rescue => e raise Ggtranslate::ResponseParsingException.new("Fail to parse response body") end
Private Instance Methods
process_http_response()
click to toggle source
# File lib/ggtranslate/result_object.rb, line 53 def process_http_response unless is_success? error_message = "Fail to call api with http code #{@http_response.code}" raise Ggtranslate::ApiCallException.new(error_message) end @response_data = JSON.load(@http_response.body) end