class FindRecipe::Recipe

Attributes

description[RW]
ingredients[RW]
name[RW]
steps[RW]
url[RW]

Public Class Methods

new(recipe_hash) click to toggle source

Passes in data from scraper when recipe is created

# File lib/find_recipe/recipe.rb, line 5
def initialize(recipe_hash)
        recipe_hash.each do |attribute, value|
                self.send(("#{attribute}="), value)
        end
end

Public Instance Methods

add_additional_recipe_data() click to toggle source
# File lib/find_recipe/recipe.rb, line 11
def add_additional_recipe_data
        additional_recipe_data = FindRecipe::Scraper.scrape_individual_recipe_data(self.url)
        
        additional_recipe_data.each do |attribute, value|
                self.send(("#{attribute}="), value)
        end
        
        self
end
get_details() click to toggle source
# File lib/find_recipe/recipe.rb, line 21
def get_details
        puts "\n\n"
        puts "Details for #{@name}:"
        puts "\n\n"
        puts "Description:".green
        puts @description
        puts "\n\n"
        puts "Ingredients:".green
        @ingredients.each do |ingredient|
                puts ingredient
        end
        puts "\n\n"
        puts "Steps:".green
        @steps.each.with_index(1) do |step, step_number|
                puts "#{step_number}.".blue + " #{step}"
        end
        puts "\n\n"
end
open_in_browser() click to toggle source
# File lib/find_recipe/recipe.rb, line 40
def open_in_browser
        system("open", self.url)
end