class BadgerVision::Client::ImageInformationResponse

Public Class Methods

new(response) click to toggle source
# File lib/badger_vision/client.rb, line 29
def initialize(response)
  @response = response || {}
end

Public Instance Methods

attributes() click to toggle source
# File lib/badger_vision/client.rb, line 33
def attributes
  @response.fetch(:attributes, []).split(",").map(&:strip)
end
scenes() click to toggle source
# File lib/badger_vision/client.rb, line 41
def scenes
  @response.fetch(:scenes, []).split(",").map(&:strip).map do |scene|
    Scene.new(parse_scene(scene))
  end
end
type() click to toggle source
# File lib/badger_vision/client.rb, line 37
def type
  @response.fetch(:type, nil)
end

Private Instance Methods

extract_scene_data(scene) click to toggle source
# File lib/badger_vision/client.rb, line 57
def extract_scene_data(scene)
  # format: lagoon (0.299)
  scene.match(/^(\w*)\s\((.*)\)/)&.captures
end
parse_scene(scene) click to toggle source
# File lib/badger_vision/client.rb, line 49
def parse_scene(scene)
  name, probability = extract_scene_data(scene)
  {
    name: name,
    probability: probability.to_f
  }
end