nutritag 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.coveralls.yml +2 -0
- data/.gitignore +11 -0
- data/.rspec +3 -0
- data/.travis.yml +6 -0
- data/Gemfile +6 -0
- data/Gemfile.lock +111 -0
- data/Guardfile +82 -0
- data/README.md +34 -0
- data/Rakefile +16 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/doc/Anthro_data.html +1156 -0
- data/doc/Etiqueta.html +1729 -0
- data/doc/List.html +964 -0
- data/doc/Node.html +398 -0
- data/doc/Nutritag.html +123 -0
- data/doc/Patient.html +1102 -0
- data/doc/Person.html +497 -0
- data/doc/_index.html +169 -0
- data/doc/class_list.html +51 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +58 -0
- data/doc/css/style.css +496 -0
- data/doc/file.README.html +118 -0
- data/doc/file_list.html +56 -0
- data/doc/frames.html +17 -0
- data/doc/index.html +118 -0
- data/doc/js/app.js +292 -0
- data/doc/js/full_list.js +216 -0
- data/doc/js/jquery.js +4 -0
- data/doc/method_list.html +547 -0
- data/doc/top-level-namespace.html +112 -0
- data/lib/nutritag.rb +8 -0
- data/lib/nutritag/label.rb +107 -0
- data/lib/nutritag/list.rb +110 -0
- data/lib/nutritag/menu.rb +208 -0
- data/lib/nutritag/person.rb +138 -0
- data/lib/nutritag/version.rb +3 -0
- data/nutritag.gemspec +43 -0
- metadata +180 -0
@@ -0,0 +1,138 @@
|
|
1
|
+
#require "nutritag/anthro_data.rb"
|
2
|
+
|
3
|
+
# Clase *Person*
|
4
|
+
#
|
5
|
+
# Nos permitirá hacer una valoración nutricional de un individuo
|
6
|
+
class Person
|
7
|
+
attr_accessor :name, :surname
|
8
|
+
|
9
|
+
# Se crea la persona
|
10
|
+
#
|
11
|
+
# @param name [String] nombre de la persona
|
12
|
+
# @param surname [String] apellido de la persona
|
13
|
+
def initialize(name, surname)
|
14
|
+
@name=name
|
15
|
+
@surname=surname
|
16
|
+
end
|
17
|
+
|
18
|
+
# Se imprimen los datos por pantalla
|
19
|
+
#
|
20
|
+
# @return [String] nombre y apellido del individuo
|
21
|
+
def to_s
|
22
|
+
puts "#{@name} #{@surname}"
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
|
27
|
+
# Clase *Patient*
|
28
|
+
#
|
29
|
+
# Clase heredada de la clase _Person_,
|
30
|
+
# que indica si un individuo es paciente de una consulta
|
31
|
+
class Patient < Person
|
32
|
+
attr_accessor :data, :peso, :talla, :edad, :sexo, :cintura, :cadera, :active
|
33
|
+
|
34
|
+
include Comparable
|
35
|
+
|
36
|
+
# Se crea la clase Patient con sus respectivos datos
|
37
|
+
def initialize (name, surname, peso, talla, edad ,sexo, cintura, cadera, active)
|
38
|
+
|
39
|
+
super(name,surname)
|
40
|
+
@peso=peso
|
41
|
+
@talla=talla
|
42
|
+
@edad=edad
|
43
|
+
@sexo=sexo
|
44
|
+
@cintura=cintura
|
45
|
+
@cadera=cadera
|
46
|
+
@active=active
|
47
|
+
#@data=Anthro_data.new(peso, talla, edad ,sexo, cintura, cadera)
|
48
|
+
|
49
|
+
if (sexo == "hombre")
|
50
|
+
@sexo = 1;
|
51
|
+
elsif (sexo == "mujer")
|
52
|
+
@sexo = 0;
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
# Método para el cálculo de IMC
|
57
|
+
#
|
58
|
+
# @return [Float] devuelve el índice de masa corporal
|
59
|
+
def imc
|
60
|
+
@peso/(@talla * @talla)
|
61
|
+
end
|
62
|
+
|
63
|
+
# Clasificación del invividuo según su IMC
|
64
|
+
#
|
65
|
+
# @return [String] devuelve el grado del IMC
|
66
|
+
def imc_table
|
67
|
+
r_imc = @peso/(@talla * @talla)
|
68
|
+
if (r_imc < 18.5)
|
69
|
+
"Delgadez"
|
70
|
+
elsif (r_imc > 18.5 && r_imc < 24.9)
|
71
|
+
"Adecuado"
|
72
|
+
elsif (r_imc > 25 && r_imc < 29.9)
|
73
|
+
"Sobrepeso"
|
74
|
+
elsif (r_imc > 30 && r_imc < 34.9)
|
75
|
+
"Obesidad Grado 1"
|
76
|
+
elsif (r_imc > 35 && r_imc < 39.9)
|
77
|
+
"Obesidad Grado 2"
|
78
|
+
elsif (r_imc > 40)
|
79
|
+
"Obesidad Grado 3"
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
#Método mixin del módulo Enumerable para enumerar
|
84
|
+
def <=>(other)
|
85
|
+
return nil unless other.is_a?Patient
|
86
|
+
imc <=> other.imc
|
87
|
+
end
|
88
|
+
|
89
|
+
# Se imprime por pantalla
|
90
|
+
#
|
91
|
+
# @return [String] datos del paciente formateados
|
92
|
+
def to_s
|
93
|
+
puts "#{@name} #{@surname}: #{@peso}, #{@talla}, #{@edad}, #{@sexo}, #{@cintura}, #{@cadera}"
|
94
|
+
end
|
95
|
+
|
96
|
+
def peso_teorico_ideal
|
97
|
+
(((@talla*100)-150)*0.75+50).round(2)
|
98
|
+
end
|
99
|
+
|
100
|
+
def gasto_energetico_basal
|
101
|
+
|
102
|
+
formula = (10*@peso)+(6.25*@talla*100)-(5*@edad)
|
103
|
+
|
104
|
+
if sexo == "mujer"
|
105
|
+
formula-161
|
106
|
+
else
|
107
|
+
formula+5
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
|
112
|
+
def efecto_termogeno
|
113
|
+
(self.gasto_energetico_basal*0.1).round(2)
|
114
|
+
end
|
115
|
+
|
116
|
+
def gasto_actividad_fisica
|
117
|
+
|
118
|
+
if active == 0
|
119
|
+
self.gasto_energetico_basal*0
|
120
|
+
elsif active == 1
|
121
|
+
(self.gasto_energetico_basal*0.12).round(2)
|
122
|
+
elsif active == 2
|
123
|
+
(self.gasto_energetico_basal*0.27).round(2)
|
124
|
+
else
|
125
|
+
(self.gasto_energetico_basal*0.54).round(2)
|
126
|
+
end
|
127
|
+
|
128
|
+
end
|
129
|
+
|
130
|
+
def gasto_energetico_total
|
131
|
+
(self.gasto_energetico_basal + self.efecto_termogeno + self.gasto_actividad_fisica).round(2)
|
132
|
+
end
|
133
|
+
|
134
|
+
|
135
|
+
|
136
|
+
|
137
|
+
|
138
|
+
end
|
data/nutritag.gemspec
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
|
2
|
+
lib = File.expand_path("../lib", __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require "nutritag/version"
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "nutritag"
|
8
|
+
spec.version = Nutritag::VERSION
|
9
|
+
spec.authors = ["Alberto Dorta"]
|
10
|
+
spec.email = ["alu0100785630@ull.edu.es"]
|
11
|
+
|
12
|
+
spec.summary = %q{Sin funciones}
|
13
|
+
spec.description = %q{Implementación de una Etiqueta Nutricional}
|
14
|
+
spec.homepage = "https://github.com/ULL-ESIT-LPP-1819/tdd-alu0100785630.git"
|
15
|
+
|
16
|
+
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
|
17
|
+
# to allow pushing to a single host or delete this section to allow pushing to any host.
|
18
|
+
# if spec.respond_to?(:metadata)
|
19
|
+
# spec.metadata["allowed_push_host"] = "https://github.com/ULL-ESIT-LPP-1819/tdd-alu0100785630.git"
|
20
|
+
# else
|
21
|
+
# raise "RubyGems 2.0 or newer is required to protect against " \
|
22
|
+
# "public gem pushes."
|
23
|
+
# end
|
24
|
+
|
25
|
+
# Specify which files should be added to the gem when it is released.
|
26
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
27
|
+
spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
|
28
|
+
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
29
|
+
end
|
30
|
+
spec.bindir = "exe"
|
31
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
32
|
+
spec.require_paths = ["lib"]
|
33
|
+
|
34
|
+
spec.add_development_dependency "bundler", "~> 1.16"
|
35
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
36
|
+
spec.add_development_dependency "rspec", "~> 3.0"
|
37
|
+
|
38
|
+
spec.add_development_dependency "guard"
|
39
|
+
spec.add_development_dependency "guard-rspec"
|
40
|
+
spec.add_development_dependency "guard-bundler"
|
41
|
+
|
42
|
+
spec.add_development_dependency "coveralls"
|
43
|
+
end
|
metadata
ADDED
@@ -0,0 +1,180 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: nutritag
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Alberto Dorta
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2019-01-09 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.16'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.16'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: guard
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: guard-rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: guard-bundler
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: coveralls
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
description: Implementación de una Etiqueta Nutricional
|
112
|
+
email:
|
113
|
+
- alu0100785630@ull.edu.es
|
114
|
+
executables: []
|
115
|
+
extensions: []
|
116
|
+
extra_rdoc_files: []
|
117
|
+
files:
|
118
|
+
- ".coveralls.yml"
|
119
|
+
- ".gitignore"
|
120
|
+
- ".rspec"
|
121
|
+
- ".travis.yml"
|
122
|
+
- Gemfile
|
123
|
+
- Gemfile.lock
|
124
|
+
- Guardfile
|
125
|
+
- README.md
|
126
|
+
- Rakefile
|
127
|
+
- bin/console
|
128
|
+
- bin/setup
|
129
|
+
- doc/Anthro_data.html
|
130
|
+
- doc/Etiqueta.html
|
131
|
+
- doc/List.html
|
132
|
+
- doc/Node.html
|
133
|
+
- doc/Nutritag.html
|
134
|
+
- doc/Patient.html
|
135
|
+
- doc/Person.html
|
136
|
+
- doc/_index.html
|
137
|
+
- doc/class_list.html
|
138
|
+
- doc/css/common.css
|
139
|
+
- doc/css/full_list.css
|
140
|
+
- doc/css/style.css
|
141
|
+
- doc/file.README.html
|
142
|
+
- doc/file_list.html
|
143
|
+
- doc/frames.html
|
144
|
+
- doc/index.html
|
145
|
+
- doc/js/app.js
|
146
|
+
- doc/js/full_list.js
|
147
|
+
- doc/js/jquery.js
|
148
|
+
- doc/method_list.html
|
149
|
+
- doc/top-level-namespace.html
|
150
|
+
- lib/nutritag.rb
|
151
|
+
- lib/nutritag/label.rb
|
152
|
+
- lib/nutritag/list.rb
|
153
|
+
- lib/nutritag/menu.rb
|
154
|
+
- lib/nutritag/person.rb
|
155
|
+
- lib/nutritag/version.rb
|
156
|
+
- nutritag.gemspec
|
157
|
+
homepage: https://github.com/ULL-ESIT-LPP-1819/tdd-alu0100785630.git
|
158
|
+
licenses: []
|
159
|
+
metadata: {}
|
160
|
+
post_install_message:
|
161
|
+
rdoc_options: []
|
162
|
+
require_paths:
|
163
|
+
- lib
|
164
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
165
|
+
requirements:
|
166
|
+
- - ">="
|
167
|
+
- !ruby/object:Gem::Version
|
168
|
+
version: '0'
|
169
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
requirements: []
|
175
|
+
rubyforge_project:
|
176
|
+
rubygems_version: 2.7.7
|
177
|
+
signing_key:
|
178
|
+
specification_version: 4
|
179
|
+
summary: Sin funciones
|
180
|
+
test_files: []
|