Sha256: c1300ae1a26fdf61acae3c3756e4de5cc803440db640e2a785ad930228e78b35
Contents?: true
Size: 1.57 KB
Versions: 19
Compression:
Stored size: 1.57 KB
Contents
#!/usr/bin/env ruby -w # encoding: UTF-8 # # = Lap.rb -- Fit4Ruby - FIT file processing library for Ruby # # Copyright (c) 2014, 2015 by Chris Schlaeger <cs@taskjuggler.org> # # This program is free software; you can redistribute it and/or modify # it under the terms of version 2 of the GNU General Public License as # published by the Free Software Foundation. # require 'fit4ruby/FitDataRecord' require 'fit4ruby/RecordAggregator' module Fit4Ruby class Lap < FitDataRecord include RecordAggregator attr_reader :records def initialize(records, previous_lap, field_values) super('lap') @meta_field_units['avg_stride_length'] = 'm' @records = records @previous_lap = previous_lap if previous_lap && previous_lap.records && previous_lap.records.last # Set the start time of the new lap to the timestamp of the last record # of the previous lap. @start_time = previous_lap.records.last.timestamp elsif records.first # Or to the timestamp of the first record. @start_time = records.first.timestamp end if records.last @total_elapsed_time = records.last.timestamp - @start_time end set_field_values(field_values) end def check(index) unless @message_index == index Log.fatal "message_index must be #{index}, not #{@message_index}" end end # Compute the average stride length for this Session. def avg_stride_length return nil unless @total_distance && @total_strides @total_distance / (@total_strides * 2.0) end end end
Version data entries
19 entries across 19 versions & 1 rubygems