Sha256: f24ffac2ef7c1fb69688ae3b4c994279d41c01cb0a4af4db955870e61436d9b4

Contents?: true

Size: 1.02 KB

Versions: 4

Compression:

Stored size: 1.02 KB

Contents

class Enceladus::GuestAccount
  attr_reader :session_id

  # Initiaises a guest account.
  # This method hits the following api endpoint:
  # - https://api.themoviedb.org/3/authentication/guest_session/new
  #
  # For more information about guest accounts, check out http://docs.themoviedb.apiary.io/ SECTION: Authentication
  def initialize
    self.session_id = Enceladus::Requester.get("authentication/guest_session/new").guest_session_id
  end

  # Returns a list of rated movies for a specific guest account.
  # Example:
  #   account = Enceladus::GuestAccount.new
  #   account.rated_movies("desc")
  #   => [Movie, Movie, ..., Movie]
  def rated_movies(order="asc")
    raise Enceladus::Exception::ArgumentError.new("Argument error must be one of: asc or desc") if order != "asc" && order != "desc"
    Enceladus::MovieCollection.new("guest_session/#{session_id}/rated_movies", { sort_by: "created_at", sort_order: order }) if authenticated?
  end

private
  attr_writer :session_id

  def authenticated?
    !session_id.nil?
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
enceladus-0.0.8 lib/enceladus/models/guest_account.rb
enceladus-0.0.7 lib/enceladus/models/guest_account.rb
enceladus-0.0.6 lib/enceladus/models/guest_account.rb
enceladus-0.0.5 lib/enceladus/models/guest_account.rb