postrunner 1.0.4 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +33 -0
- data/README.md +30 -6
- data/Rakefile +7 -22
- data/lib/postrunner/Activity.rb +67 -0
- data/lib/postrunner/Main.rb +41 -16
- data/lib/postrunner/version.rb +1 -1
- data/postrunner.gemspec +6 -6
- metadata +29 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a3573b66dc63e6e6e26ed20c4389a9c4da0ea2aa3a6bba64e5cce363ddbe1531
|
4
|
+
data.tar.gz: 26e721d0ddc3cae1852c7135de1f24d3dc03e32be871c0894c958591ec538f11
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eac508a3916d92e2843e3ff34a454fd357ad35dbcf798178e7bdb555ef9b25f9010d5f647567e1907982bf11adb24c71592d3e3e3af1b3fe46d9c921cb36ea31
|
7
|
+
data.tar.gz: 51994f58aefd6354123655260a45772cc4d7e301d236b76628d27ce2af5370297aecd3c669e2147f8bf0ae91ffcbd5c7c2fbd171bf4fa6eff0a4015f7705a2ef
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# This workflow uses actions that are not certified by GitHub.
|
2
|
+
# They are provided by a third-party and are governed by
|
3
|
+
# separate terms of service, privacy policy, and support
|
4
|
+
# documentation.
|
5
|
+
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
|
6
|
+
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
7
|
+
|
8
|
+
name: Ruby
|
9
|
+
|
10
|
+
on:
|
11
|
+
push:
|
12
|
+
branches: [ master ]
|
13
|
+
pull_request:
|
14
|
+
branches: [ master ]
|
15
|
+
|
16
|
+
jobs:
|
17
|
+
test:
|
18
|
+
runs-on: ubuntu-latest
|
19
|
+
strategy:
|
20
|
+
fail-fast: false
|
21
|
+
matrix:
|
22
|
+
os: [ ubuntu]
|
23
|
+
ruby: [2.4, 2.5, 2.6, 2.7, 3.0, head]
|
24
|
+
continue-on-error: ${{ endsWith(matrix.ruby, 'head') }}
|
25
|
+
steps:
|
26
|
+
- uses: actions/checkout@v2
|
27
|
+
- uses: ruby/setup-ruby@v1
|
28
|
+
with:
|
29
|
+
ruby-version: ${{ matrix.ruby }}
|
30
|
+
bundler-cache: true
|
31
|
+
|
32
|
+
- name: Test with RSpec
|
33
|
+
run: bundle exec rspec
|
data/README.md
CHANGED
@@ -48,23 +48,47 @@ typing.
|
|
48
48
|
|
49
49
|
## Usage
|
50
50
|
|
51
|
+
### Mounting the watch
|
52
|
+
|
53
|
+
Watches that expose their data as FAT file system. Typically after connecting
|
54
|
+
your garmin watch, they are mount automatically if you have installed the
|
55
|
+
udev package.
|
56
|
+
|
57
|
+
For watches that expose their data via MTP (Media Transfer Procotol). For
|
58
|
+
Debian buster running `sudo apt install jmtpfs mtp-tools` will install the
|
59
|
+
needed packages.
|
60
|
+
|
61
|
+
`mkdir /tmp/forerunner; jmtpfs /tmp/forerunner`
|
62
|
+
|
63
|
+
This has been tested with a Garmin Forerunner 945.
|
64
|
+
|
65
|
+
For more information about MTP under Windows have a look at the
|
66
|
+
[Garmin FAQ](https://support.garmin.com/?faq=Itl8M6ARrh4gBQMHFqdqK8)
|
67
|
+
|
51
68
|
### Importing FIT files
|
52
69
|
|
53
70
|
To get started you need to connect your device to your computer and
|
54
|
-
mount it as a disk drive. Only devices that expose their data as FAT file
|
71
|
+
mount it as a disk drive. Only devices that expose their data as FAT or MTP file
|
55
72
|
system are supported. Older devices use proprietary drivers and are
|
56
73
|
not supported by PostRunner. Once the device is mounted find out the
|
57
74
|
full path to the directory that contains your FIT files. You can then
|
58
75
|
import all files on the device.
|
59
76
|
|
77
|
+
* for USB-FAT
|
60
78
|
```
|
61
79
|
$ postrunner import /run/media/$USER/GARMIN/GARMIN/ACTIVITY/
|
62
80
|
```
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
81
|
+
The above command assumes that your device is mounted as /run/media/$USER.
|
82
|
+
Please replace $USER with your login name and the path with the path to
|
83
|
+
your device.
|
84
|
+
|
85
|
+
* for MTP (assuming you mounted it as described above)
|
86
|
+
```
|
87
|
+
$ postrunner import /tmp/forerunner/Primary/GARMIN/Activity
|
88
|
+
```
|
89
|
+
|
90
|
+
* Note
|
91
|
+
Files that have been imported previously will not be imported again.
|
68
92
|
|
69
93
|
### Viewing FIT file data on the console
|
70
94
|
|
data/Rakefile
CHANGED
@@ -1,24 +1,9 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
$:.unshift lib unless $:.include?(lib)
|
6
|
-
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require_relative 'lib/postrunner/version'
|
3
|
+
require 'rake'
|
4
|
+
require 'rspec'
|
7
5
|
require "bundler/gem_tasks"
|
8
|
-
require
|
9
|
-
require 'rake/clean'
|
10
|
-
require 'yard'
|
11
|
-
YARD::Rake::YardocTask.new
|
12
|
-
|
13
|
-
Dir.glob( 'tasks/*.rake').each do |fn|
|
14
|
-
begin
|
15
|
-
load fn;
|
16
|
-
rescue LoadError
|
17
|
-
puts "#{fn.split('/')[1]} tasks unavailable: #{$!}"
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
task :default => :spec
|
22
|
-
task :test => :spec
|
6
|
+
require 'rspec/core/rake_task'
|
23
7
|
|
24
|
-
|
8
|
+
RSpec::Core::RakeTask.new(:spec)
|
9
|
+
|
data/lib/postrunner/Activity.rb
CHANGED
@@ -65,6 +65,37 @@ module PostRunner
|
|
65
65
|
'hiking' => 'Hiking',
|
66
66
|
'multisport' => 'Multisport',
|
67
67
|
'paddling' => 'Paddling',
|
68
|
+
'training' => 'Training',
|
69
|
+
'flying' => 'Flying',
|
70
|
+
'e_biking' => 'E-Biking',
|
71
|
+
'motorcycling' => 'Motor Cycling',
|
72
|
+
'boating' => 'Boating',
|
73
|
+
'driving' => 'Driving',
|
74
|
+
'golf' => 'Golf',
|
75
|
+
'hang_gliding' => 'Hang Gliding',
|
76
|
+
'horseback_riding' => 'Horseback Riding',
|
77
|
+
'hunting' => 'Hunting',
|
78
|
+
'fishing' => 'Fishing',
|
79
|
+
'inline_skating' => 'Inline Skating',
|
80
|
+
'rock_climbing' => 'Rock Climbing',
|
81
|
+
'sailing' => 'Sailing',
|
82
|
+
'ice_skating' => 'Ice Skating',
|
83
|
+
'sky_diving' => 'Sky Diving',
|
84
|
+
'snowshoeing' => 'Snowshoeing',
|
85
|
+
'snowmobiling' => 'Snowmobiling',
|
86
|
+
'stand_up_paddleboarding' => 'Stand Up Paddleboarding',
|
87
|
+
'surfing' => 'Surfing',
|
88
|
+
'wakeboarding' => 'Wakeboarding',
|
89
|
+
'water_skiing' => 'Water Skiing',
|
90
|
+
'kayaking' => 'Kayaking',
|
91
|
+
'rafting' => 'Rafting',
|
92
|
+
'windsurfing' => 'Windsurfing',
|
93
|
+
'kitesurfing' => 'Kitesurfing',
|
94
|
+
'tactical' => 'Tactical',
|
95
|
+
'jumpmaster' => 'Jumpmaster',
|
96
|
+
'boxing' => 'Boxing',
|
97
|
+
'floor_climbing' => 'Floor Climbing',
|
98
|
+
'diving' => 'Diving',
|
68
99
|
'all' => 'All'
|
69
100
|
}
|
70
101
|
ActivitySubTypes = {
|
@@ -95,7 +126,43 @@ module PostRunner
|
|
95
126
|
'challenge' => 'Challenge',
|
96
127
|
'indoor_skiing' => 'Indoor Skiing',
|
97
128
|
'cardio_training' => 'Cardio Training',
|
129
|
+
'e_bike_fitness' => 'E Bike Fittness',
|
130
|
+
'bmx' => 'BMX',
|
131
|
+
'casual_walking' => 'Casual Walking',
|
132
|
+
'speed_walking' => 'Speed Walking',
|
133
|
+
'bike_to_run_transition' => 'Bike to Run Transition',
|
134
|
+
'run_to_bike_transition' => 'Run to Bike Transition',
|
135
|
+
'swim_to_bike_transition' => 'Swim to Bike Transition',
|
136
|
+
'atv' => 'ATV',
|
137
|
+
'motocross' => 'Motocross',
|
138
|
+
'backcountry' => 'Backcountry',
|
139
|
+
'resort' => 'Resort',
|
140
|
+
'rc_drone' => 'RC Drone',
|
141
|
+
'wingsuit' => 'Wingsuite',
|
142
|
+
'whitewater' => 'Whitemaster',
|
143
|
+
'skate_skiing' => 'Skate Skiing',
|
144
|
+
'yoga' => 'Yoga',
|
145
|
+
'pilates' => 'Pilates',
|
146
|
+
'indoor_running' => 'Indoor Running',
|
147
|
+
'gravel_cycling' => 'Gravel Cycling',
|
148
|
+
'e_bike_mountain' => 'E-Bike Mountain',
|
149
|
+
'commuting' => 'Commuting',
|
150
|
+
'mixed_surface' => 'Mixed Surface',
|
151
|
+
'navigate' => 'Navigate',
|
152
|
+
'track_me' => 'Track Me',
|
153
|
+
'map' => 'Map',
|
154
|
+
'single_gas_diving' => 'Single Gas Diving',
|
155
|
+
'multi_gas_diving' => 'Multi Gas Diving',
|
156
|
+
'gauge_diving' => 'Gauge Diving',
|
157
|
+
'apnea_diving' => 'Apnea Diving',
|
158
|
+
'apnea_hunting' => 'Apnea Hunting',
|
98
159
|
'virtual_activity' => 'Virtual Activity',
|
160
|
+
'obstacle' => 'Obstacle',
|
161
|
+
'breathing' => 'Breating',
|
162
|
+
'sail_race' => 'Sail Race',
|
163
|
+
'ultra' => 'Ultra',
|
164
|
+
'indoor_climbing' => 'Indoor Climbing',
|
165
|
+
'bouldering' => 'Bouldering',
|
99
166
|
'all' => 'All'
|
100
167
|
}
|
101
168
|
|
data/lib/postrunner/Main.rb
CHANGED
@@ -310,6 +310,7 @@ EOT
|
|
310
310
|
handle_version_update
|
311
311
|
import_legacy_archive
|
312
312
|
|
313
|
+
retval = 0
|
313
314
|
case (cmd = args.shift)
|
314
315
|
when 'check'
|
315
316
|
if args.empty?
|
@@ -334,7 +335,9 @@ EOT
|
|
334
335
|
# is given, use the current date.
|
335
336
|
@ffs.monthly_report(day_in_localtime(args, '%Y-%m-01'))
|
336
337
|
when 'delete'
|
337
|
-
process_activities(args, :delete)
|
338
|
+
unless process_activities(args, :delete)
|
339
|
+
retval = 1
|
340
|
+
end
|
338
341
|
when 'dump'
|
339
342
|
@filter = Fit4Ruby::FitFilter.new unless @filter
|
340
343
|
process_files_or_activities(args, :dump)
|
@@ -344,9 +347,13 @@ EOT
|
|
344
347
|
if args.empty?
|
345
348
|
# If we have no file or directory for the import command, we get the
|
346
349
|
# most recently used directory from the runtime config.
|
347
|
-
process_files([ @db['config']['import_dir'] ], :import)
|
350
|
+
unless process_files([ @db['config']['import_dir'] ], :import)
|
351
|
+
retval = 1
|
352
|
+
end
|
348
353
|
else
|
349
|
-
process_files(args, :import)
|
354
|
+
unless process_files(args, :import)
|
355
|
+
retval = 1
|
356
|
+
end
|
350
357
|
if args.length == 1 && Dir.exists?(args[0])
|
351
358
|
# If only one directory was specified as argument we store the
|
352
359
|
# directory for future use.
|
@@ -361,7 +368,9 @@ EOT
|
|
361
368
|
unless (@name = args.shift)
|
362
369
|
Log.abort 'You must provide a new name for the activity'
|
363
370
|
end
|
364
|
-
process_activities(args, :rename)
|
371
|
+
unless process_activities(args, :rename)
|
372
|
+
retval = 1
|
373
|
+
end
|
365
374
|
when 'set'
|
366
375
|
unless (@attribute = args.shift)
|
367
376
|
Log.abort 'You must specify the attribute you want to change'
|
@@ -369,7 +378,9 @@ EOT
|
|
369
378
|
unless (@value = args.shift)
|
370
379
|
Log.abort 'You must specify the new value for the attribute'
|
371
380
|
end
|
372
|
-
process_activities(args, :set)
|
381
|
+
unless process_activities(args, :set)
|
382
|
+
retval = 1
|
383
|
+
end
|
373
384
|
when 'show'
|
374
385
|
if args.empty?
|
375
386
|
@ffs.show_list_in_browser
|
@@ -378,12 +389,18 @@ EOT
|
|
378
389
|
# given day in a browser.
|
379
390
|
@ffs.show_monitoring(args[0])
|
380
391
|
else
|
381
|
-
process_activities(args, :show)
|
392
|
+
unless process_activities(args, :show)
|
393
|
+
retval = 1
|
394
|
+
end
|
382
395
|
end
|
383
396
|
when 'sources'
|
384
|
-
process_activities(args, :sources)
|
397
|
+
unless process_activities(args, :sources)
|
398
|
+
retval = 1
|
399
|
+
end
|
385
400
|
when 'summary'
|
386
|
-
process_activities(args, :summary)
|
401
|
+
unless process_activities(args, :summary)
|
402
|
+
retval = 1
|
403
|
+
end
|
387
404
|
when 'units'
|
388
405
|
change_unit_system(args)
|
389
406
|
when 'htmldir'
|
@@ -399,7 +416,7 @@ EOT
|
|
399
416
|
# Ensure that all updates are written to the database.
|
400
417
|
@db.sync
|
401
418
|
|
402
|
-
|
419
|
+
retval
|
403
420
|
end
|
404
421
|
|
405
422
|
def help
|
@@ -409,11 +426,13 @@ EOT
|
|
409
426
|
def process_files_or_activities(files_or_activities, command)
|
410
427
|
files_or_activities.each do |foa|
|
411
428
|
if foa[0] == ':'
|
412
|
-
process_activities([ foa ], command)
|
429
|
+
return false unless process_activities([ foa ], command)
|
413
430
|
else
|
414
|
-
process_files([ foa ], command)
|
431
|
+
return false unless process_files([ foa ], command)
|
415
432
|
end
|
416
433
|
end
|
434
|
+
|
435
|
+
true
|
417
436
|
end
|
418
437
|
|
419
438
|
def process_activities(activity_refs, command)
|
@@ -426,15 +445,19 @@ EOT
|
|
426
445
|
activities = @ffs.find(a_ref[1..-1])
|
427
446
|
if activities.empty?
|
428
447
|
Log.warn "No matching activities found for '#{a_ref}'"
|
429
|
-
return
|
448
|
+
return false
|
449
|
+
end
|
450
|
+
activities.each do |a|
|
451
|
+
unless process_activity(a, command)
|
452
|
+
return false
|
453
|
+
end
|
430
454
|
end
|
431
|
-
activities.each { |a| process_activity(a, command) }
|
432
455
|
else
|
433
456
|
Log.abort "Activity references must start with ':': #{a_ref}"
|
434
457
|
end
|
435
458
|
end
|
436
459
|
|
437
|
-
|
460
|
+
true
|
438
461
|
end
|
439
462
|
|
440
463
|
def process_files(files_or_dirs, command)
|
@@ -445,12 +468,14 @@ EOT
|
|
445
468
|
files_or_dirs.each do |fod|
|
446
469
|
if File.directory?(fod)
|
447
470
|
Dir.glob(File.join(fod, '*.FIT'), File::FNM_CASEFOLD).each do |file|
|
448
|
-
process_file(file, command)
|
471
|
+
return false unless process_file(file, command)
|
449
472
|
end
|
450
473
|
else
|
451
|
-
process_file(fod, command)
|
474
|
+
return false unless process_file(fod, command)
|
452
475
|
end
|
453
476
|
end
|
477
|
+
|
478
|
+
true
|
454
479
|
end
|
455
480
|
|
456
481
|
# Process a single FIT file according to the given command.
|
data/lib/postrunner/version.rb
CHANGED
data/postrunner.gemspec
CHANGED
@@ -28,12 +28,12 @@ operating systems as well.}
|
|
28
28
|
spec.require_paths = ["lib"]
|
29
29
|
spec.required_ruby_version = '>=2.4'
|
30
30
|
|
31
|
-
spec.add_dependency 'fit4ruby', '~> 3.
|
31
|
+
spec.add_dependency 'fit4ruby', '~> 3.9.0'
|
32
32
|
spec.add_dependency 'perobs', '~> 4.3.0'
|
33
|
-
spec.add_dependency 'nokogiri'
|
33
|
+
spec.add_dependency 'nokogiri'
|
34
34
|
|
35
|
-
spec.add_development_dependency 'bundler'
|
36
|
-
spec.add_development_dependency 'rake'
|
37
|
-
spec.add_development_dependency 'rspec'
|
38
|
-
spec.add_development_dependency 'yard'
|
35
|
+
spec.add_development_dependency 'bundler'
|
36
|
+
spec.add_development_dependency 'rake'
|
37
|
+
spec.add_development_dependency 'rspec'
|
38
|
+
spec.add_development_dependency 'yard'
|
39
39
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: postrunner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Schlaeger
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-11-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fit4ruby
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 3.
|
19
|
+
version: 3.9.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 3.
|
26
|
+
version: 3.9.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: perobs
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -42,72 +42,72 @@ dependencies:
|
|
42
42
|
name: nokogiri
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: '0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: bundler
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rake
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0
|
75
|
+
version: '0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0
|
82
|
+
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rspec
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
89
|
+
version: '0'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - "
|
94
|
+
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
96
|
+
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: yard
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - "
|
101
|
+
- - ">="
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: 0
|
103
|
+
version: '0'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - "
|
108
|
+
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: 0
|
110
|
+
version: '0'
|
111
111
|
description: |-
|
112
112
|
PostRunner is an application to manage FIT files
|
113
113
|
such as those produced by Garmin products like the Forerunner 620 (FR620),
|
@@ -126,6 +126,7 @@ executables:
|
|
126
126
|
extensions: []
|
127
127
|
extra_rdoc_files: []
|
128
128
|
files:
|
129
|
+
- ".github/workflows/ruby.yml"
|
129
130
|
- ".gitignore"
|
130
131
|
- COPYING
|
131
132
|
- Gemfile
|
@@ -324,7 +325,7 @@ homepage: https://github.com/scrapper/postrunner
|
|
324
325
|
licenses:
|
325
326
|
- GNU GPL version 2
|
326
327
|
metadata: {}
|
327
|
-
post_install_message:
|
328
|
+
post_install_message:
|
328
329
|
rdoc_options: []
|
329
330
|
require_paths:
|
330
331
|
- lib
|
@@ -339,8 +340,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
339
340
|
- !ruby/object:Gem::Version
|
340
341
|
version: '0'
|
341
342
|
requirements: []
|
342
|
-
rubygems_version: 3.2.
|
343
|
-
signing_key:
|
343
|
+
rubygems_version: 3.2.22
|
344
|
+
signing_key:
|
344
345
|
specification_version: 4
|
345
346
|
summary: Application to manage and analyze Garmin FIT files.
|
346
347
|
test_files:
|