Class: GitFit::ExportCLI
- Inherits:
-
Thor
- Object
- Thor
- GitFit::ExportCLI
- Defined in:
- lib/git_fit/cli/export.rb
Instance Method Summary collapse
Instance Method Details
#csv ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/git_fit/cli/export.rb', line 33 def csv config = git_fit_config conn = GitFit::DB::Connection.new(config.db_path) conn.migrate! db = conn.db path = [:output] || config.export_config.dig('csv', 'path') || 'site/workouts.csv' filter = [:activity]&.map(&:strip)&.map(&:downcase) count = Export::CSV.new(db: db, output: path, activity_filter: filter).call say_status :done, "Exported #{count} activities to #{path}", :green rescue StandardError => e say_status :error, "CSV export failed: #{e.}", :red end |
#json ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/git_fit/cli/export.rb', line 16 def json config = git_fit_config conn = GitFit::DB::Connection.new(config.db_path) conn.migrate! db = conn.db path = [:output] || config.export_config.dig('json', 'path') || 'site/activities.json' filter = [:activity]&.map(&:strip)&.map(&:downcase) count = Export::JSON.new(db: db, output: path, activity_filter: filter).call say_status :done, "Exported #{count} activities to #{path}", :green rescue StandardError => e say_status :error, "JSON export failed: #{e.}", :red end |
#stats ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/git_fit/cli/export.rb', line 50 def stats config = git_fit_config conn = GitFit::DB::Connection.new(config.db_path) conn.migrate! db = conn.db path = [:output] || config.export_config.dig('stats', 'path') || 'site/stats.json' filter = [:activity]&.map(&:strip)&.map(&:downcase) count = Export::Stats.new(db: db, output: path, activity_filter: filter).call say_status :done, "Exported stats for #{count} activities to #{path}", :green rescue StandardError => e say_status :error, "Stats export failed: #{e.}", :red end |