Module: Strava::Models::Mixins::AverageSpeed
- Extended by:
- ActiveSupport::Concern
- Included in:
- DetailedActivity, Split
- Defined in:
- lib/strava/models/mixins/average_speed.rb
Overview
Provides average speed and pace conversion methods.
This mixin adds the average_speed property (stored in meters per second) and provides helper methods to convert it to various speed and pace formats. Pace is the inverse of speed (time per distance) and is commonly used for running.
Instance Method Summary collapse
-
#average_speed_kilometer_per_hour_s ⇒ String?
Returns average speed in kilometers per hour.
-
#average_speed_meters_per_second ⇒ Float
Returns average speed in meters per second (same as average_speed).
-
#average_speed_miles_per_hour_s ⇒ String?
Returns average speed in miles per hour.
-
#average_speed_s ⇒ String?
Returns default formatted average speed (kilometers per hour).
-
#pace_per_100_meters_s ⇒ String?
Returns pace per 100 meters (swimming).
-
#pace_per_100_yards_s ⇒ String?
Returns pace per 100 yards (swimming).
-
#pace_per_kilometer_s ⇒ String?
Returns pace per kilometer.
-
#pace_per_mile_s ⇒ String?
Returns pace per mile.
-
#pace_s ⇒ String?
Returns default formatted pace (per kilometer).
Instance Method Details
#average_speed_kilometer_per_hour_s ⇒ String?
Returns average speed in kilometers per hour.
81 82 83 84 85 |
# File 'lib/strava/models/mixins/average_speed.rb', line 81 def average_speed_kilometer_per_hour_s return unless average_speed&.positive? format('%.1fkm/h', average_speed * 3.6) end |
#average_speed_meters_per_second ⇒ Float
Always in meters per second, even in imperial splits
Returns average speed in meters per second (same as average_speed).
36 37 38 |
# File 'lib/strava/models/mixins/average_speed.rb', line 36 def average_speed_meters_per_second average_speed end |
#average_speed_miles_per_hour_s ⇒ String?
Returns average speed in miles per hour.
92 93 94 95 96 |
# File 'lib/strava/models/mixins/average_speed.rb', line 92 def average_speed_miles_per_hour_s return unless average_speed&.positive? format('%.1fmph', average_speed * 2.23694) end |
#average_speed_s ⇒ String?
Returns default formatted average speed (kilometers per hour).
103 104 105 |
# File 'lib/strava/models/mixins/average_speed.rb', line 103 def average_speed_s average_speed_kilometer_per_hour_s end |
#pace_per_100_meters_s ⇒ String?
Returns pace per 100 meters (swimming).
63 64 65 |
# File 'lib/strava/models/mixins/average_speed.rb', line 63 def pace_per_100_meters_s convert_meters_per_second_to_pace average_speed, :'100m' end |
#pace_per_100_yards_s ⇒ String?
Returns pace per 100 yards (swimming).
54 55 56 |
# File 'lib/strava/models/mixins/average_speed.rb', line 54 def pace_per_100_yards_s convert_meters_per_second_to_pace average_speed, :'100yd' end |
#pace_per_kilometer_s ⇒ String?
Returns pace per kilometer.
72 73 74 |
# File 'lib/strava/models/mixins/average_speed.rb', line 72 def pace_per_kilometer_s convert_meters_per_second_to_pace average_speed, :km end |
#pace_per_mile_s ⇒ String?
Returns pace per mile.
45 46 47 |
# File 'lib/strava/models/mixins/average_speed.rb', line 45 def pace_per_mile_s convert_meters_per_second_to_pace average_speed, :mi end |
#pace_s ⇒ String?
Returns default formatted pace (per kilometer).
112 113 114 |
# File 'lib/strava/models/mixins/average_speed.rb', line 112 def pace_s pace_per_kilometer_s end |