Class: SemaApiRuby::GetTextToImageRatio
- Inherits:
-
Object
- Object
- SemaApiRuby::GetTextToImageRatio
- Defined in:
- lib/sema_api_ruby/get_text_to_image_ratio.rb
Instance Attribute Summary collapse
-
#image_size ⇒ Object
Returns the value of attribute image_size.
-
#rectangles ⇒ Object
Returns the value of attribute rectangles.
Class Method Summary collapse
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(image_size, rectangles) ⇒ GetTextToImageRatio
constructor
A new instance of GetTextToImageRatio.
Constructor Details
#initialize(image_size, rectangles) ⇒ GetTextToImageRatio
Returns a new instance of GetTextToImageRatio.
11 12 13 14 |
# File 'lib/sema_api_ruby/get_text_to_image_ratio.rb', line 11 def initialize(image_size, rectangles) @rectangles = rectangles @image_size = image_size end |
Instance Attribute Details
#image_size ⇒ Object
Returns the value of attribute image_size.
5 6 7 |
# File 'lib/sema_api_ruby/get_text_to_image_ratio.rb', line 5 def image_size @image_size end |
#rectangles ⇒ Object
Returns the value of attribute rectangles.
5 6 7 |
# File 'lib/sema_api_ruby/get_text_to_image_ratio.rb', line 5 def rectangles @rectangles end |
Class Method Details
.call(image_size, rectangles) ⇒ Object
7 8 9 |
# File 'lib/sema_api_ruby/get_text_to_image_ratio.rb', line 7 def self.call(image_size, rectangles) self.new(image_size, rectangles).call end |
Instance Method Details
#call ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/sema_api_ruby/get_text_to_image_ratio.rb', line 16 def call return 0.0 unless rectangles.any? text_area = rectangles.inject(0.0) do |memo, rect| memo += if rect['text'].nil? || rect['text'].empty? 0.0 else (rect['width'] * rect['height']).to_f end end image_area = image_size[0] * image_size[1] (text_area / image_area.to_f).round(4) end |