daily pastebin goal
54%
SHARE
TWEET

Untitled

a guest Jul 17th, 2017 40 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # Requiring it because Rake tests controllers
  2. # individually
  3. require_relative 'view'
  4. require_relative 'recipe'
  5.  
  6. class Controller
  7.   def initialize(cookbook)
  8.     @cookbook = cookbook
  9.     @view = View.new
  10.   end
  11.  
  12.   # CRUD: Read
  13.   # List recipes
  14.   def list
  15.     show_recipes
  16.   end
  17.  
  18.  
  19.   # CRUD: Create
  20.   def create
  21.     name = @view.ask_for_name
  22.     description = @view.ask_for_description
  23.     recipe = Recipe.new(name, description)
  24.  
  25.     @cookbook.add_recipe(recipe)
  26.   end
  27.  
  28.  
  29.   # CRUD: Delete
  30.   def destroy
  31.     show_recipes # => calling the private method
  32.  
  33.     recipe_index = @view.delete_recipe
  34.  
  35.     @cookbook.remove_recipe(recipe_index)
  36.   end
  37.  
  38.   private
  39.   # defining a method that has a common behavior
  40.   # so we can reuse it inside other methods
  41.   def show_recipes
  42.     recipes = @cookbook.all
  43.     @view.list_recipes(recipes)
  44.   end
  45. end
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top