tcx 0.1.0 → 0.3.0
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/CHANGELOG.md +14 -2
- data/README.md +32 -5
- data/lib/tcx/extensions/activity_extension/v2/activity_lap.rb +21 -0
- data/lib/tcx/extensions/activity_extension/v2/activity_trackpoint.rb +22 -0
- data/lib/tcx/extensions/activity_extension/v2/base.rb +16 -0
- data/lib/tcx/extensions/activity_extension/v2/cadence_sensor_type.rb +16 -0
- data/lib/tcx/extensions/activity_extension/v2.rb +6 -0
- data/lib/tcx/extensions.rb +3 -0
- data/lib/tcx/file.rb +30 -0
- data/lib/tcx/types/abstract_source.rb +7 -0
- data/lib/tcx/{models → types}/activity.rb +6 -0
- data/lib/tcx/types/activity_list.rb +25 -0
- data/lib/tcx/types/activity_reference.rb +7 -0
- data/lib/tcx/types/application.rb +13 -0
- data/lib/tcx/types/base.rb +135 -0
- data/lib/tcx/types/boolean_type.rb +10 -0
- data/lib/tcx/types/build.rb +10 -0
- data/lib/tcx/types/build_type.rb +12 -0
- data/lib/tcx/types/cadence.rb +9 -0
- data/lib/tcx/types/cadence_target.rb +8 -0
- data/lib/tcx/types/calories_burned.rb +7 -0
- data/lib/tcx/{models → types}/course_folder.rb +5 -0
- data/lib/tcx/types/course_list.rb +21 -0
- data/lib/tcx/{models → types}/course_point.rb +1 -1
- data/lib/tcx/types/custom_speed_zone.rb +9 -0
- data/lib/tcx/types/database.rb +48 -0
- data/lib/tcx/{models/abstract_source.rb → types/device.rb} +5 -2
- data/lib/tcx/types/distance.rb +7 -0
- data/lib/tcx/types/duration.rb +10 -0
- data/lib/tcx/types/extensions_list.rb +9 -0
- data/lib/tcx/types/first_sport.rb +7 -0
- data/lib/tcx/types/folders.rb +9 -0
- data/lib/tcx/types/heart_rate.rb +7 -0
- data/lib/tcx/types/heart_rate_above.rb +7 -0
- data/lib/tcx/types/heart_rate_as_percent_of_max.rb +9 -0
- data/lib/tcx/types/heart_rate_below.rb +7 -0
- data/lib/tcx/types/heart_rate_bpm.rb +9 -0
- data/lib/tcx/types/heart_rate_in_beats_per_minute.rb +9 -0
- data/lib/tcx/types/history.rb +11 -0
- data/lib/tcx/types/history_folder.rb +19 -0
- data/lib/tcx/{models → types}/lap.rb +6 -2
- data/lib/tcx/types/multi_sport_folder.rb +16 -0
- data/lib/tcx/types/multisport_session.rb +10 -0
- data/lib/tcx/types/next_sport.rb +8 -0
- data/lib/tcx/types/none.rb +9 -0
- data/lib/tcx/types/plan.rb +14 -0
- data/lib/tcx/types/predefined_speed_zone.rb +7 -0
- data/lib/tcx/types/quick_workout.rb +8 -0
- data/lib/tcx/types/repeat.rb +8 -0
- data/lib/tcx/types/speed.rb +7 -0
- data/lib/tcx/types/speed_type.rb +10 -0
- data/lib/tcx/types/time.rb +11 -0
- data/lib/tcx/{models → types}/trackpoint.rb +2 -2
- data/lib/tcx/types/training.rb +14 -0
- data/lib/tcx/types/training_type.rb +10 -0
- data/lib/tcx/{models/duration.rb → types/user_initiated.rb} +1 -1
- data/lib/tcx/types/week.rb +12 -0
- data/lib/tcx/{models → types}/workout.rb +6 -0
- data/lib/tcx/types/workout_folder.rb +14 -0
- data/lib/tcx/types/workout_list.rb +21 -0
- data/lib/tcx/types/workouts.rb +10 -0
- data/lib/tcx/types/zone.rb +9 -0
- data/lib/tcx/types.rb +73 -0
- data/lib/tcx/version.rb +1 -1
- data/lib/tcx.rb +9 -4
- metadata +81 -41
- data/lib/tcx/models/activity_list.rb +0 -9
- data/lib/tcx/models/base.rb +0 -30
- data/lib/tcx/models/cadence.rb +0 -9
- data/lib/tcx/models/course_list.rb +0 -9
- data/lib/tcx/models/database.rb +0 -11
- data/lib/tcx/models/extensions.rb +0 -6
- data/lib/tcx/models/folders.rb +0 -7
- data/lib/tcx/models/heart_rate_as_percent_of_max.rb +0 -9
- data/lib/tcx/models/heart_rate_bpm.rb +0 -9
- data/lib/tcx/models/heart_rate_in_beats_per_minute.rb +0 -9
- data/lib/tcx/models/value.rb +0 -9
- data/lib/tcx/models/workout_list.rb +0 -9
- data/lib/tcx/models.rb +0 -40
- /data/lib/tcx/{models → types}/course.rb +0 -0
- /data/lib/tcx/{models → types}/course_lap.rb +0 -0
- /data/lib/tcx/{models → types}/course_point_type.rb +0 -0
- /data/lib/tcx/{models → types}/courses.rb +0 -0
- /data/lib/tcx/{models → types}/custom_heart_rate_zone.rb +0 -0
- /data/lib/tcx/{models → types}/gender.rb +0 -0
- /data/lib/tcx/{models → types}/heart_rate_value.rb +0 -0
- /data/lib/tcx/{models → types}/intensity.rb +0 -0
- /data/lib/tcx/{models → types}/name_key_reference.rb +0 -0
- /data/lib/tcx/{models → types}/position.rb +0 -0
- /data/lib/tcx/{models → types}/predefined_heart_rate_zone.rb +0 -0
- /data/lib/tcx/{models → types}/sensor_state.rb +0 -0
- /data/lib/tcx/{models → types}/sport.rb +0 -0
- /data/lib/tcx/{models → types}/step.rb +0 -0
- /data/lib/tcx/{models → types}/target.rb +0 -0
- /data/lib/tcx/{models → types}/track.rb +0 -0
- /data/lib/tcx/{models → types}/trigger_method.rb +0 -0
- /data/lib/tcx/{models → types}/version.rb +0 -0
data/lib/tcx/models/base.rb
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Tcx
|
|
4
|
-
class Base < Hashie::Trash
|
|
5
|
-
include Hashie::Extensions::IgnoreUndeclared
|
|
6
|
-
|
|
7
|
-
def self.parse(xml)
|
|
8
|
-
attributes = xml.attributes.to_h
|
|
9
|
-
|
|
10
|
-
xml.children.each do |child|
|
|
11
|
-
next unless child.is_a?(Nokogiri::XML::Element)
|
|
12
|
-
|
|
13
|
-
attributes[child.name] = if attributes.key?(child.name)
|
|
14
|
-
to_array(attributes[child.name]) + [child]
|
|
15
|
-
elsif child.children.one? && child.children.first.is_a?(Nokogiri::XML::Text)
|
|
16
|
-
child.text
|
|
17
|
-
else
|
|
18
|
-
child
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
new attributes
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
# Transform an XmlElement into [XmlElement], cannot be used with Array or causes a coercion error
|
|
26
|
-
def self.to_array(value)
|
|
27
|
-
value.is_a?(Array) ? value : [value]
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
end
|
data/lib/tcx/models/cadence.rb
DELETED
data/lib/tcx/models/database.rb
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Tcx
|
|
4
|
-
class Database < Base
|
|
5
|
-
property 'folders', from: 'Folders', transform_with: ->(arr) { Folders.parse(arr) }
|
|
6
|
-
property 'activities', from: 'Activities', transform_with: ->(arr) { ActivityList.parse(arr) }
|
|
7
|
-
property 'workouts', from: 'Workouts', transform_with: ->(arr) { WorkoutList.parse(arr) }
|
|
8
|
-
property 'courses', from: 'Courses', transform_with: ->(arr) { CourseList.parse(arr) }
|
|
9
|
-
property 'author', from: 'Author', transform_with: ->(el) { AbstractSource.parse(el) }
|
|
10
|
-
end
|
|
11
|
-
end
|
data/lib/tcx/models/folders.rb
DELETED
data/lib/tcx/models/value.rb
DELETED
data/lib/tcx/models.rb
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require_relative 'models/base'
|
|
4
|
-
require_relative 'models/value'
|
|
5
|
-
require_relative 'models/abstract_source'
|
|
6
|
-
require_relative 'models/activity'
|
|
7
|
-
require_relative 'models/activity_list'
|
|
8
|
-
require_relative 'models/cadence'
|
|
9
|
-
require_relative 'models/course'
|
|
10
|
-
require_relative 'models/course_folder'
|
|
11
|
-
require_relative 'models/course_lap'
|
|
12
|
-
require_relative 'models/course_list'
|
|
13
|
-
require_relative 'models/course_point'
|
|
14
|
-
require_relative 'models/course_point_type'
|
|
15
|
-
require_relative 'models/courses'
|
|
16
|
-
require_relative 'models/custom_heart_rate_zone'
|
|
17
|
-
require_relative 'models/database'
|
|
18
|
-
require_relative 'models/duration'
|
|
19
|
-
require_relative 'models/extensions'
|
|
20
|
-
require_relative 'models/folders'
|
|
21
|
-
require_relative 'models/gender'
|
|
22
|
-
require_relative 'models/heart_rate_as_percent_of_max'
|
|
23
|
-
require_relative 'models/heart_rate_bpm'
|
|
24
|
-
require_relative 'models/heart_rate_in_beats_per_minute'
|
|
25
|
-
require_relative 'models/heart_rate_value'
|
|
26
|
-
require_relative 'models/intensity'
|
|
27
|
-
require_relative 'models/lap'
|
|
28
|
-
require_relative 'models/name_key_reference'
|
|
29
|
-
require_relative 'models/position'
|
|
30
|
-
require_relative 'models/predefined_heart_rate_zone'
|
|
31
|
-
require_relative 'models/sensor_state'
|
|
32
|
-
require_relative 'models/sport'
|
|
33
|
-
require_relative 'models/step'
|
|
34
|
-
require_relative 'models/target'
|
|
35
|
-
require_relative 'models/track'
|
|
36
|
-
require_relative 'models/trackpoint'
|
|
37
|
-
require_relative 'models/trigger_method'
|
|
38
|
-
require_relative 'models/version'
|
|
39
|
-
require_relative 'models/workout'
|
|
40
|
-
require_relative 'models/workout_list'
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|