class Uruz::Vo2max
Constants
- CLASSIFICATIONS
- GENDER
Public Class Methods
calculate(distance)
click to toggle source
# File lib/uruz/vo2max.rb, line 6 def self.calculate(distance) vo2max_result = (distance - 504.1) / 44.8 end
classification(distance, age, gender)
click to toggle source
# File lib/uruz/vo2max.rb, line 10 def self.classification(distance, age, gender) vo2max_result = calculate(distance) vo2max_gender_data = gender.eql?(:male) ? $vo2max_male_data : $vo2max_female_data classification = result_by_gender(vo2max_gender_data, age, vo2max_result) classification.first end
Private Class Methods
ranking?(level, value, vo2max_data)
click to toggle source
# File lib/uruz/vo2max.rb, line 29 def self.ranking?(level, value, vo2max_data) vo2max_data[level].to_range.include?(value) end
result_by_gender(vo2max_gender_data, age, vo2max_result)
click to toggle source
# File lib/uruz/vo2max.rb, line 21 def self.result_by_gender(vo2max_gender_data, age, vo2max_result) vo2max_gender_data.each do |row| next unless row[:age].to_range.include?(age) return CLASSIFICATIONS.select { |level| ranking?(level, vo2max_result, row) } end end