Sha256: 05ae98b8b07300a7b94c39c4375ff41dc265f81a3393398d00efa03b828676d6

Contents?: true

Size: 778 Bytes

Versions: 1

Compression:

Stored size: 778 Bytes

Contents

class Hooloo::Genre < Hooloo::MozartHash
  def initialize(obj)
    super
    if obj.is_a? String
      @obj = {'canonical_name' => obj}
    else
      @obj = obj
    end
  end
  # List all shows in this genre
  #
  # @param args [Hash] (see Hooloo#request)
  # @return [Enumerator<Hooloo::Show>] List of shows
  def shows(args={})
    Hooloo.paginated_request('shows', {
      genre: canonical_name,
      sort: 'release_with_popularity'
    }.merge(args)) { |g, x| g << Hooloo::Show.new(x['show']) }
  end
  # List all genres known to Hulu
  #
  # @param args [Hash] (see Hooloo#request)
  # @return [Array<Hooloo::Genre>] List of genres
  def self.list(args={})
    Hooloo.request("shows/genres")['data'].map do |item|
      Hooloo::Genre.new(item['genre'])
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hooloo-0.3.0 lib/hooloo/genre.rb