В настоящее время я изучаю Ruby и у меня третий день практики, но у меня проблемы с классами и предметами.
escribe Recipe do
it 'Instance an object of type recipe' do
recipe = Recipe.new(title: 'Feijoada',
description: 'Você nunca comeu uma receita igual',
ingredients: 'Feijão e Carnes',
cook_time: 80,
featured: true)
expect(recipe.class).to eq Recipe
expect(recipe.title).to eq 'Feijoada'
expect(recipe.description).to eq 'Você nunca comeu uma receita igual'
expect(recipe.ingredients).to eq 'Feijão e Carnes'
expect(recipe.cook_time).to eq 80
expect(recipe.featured).to eq true
end
Как правильно инициализировать каждый хэш таким образом, чтобы при его возврате он был читабельным? Запустив rspec, я получаю «NoMethodError: неопределенный метод» - для nil: NilClass »
Это мой текущий код класса:
class Recipe
require 'json'
attr_accessor :title, :description, :ingredients, :cook_time, :featured
def initialize(arr)
@title = arr[:title]
@description - arr[:description]
@ingredients = arr[:ingredients]
@cook_time = arr[:cook_time]
@featured = arr[:featured]
end
def self.from_json(path)
arquivo = File.read(path)
recipe = JSON.parse(arquivo)
end
end