Alimento
Gema usada para representar y calcular el valor energético de un alimento.
Preparación de la gema
- Instalar 'bundler' gem install bundler
- Instalar 'rspec' gem install rspec
- Crear la gema 'alimento' bundle gem alimento
- Modificar el fichero 'Gemfile' vim Gemfile <<<<<<< HEAD
* Añadir a Travis
- Incluir acceso con Travis
c984848255ac3b8c372dd54c2e122527b42404c9
Instalación
gem 'alimento'
And then execute:
$ bundle
Or install it yourself as:
$ gem install alimento
Usage
La gema 'Alimento' tiene una clase con el mismo nombre, a cuyas instancias se le tienen que pasar 4 argumentos:
- Nombre del alimento
- % de proteínas
- % de glúcidos (azúcares)
- % de lípidos (grasas)
- cantidad de alimento (gr)
Tambien contiene una clase 'List' que representa listas de alimentos, cuyos nodos son los alimentos pertenecientes a su grupo (lácteos, carnes, pescados, etc...), usando una estructura ('Struct') para representar cada nodo. Dicha lista es del tipo "doblemente enlazada".
Finalmente, existe una clase por cada grupo de alimentos que heredan de la clase 'Alimento': sus atributos y métodos.
Development
De la clase 'Alimento', son accesibles(para lectura) el 'nombre', y las cantidades de 'proteinas','glucidos' y 'lipidos' introducidos.
Además, 'Alimento' cuenta con los siguientes métodos:
- alimento.getNombre
- alimento.grProteinas
- alimento.grGlucidos
- alimento.grLipidos
- alimento.calorias
- alimento.to_s
La clase 'List' tiene accesibles (lectura) el 'head' y el 'tail' de la lista. Que a su vez, permiten conocer el 'valor','prev' y 'sigte' del nodo al que "apuntan".
Los métodos de la clase 'List' son los siguientes:
- .insertaNodo (Inserta un nuevo nodo en la lista)
- .rmHead (Elimina el nodo-cabeza de la lista)
- .rmTail (Elimina el nodo-cola de la lista)
Pruebas realizadas con la herramienta 'rspec'. Fichero de pruebas: alimento/spec/alimento_spec.rb
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/ULL-ESIT-LPP-1718/tdd-alu0101069937.