class YandexImageModeration::Result

@!visibility public Moderation result with some useful methods

Attributes

data[R]
result[R]

Public Class Methods

new(data) click to toggle source
# File lib/yandex_image_moderation/result.rb, line 12
def initialize(data)
  raise(::YandexImageModeration::Error::InvalidResult, 'no result data') if data.nil?
  @data = data
  parse_data
end

Public Instance Methods

ad?() click to toggle source
# File lib/yandex_image_moderation/result.rb, line 38
def ad?
  ad_score > 0.5
end
ad_score() click to toggle source
# File lib/yandex_image_moderation/result.rb, line 34
def ad_score
  @result['ad']['scores']['ads'] unless @result.nil? || @result['ad'].nil?
end
bad?() click to toggle source
# File lib/yandex_image_moderation/result.rb, line 22
def bad?
  !good?
end
erotic?() click to toggle source
# File lib/yandex_image_moderation/result.rb, line 46
def erotic?
  erotic_score > 0.4
end
erotic_score() click to toggle source
# File lib/yandex_image_moderation/result.rb, line 30
def erotic_score
  @result['moderation']['scores']['erotic'] unless @result.nil? || @result['moderation'].nil?
end
good?() click to toggle source
# File lib/yandex_image_moderation/result.rb, line 18
def good?
  @status.to_s == 'ok'
end
porn?() click to toggle source
# File lib/yandex_image_moderation/result.rb, line 42
def porn?
  porn_score > 0.3
end
porn_score() click to toggle source
# File lib/yandex_image_moderation/result.rb, line 26
def porn_score
  @result['pornography']['scores']['explicit'] unless @result.nil? || @result['pornography'].nil?
end
predicted_class() click to toggle source
# File lib/yandex_image_moderation/result.rb, line 50
def predicted_class
  @result['moderation']['predictedClass'] unless @result.nil? || @result['moderation'].nil?
end

Private Instance Methods

parse_data() click to toggle source
# File lib/yandex_image_moderation/result.rb, line 56
def parse_data
  raise(::YandexImageModeration::Error::InvalidResult,
        'invalid result') if @data.nil? || !@data.is_a?(Hash) || @data.empty?
  @status = @data['status']
  @result = @data['result']['classification'] unless @data['result'].nil?
end