Class: GitFit::Sync::Lorem

Inherits:
Base
  • Object
show all
Defined in:
lib/git_fit/sync/lorem.rb

Constant Summary collapse

DEMO_ACTIVITIES =
[
  { id: "alpha_001", name: "Lorem Morning Run", sport_category: "run",
    distance: 5200.0, moving_time: 1800, elapsed_time: 2000,
    start_date: "2025-01-15T06:30:00Z", start_date_local: "2025-01-15T14:30:00+08:00",
    location_country: "CN", average_heartrate: 148.0, max_heartrate: 165.0,
    average_cadence: 172.0, max_cadence: 185.0, average_power: nil, max_power: nil,
    average_temperature: 22.0, calories: 380,
    average_speed: 5200.0 / 1800, elevation_gain: 125.0, external_id: "lorem_001" },
  { id: "beta_002", name: "Ipsum Cycling Session", sport_category: "ride",
    distance: 35000.0, moving_time: 5400, elapsed_time: 6000,
    start_date: "2025-01-14T08:00:00Z", start_date_local: "2025-01-14T16:00:00+08:00",
    location_country: "CN", average_heartrate: 138.0, max_heartrate: 155.0,
    average_cadence: 85.0, max_cadence: 105.0, average_power: 185.0, max_power: 420.0,
    average_temperature: 18.0, calories: 850,
    average_speed: 35000.0 / 5400, elevation_gain: 450.0, external_id: "lorem_002" },
  { id: "gamma_003", name: "Dolor Hike", sport_category: "hike",
    distance: 12000.0, moving_time: 7200, elapsed_time: 8100,
    start_date: "2025-01-13T09:00:00Z", start_date_local: "2025-01-13T17:00:00+08:00",
    location_country: "CN", average_heartrate: 122.0, max_heartrate: 142.0,
    average_cadence: 110.0, max_cadence: 135.0, average_power: nil, max_power: nil,
    average_temperature: 15.0, calories: 620,
    average_speed: 12000.0 / 7200, elevation_gain: 820.0, external_id: "lorem_003" },
  { id: "delta_004", name: "Sit Amet Walk", sport_category: "walk",
    distance: 5000.0, moving_time: 3600, elapsed_time: 3900,
    start_date: "2025-01-12T18:00:00Z", start_date_local: "2025-01-12T18:00:00+08:00",
    location_country: "CN", average_heartrate: 108.0, max_heartrate: 125.0,
    average_cadence: 105.0, max_cadence: 118.0, average_power: nil, max_power: nil,
    average_temperature: 20.0, calories: 280,
    average_speed: 5000.0 / 3600, elevation_gain: 35.0, external_id: "lorem_004" },
  { id: "epsilon_005", name: "Consectetur Swim", sport_category: "swim",
    distance: 2000.0, moving_time: 2400, elapsed_time: 2700,
    start_date: "2025-01-11T07:00:00Z", start_date_local: "2025-01-11T15:00:00+08:00",
    location_country: "CN", average_heartrate: 135.0, max_heartrate: 150.0,
    average_cadence: 28.0, max_cadence: 32.0, average_power: nil, max_power: nil,
    average_temperature: 26.0, calories: 520,
    average_speed: 2000.0 / 2400, elevation_gain: 0.0, external_id: "lorem_005" }
].freeze

Instance Attribute Summary

Attributes inherited from Base

#progress_reported

Instance Method Summary collapse

Methods inherited from Base

adapters, #before_call, #build_progress_info, #call, config_key, #initialize, register_adapter, register_config, register_test_adapter, test_adapters

Constructor Details

This class inherits a constructor from GitFit::Sync::Base

Instance Method Details

#authenticateObject



49
50
51
# File 'lib/git_fit/sync/lorem.rb', line 49

def authenticate
  true
end

#pending_idsObject



53
54
55
# File 'lib/git_fit/sync/lorem.rb', line 53

def pending_ids
  DEMO_ACTIVITIES.map { |act| { id: act[:id], type: act[:sport_category], summary: act } }
end

#process_one(pending) ⇒ Object



57
58
59
60
61
62
63
64
65
66
# File 'lib/git_fit/sync/lorem.rb', line 57

def process_one(pending)
  attrs = build_attrs(pending[:summary])

  dir = raw_dir
  FileUtils.mkdir_p(dir)
  File.write(File.join(dir, "#{pending[:id]}.json"), JSON.generate(pending[:summary]))

  upsert_activity(attrs)
  attrs
end

#raw_path(platform_id) ⇒ Object



68
69
70
# File 'lib/git_fit/sync/lorem.rb', line 68

def raw_path(platform_id)
  File.join(raw_dir, "#{platform_id}.json")
end