Skip to content
/ rubyfit Public
forked from ridewithgps/rubyfit

A stream parser for FIT files, implemented in C as a ruby extension

License

Notifications You must be signed in to change notification settings

compsy/rubyfit

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rubyfit is here to help your sanity when working with FIT files.

This project contains the FIT SDK version 1.2, so pay your respects: This is Ant

Anyone familiar with stream based XML processing should find using this library intuitive.

  1. Create a callbacks class that responds to the callback events, and handle the events as needed. Use the example fit_callbacks.rb file as a guide - Our callbacks class on ridewithgps is more complex, as it needs states to properly process laps, etc.
  2. Pass in your callback class instance to the RubyFit::FitParser initializer.
  3. Call parse() on your parser instance.

Example:

raw = IO.read("myfitfile.fit")
callbacks = FitCallbacks.new()
parser = RubyFit::FitParser.new(callbacks)
parser.parse(raw)
activities = callbacks.activities #assumes you have some sort of getter/attr_reader on your custom callbacks class

When I get more time I'll document the messages, but for now you can look in ext/rubyfit/rubyfit.c to see what fields are being passed.

To build and test the gem, run:

bundle install
rake

About

A stream parser for FIT files, implemented in C as a ruby extension

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 93.7%
  • Ruby 6.3%