Class: Ggtranslate::ResultObject
- Inherits:
-
Object
- Object
- Ggtranslate::ResultObject
- Defined in:
- lib/ggtranslate/result_object.rb
Instance Method Summary collapse
- #as_json ⇒ Object
- #confidence ⇒ Object
-
#initialize(http_response) ⇒ ResultObject
constructor
A new instance of ResultObject.
- #is_success? ⇒ Boolean
- #source_language ⇒ Object
- #to_json ⇒ Object
- #translated_text ⇒ Object
Constructor Details
#initialize(http_response) ⇒ ResultObject
Returns a new instance of ResultObject.
5 6 7 8 |
# File 'lib/ggtranslate/result_object.rb', line 5 def initialize(http_response) @http_response = http_response process_http_response end |
Instance Method Details
#as_json ⇒ Object
38 39 40 41 42 43 44 45 |
# 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 ⇒ Object
30 31 32 |
# File 'lib/ggtranslate/result_object.rb', line 30 def confidence @response_data.dig("confidence") end |
#is_success? ⇒ Boolean
34 35 36 |
# File 'lib/ggtranslate/result_object.rb', line 34 def is_success? @http_response.code == 200 end |
#source_language ⇒ Object
26 27 28 |
# File 'lib/ggtranslate/result_object.rb', line 26 def source_language @response_data.dig("src") end |
#to_json ⇒ Object
47 48 49 |
# File 'lib/ggtranslate/result_object.rb', line 47 def to_json as_json.to_json end |
#translated_text ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# 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 |