Module: Calories

Defined in:
lib/calories.rb

Overview

Calculate how many calories a beer contains

Class Method Summary collapse

Class Method Details

.from_alcohol(original, terminal) ⇒ Fixnum

Note:

Extract must be measured in specific gravity

Calculates calories from alcohol

Examples:

Calories.from_alcohol 1.055, 1.01

Parameters:

  • original (Float)

    original gravity

  • terminal (Float)

    terminal gravity

Returns:

  • (Fixnum)

    calories from alcohol



15
16
17
18
# File 'lib/calories.rb', line 15

def self.from_alcohol original, terminal
  ((1881.22 * terminal) *
  ((original - terminal) / (1.775 - original))).round
end

.from_extract(original, terminal) ⇒ Fixnum

Note:

Extract must be measured in specific gravity

Calculates calories from extract

Examples:

Calories.from_extract 1.055, 1.01

Parameters:

  • original (Float)

    original gravity

  • terminal (Float)

    terminal gravity

Returns:

  • (Fixnum)

    calories from extract



31
32
33
34
# File 'lib/calories.rb', line 31

def self.from_extract original, terminal
   (3550.0 * terminal *
  ((0.1808 * original) + (0.8192 * terminal) - 1.0004)).round
end

.per_serving(original, terminal) ⇒ Fixnum

Note:

Extract must be measured in specific gravity

Calculates calories per serving; i.e. 500ml

Examples:

Calories.per_serving 1.055, 1.01

Parameters:

  • original (Float)

    original gravity

  • terminal (Float)

    terminal gravity

Returns:

  • (Fixnum)

    calories per serving



47
48
49
50
# File 'lib/calories.rb', line 47

def self.per_serving original, terminal
  (from_alcohol original, terminal) +
  (from_extract original, terminal)
end