Sha256: 79c22ac23ad527c445d841f6c503fcba87d3a8d04f077b6776aa61e6d22ce87f

Contents?: true

Size: 1.38 KB

Versions: 23

Compression:

Stored size: 1.38 KB

Contents

#!/usr/bin/env ruby -w
# encoding: UTF-8
#
# = Record.rb -- Fit4Ruby - FIT file processing library for Ruby
#
# Copyright (c) 2014 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'

module Fit4Ruby

  # The Record corresponds to the record FIT message. A Record is a basic set
  # of primary measurements that are associated with a certain timestamp.
  class Record < FitDataRecord

    # Create a new Record object.
    # @param field_values [Hash] Hash that provides initial values for certain
    #        fields.
    def initialize(field_values = {})
      super('record')
      @meta_field_units['pace'] = 'min/km'
      @meta_field_units['run_cadence'] = 'spm'
      set_field_values(field_values)
    end

    def run_cadence
      if @cadence && @fractional_cadence
        (@cadence + @fractional_cadence) * 2
      elsif @cadence
        @cadence * 2
      else
        nil
      end
    end

    # Convert the 'speed' field into a running pace. The pace is measured in
    # minutes per Kilometer.
    # @return [Float or nil] pace for this Record in m/s or nil if not
    #         available.
    def pace
      return nil unless @speed

      1000.0 / (@speed * 60.0)
    end

  end

end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
fit4ruby-3.2.0 lib/fit4ruby/Record.rb
fit4ruby-3.1.0 lib/fit4ruby/Record.rb
fit4ruby-3.0.0 lib/fit4ruby/Record.rb
fit4ruby-2.0.0 lib/fit4ruby/Record.rb
fit4ruby-1.7.0 lib/fit4ruby/Record.rb
fit4ruby-1.6.2 lib/fit4ruby/Record.rb
fit4ruby-1.6.1 lib/fit4ruby/Record.rb
fit4ruby-1.6.0 lib/fit4ruby/Record.rb
fit4ruby-1.5.1 lib/fit4ruby/Record.rb
fit4ruby-1.5.0 lib/fit4ruby/Record.rb
fit4ruby-1.4.0 lib/fit4ruby/Record.rb
fit4ruby-1.3.0 lib/fit4ruby/Record.rb
fit4ruby-1.2.0 lib/fit4ruby/Record.rb
fit4ruby-1.1.0 lib/fit4ruby/Record.rb
fit4ruby-1.0.1 lib/fit4ruby/Record.rb
fit4ruby-1.0.0 lib/fit4ruby/Record.rb
fit4ruby-0.0.12 lib/fit4ruby/Record.rb
fit4ruby-0.0.11 lib/fit4ruby/Record.rb
fit4ruby-0.0.10 lib/fit4ruby/Record.rb
fit4ruby-0.0.9 lib/fit4ruby/Record.rb