|  | @@ -14,23 +14,29 @@ class recipe_model (abstract_reference):
 | 
											
												
													
														|  |      __vtor = validator()
 |  |      __vtor = validator()
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -    def __init__(self, name, ingredients: list, steps: list):
 |  | 
 | 
											
												
													
														|  | -        self.__vtor.check_type(ingredients, list)
 |  | 
 | 
											
												
													
														|  | -        self.__vtor.check_collection_all(ingredients,
 |  | 
 | 
											
												
													
														|  | -                                               lambda item: self.__vtor.check_type(item, ingredient_model))
 |  | 
 | 
											
												
													
														|  | -        
 |  | 
 | 
											
												
													
														|  | -        self.__vtor.check_type(steps, list)
 |  | 
 | 
											
												
													
														|  | -        self.__vtor.check_collection_all(steps,
 |  | 
 | 
											
												
													
														|  | -                                               lambda item: self.__vtor.check_type(item, str))
 |  | 
 | 
											
												
													
														|  | -        self.__vtor.check_collection_all(steps,
 |  | 
 | 
											
												
													
														|  | -                                               lambda item: self.__vtor.check_length_greater(item, 0))
 |  | 
 | 
											
												
													
														|  | -        
 |  | 
 | 
											
												
													
														|  | -        self.__ingredients = ingredients
 |  | 
 | 
											
												
													
														|  | -        self.__steps = steps
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | 
 |  | +    def __init__(self, name):
 | 
											
												
													
														|  |          super().__init__(name)
 |  |          super().__init__(name)
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      
 |  |      
 | 
											
												
													
														|  | 
 |  | +    @staticmethod
 | 
											
												
													
														|  | 
 |  | +    def create(name, ingredients:list=None, steps:list=None):
 | 
											
												
													
														|  | 
 |  | +        """
 | 
											
												
													
														|  | 
 |  | +            Фабричный метод для создания рецепта
 | 
											
												
													
														|  | 
 |  | +        Args:
 | 
											
												
													
														|  | 
 |  | +            ingredients?: список ингредиентов
 | 
											
												
													
														|  | 
 |  | +            steps?: список шагов по приготовлению
 | 
											
												
													
														|  | 
 |  | +        Returns:
 | 
											
												
													
														|  | 
 |  | +            recipe_model: Созданный рецепт
 | 
											
												
													
														|  | 
 |  | +        """
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +        recipe = recipe_model(name)
 | 
											
												
													
														|  | 
 |  | +        
 | 
											
												
													
														|  | 
 |  | +        recipe.ingredients = ingredients if ingredients is not None else list()
 | 
											
												
													
														|  | 
 |  | +        recipe.steps = steps if steps is not None else list()
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +        return recipe
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |      @property
 |  |      @property
 | 
											
												
													
														|  |      def ingredients(self):
 |  |      def ingredients(self):
 | 
											
												
													
														|  |          """Ингредиенты рецепта"""
 |  |          """Ингредиенты рецепта"""
 |