Module: Strava::Models::Mixins::ElevationGain

Extended by:
ActiveSupport::Concern
Included in:
ActivityTotal, Route
Defined in:
lib/strava/models/mixins/elevation_gain.rb

Overview

Provides elevation gain conversion and formatting methods.

Elevation gain represents the total upward elevation change during an activity. This mixin adds the elevation_gain property and helper methods to convert and format it in meters or feet.

Examples:

Using elevation gain helpers

route = client.route(1234567)
puts route.elevation_gain              # => 450.5 (meters)
puts route.elevation_gain_s            # => "450.5m"
puts route.elevation_gain_in_feet_s    # => "1478.0ft"

Instance Method Summary collapse

Instance Method Details

#elevation_gain_in_feetFloat

Returns elevation gain in feet.

Returns:

  • (Float)

    Elevation gain in feet



32
33
34
# File 'lib/strava/models/mixins/elevation_gain.rb', line 32

def elevation_gain_in_feet
  elevation_gain * 3.28084
end

#elevation_gain_in_feet_sString?

Returns formatted elevation gain in feet.

Returns:

  • (String, nil)

    Formatted elevation (e.g., "1478.0ft")



61
62
63
64
65
# File 'lib/strava/models/mixins/elevation_gain.rb', line 61

def elevation_gain_in_feet_s
  return if elevation_gain.nil?

  format('%gft', format('%.1f', elevation_gain_in_feet))
end

#elevation_gain_in_metersFloat

Returns elevation gain in meters (same as elevation_gain).

Returns:

  • (Float)

    Elevation gain in meters



41
42
43
# File 'lib/strava/models/mixins/elevation_gain.rb', line 41

def elevation_gain_in_meters
  elevation_gain
end

#elevation_gain_in_meters_sString?

Returns formatted elevation gain in meters.

Returns:

  • (String, nil)

    Formatted elevation (e.g., "450.5m")



50
51
52
53
54
# File 'lib/strava/models/mixins/elevation_gain.rb', line 50

def elevation_gain_in_meters_s
  return if elevation_gain.nil?

  format('%gm', format('%.1f', elevation_gain_in_meters))
end

#elevation_gain_sString?

Returns default formatted elevation gain (meters).

Returns:

  • (String, nil)

    Formatted elevation (e.g., "450.5m")



72
73
74
# File 'lib/strava/models/mixins/elevation_gain.rb', line 72

def elevation_gain_s
  elevation_gain_in_meters_s
end