In this milestone we created..............................
[ ] All properties visible in the diagram should be defined and set up in the constructor method. Exception: properties for the 1-to-many relationships should NOT be set in the constructor method. Instead, they should have a custom setter method created.
[ ] All methods visible in the diagram should be implemented:
add_item method (in all classes that have that method)
should take an instance of the Item class as an input.
should add the input item to the collection of items.
should add self as a property of the item object (by using the correct setter from the item object).
can_be_archived?() in the Item class
should return true if published_date is older than 10 years otherwise, it should return false.
move_to_archive() in the Item class
should reuse can_be_archived?() method.
should change the archived property to true if the result of the can_be_archived?() method is true.
should override the method from the parent class.
should return true if parent's method returns true OR if cover_state equals to "bad".
otherwise, it should return false can_be_archived?() in the MusicAlbum class
should override the method from the parent class.
should return true if parent's method returns true AND if on_spotify equals true.
otherwise, it should return false.
can_be_archived?() in the Movie class
should override the method from the parent class.
should return true if parent's method returns true OR if silent equals true.
otherwise, it should return false.
can_be_archived?() in the Game class
should override the method from the parent class.
should return true if parent's method returns true AND if last_played_at is older than 2 years.
otherwise, it should return false.
[ ] Add unit tests for all implemented methods.
User interface
[ ] Create a main.rb file that will serve as your console app entry-point.
Your console app, at the start, should:
Present the user with a list of options to perform.
Let users choose an option.
If needed, ask for parameters for the option.
Have a way to quit the app.
The following options should be available:
List all books
List all music albums
List all movies
List of games
List all genres (e.g 'Comedy', 'Thriller')
List all labels (e.g. 'Gift', 'New')
List all authors (e.g. 'Stephen King')
List all sources (e.g. 'From a friend', 'Online shop')
[ ] Add a book
[ ] Add a music album
[ ] Add a movie
[ ] Add a game
All data should be preserved by saving collections in .json files.
In this milestone we created..............................
[ ] All properties visible in the diagram should be defined and set up in the constructor method. Exception: properties for the 1-to-many relationships should NOT be set in the constructor method. Instead, they should have a custom setter method created.
[ ] All methods visible in the diagram should be implemented:
add_item method (in all classes that have that method)
should take an instance of the Item class as an input.
should add the input item to the collection of items.
should add self as a property of the item object (by using the correct setter from the item object).
can_be_archived?() in the Item class
should return true if published_date is older than 10 years otherwise, it should return false. move_to_archive() in the Item class should reuse can_be_archived?() method.
should change the archived property to true if the result of the can_be_archived?() method is true.
should override the method from the parent class.
should return true if parent's method returns true OR if cover_state equals to "bad".
otherwise, it should return false can_be_archived?() in the MusicAlbum class
should override the method from the parent class.
should return true if parent's method returns true AND if on_spotify equals true.
otherwise, it should return false.
can_be_archived?() in the Movie class
should override the method from the parent class.
should return true if parent's method returns true OR if silent equals true.
otherwise, it should return false.
can_be_archived?() in the Game class
should override the method from the parent class.
should return true if parent's method returns true AND if last_played_at is older than 2 years.
otherwise, it should return false.
[ ] Add unit tests for all implemented methods. User interface
[ ] Create a main.rb file that will serve as your console app entry-point.
Your console app, at the start, should:
Present the user with a list of options to perform.
Let users choose an option.
If needed, ask for parameters for the option.
Have a way to quit the app.
The following options should be available:
List all books
List all music albums
List all movies
List of games
List all genres (e.g 'Comedy', 'Thriller')
List all labels (e.g. 'Gift', 'New')
List all authors (e.g. 'Stephen King')
List all sources (e.g. 'From a friend', 'Online shop')
[ ] Add a book
[ ] Add a music album
[ ] Add a movie
[ ] Add a game All data should be preserved by saving collections in .json files.