Class: GitFit::ExportCLI

Inherits:
Thor
  • Object
show all
Defined in:
lib/git_fit/cli/export.rb

Instance Method Summary collapse

Instance Method Details

#jsonObject



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 = options[:output] || config.export_config.dig('json', 'path') || 'site/activities.json'
  filter = options[: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.message}", :red
end