Sha256: ee997bedf7a86d27fafe95ab5c235ce0f9fad2e85702179bf7871da52891312c

Contents?: true

Size: 554 Bytes

Versions: 2

Compression:

Stored size: 554 Bytes

Contents

module Notu

  class UserApi < Api

    attr_reader :username

    def initialize(username:, api_key: DEFAULT_API_KEY)
      super(api_key:)
      @username = username.try(:squish).presence || raise(Error.new('Username must be specified'))
    end

    def loved_tracks
      LovedTracks.new(self)
    end

    def recent_tracks
      RecentTracks.new(self)
    end

    def top_tracks(options = {})
      TopTracks.new(self, options)
    end

    def url(params = {})
      super((params || {}).symbolize_keys.merge(user: username))
    end

  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
notu-5.0.1 lib/notu/user_api.rb
notu-5.0.0 lib/notu/user_api.rb