# frozen_string_literal: true

module Onebox
  class Movie
    def initialize(json_ld_data)
      @json_ld_data = json_ld_data
    end

    def name
      @json_ld_data["name"]
    end

    def image
      @json_ld_data["image"]
    end

    def description
      @json_ld_data["description"]
    end

    def rating
      @json_ld_data.dig("aggregateRating", "ratingValue")
    end

    def genres
      @json_ld_data["genre"]
    end

    def duration
      return nil unless @json_ld_data["duration"]

      Time.parse(@json_ld_data["duration"]).strftime "%H:%M"
    end

    def to_h
      {
        name: name,
        image: image,
        description: description,
        rating: rating,
        genres: genres,
        duration: duration,
      }
    end
  end
end