Alimento
La gema Alimento contiene la clase alimento, la cual permite la creación de un objeto Alimento con un identificador literal y unas componentes basadas en los glúcidos, lípidos y proteínas para gestionar las calorías proporcionadas por este.
Instalación
Añade esta línea a tu documento Gemgfile:
gem 'Alimento'
y ejecuta el comando:
$ bundle
O realiza una instalación directa con:
$ gem install Alimento
Detalles de las clases
Alimento
- Creacion de Alimento: Alimento.new(Nombre, gr glúcidos, gr proteínas, gr lípidos).
- Tiene métodos para el acceso de lectura a los atributos nombre, glucidos, proteinas y lipidos.
- kcal: método para el cálculo. Devuelve el valor energético del alimento en kilocalorías.
- Puede calcular el índice glucémico de un alimento a partir de los datos del experimento
- Es comparable
AlimentoCategorizable
- Creacion de AlimentoCategorizable: AlimentoCategorizable.new(Nombre, categoria, gr glúcidos, gr proteínas, gr lípidos)
- Hereda la funcionalidad de Alimento
- Tiene un atributo categoria, su grupo alimenticio, y métodos para su acceso de lectura
Node
- Creacion de Node: Node.new(valor, nodo siguiente, nodo previo).
- Tiene métodos de acceso y modificación de los atributos value, next y prev.
Lista
- Creacion de Lista: Lista.new()
- Tiene métodos de acceso para sus atributos head y tail, lo que permite hacer comprobación del contenido previa sustracción o inserción.
- Tiene métodos para la extracción (pop_head, pop_tail) para eliminar un nodo de la lista y obtener su contenido (su valor Node.value).
- Tiene métodos para la inserción de elementos (push_head(x), push_tail) para la inclusión de un nodo en la lista.
- Es enumerable
GrupoAlimenticio
- Creacion de GrupoAlimenticio: GrupoAlimenticio.new(Categoria).
- Hereda su funcionalidad de la lista
- Tiene un atributo categoria que define la categoria de los alimentos que se meten en la lista, y su método de lectura
Plato de Harvard
- Implementación de un DSL para la gestión de un plato de Harvard
Licencia
La gema está disponible como código abierto bajo los términos de la Licencia MIT.
Sincronización con Travis CI
Está sincronizado con Travis