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

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