Class: Enceladus::Account
- Inherits:
-
ApiResource
- Object
- ApiResource
- Enceladus::Account
- Defined in:
- lib/enceladus/models/account.rb
Constant Summary collapse
- RESOURCE_ATTRIBUTES =
[:id, :include_adult, :iso_3166_1, :iso_639_1, :name, :username, :session_id].map(&:freeze).freeze
Instance Method Summary collapse
-
#add_to_watchlist!(movie_id) ⇒ Object
Adds movie to accounts watchlist.
-
#favorite_movie!(movie_id) ⇒ Object
Adds movie to accounts favorite list.
-
#favorite_movies ⇒ Object
Return a list of account’s favorite movies.
-
#initialize(username, password) ⇒ Account
constructor
Responsible for authenticating TMDb users.
-
#rated_movies ⇒ Object
Return a list of account’s rated movies.
-
#remove_from_watchlist!(movie_id) ⇒ Object
Removes movie to accounts watchlist.
-
#unfavorite_movie!(movie_id) ⇒ Object
Removes movie to accounts favorite list.
-
#watchlist ⇒ Object
Return the account’s watchlist The returned movies are wrapped into a Enceladus::MovieCollection.
Constructor Details
#initialize(username, password) ⇒ Account
Responsible for authenticating TMDb users. Authentication of users follows the workflow: www.themoviedb.org/documentation/api/sessions This method hits the following api endpoints:
Example:
Enceladus::Account.new("bruna_ferraz", "dajhhd")
19 20 21 22 23 |
# File 'lib/enceladus/models/account.rb', line 19 def initialize(username, password) self.username = username self.password = password start_authentication_workflow end |
Instance Method Details
#add_to_watchlist!(movie_id) ⇒ Object
51 52 53 |
# File 'lib/enceladus/models/account.rb', line 51 def add_to_watchlist!(movie_id) toggle_movie_watchlist(movie_id, true) end |
#favorite_movie!(movie_id) ⇒ Object
31 32 33 |
# File 'lib/enceladus/models/account.rb', line 31 def favorite_movie!(movie_id) toggle_favorite_movie(movie_id, true) end |
#favorite_movies ⇒ Object
72 73 74 |
# File 'lib/enceladus/models/account.rb', line 72 def favorite_movies Enceladus::MovieCollection.new("account/#{id}/favorite/movies", { session_id: session_id }) if authenticated? end |
#rated_movies ⇒ Object
83 84 85 |
# File 'lib/enceladus/models/account.rb', line 83 def rated_movies Enceladus::MovieCollection.new("account/#{id}/rated/movies", { session_id: session_id }) if authenticated? end |
#remove_from_watchlist!(movie_id) ⇒ Object
61 62 63 |
# File 'lib/enceladus/models/account.rb', line 61 def remove_from_watchlist!(movie_id) toggle_movie_watchlist(movie_id, false) end |
#unfavorite_movie!(movie_id) ⇒ Object
41 42 43 |
# File 'lib/enceladus/models/account.rb', line 41 def unfavorite_movie!(movie_id) toggle_favorite_movie(movie_id, false) end |
#watchlist ⇒ Object
94 95 96 |
# File 'lib/enceladus/models/account.rb', line 94 def watchlist Enceladus::MovieCollection.new("account/#{id}/watchlist/movies", { session_id: session_id }) if authenticated? end |