evva 0.4.0 → 0.4.1
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 +3 -0
- data/lib/evva/templates/swift/events.swift +15 -14
- data/lib/evva/templates/swift/people_properties.swift +15 -14
- data/lib/evva/version.rb +2 -2
- data/spec/lib/evva/swift_generator_spec.rb +43 -39
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f4038f23c86f1051786de3a9a9407a9b9656fc6b449d2e1f62be66f0081fa054
|
4
|
+
data.tar.gz: 6fc90e80a8a4ac97d935df0fa90cc410d582270845f8a7083081f85bf5069b93
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 87a050829faed5ec1792fcca19e064adb17009ddcdf0b19366cab4aedc251816363665d5577cbe8e5c0e9206e30b8eaafb06546b5fdc72adc3243db90cde9d1e
|
7
|
+
data.tar.gz: ca0d51be95a1f5f0dd4e3e6a224dfb5aa734258be9a1b5e8b1d45386d87174d473268ceec6973147b47aa9ef726d9d8c246a7941365f753d606d9d24769c66da
|
data/changelog.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## [0.4.1] - 2021-12-23
|
4
|
+
- Changes swift implementation so that destinations belong to EventType/PropertyType instead of Event/Property
|
5
|
+
|
3
6
|
## [0.4.0] - 2021-12-21
|
4
7
|
- Adds type to people properties
|
5
8
|
- Adds a list of destinations to events and people properties
|
@@ -9,15 +9,25 @@ struct EventData {
|
|
9
9
|
self.destinations = destinations
|
10
10
|
}
|
11
11
|
|
12
|
-
init(
|
13
|
-
self.init(name: name
|
12
|
+
init(type: EventType, properties: [String: Any]?) {
|
13
|
+
self.init(name: type.name, properties: properties, destinations: type.destinations)
|
14
14
|
}
|
15
15
|
}
|
16
16
|
|
17
|
-
enum
|
17
|
+
enum EventType: String {
|
18
18
|
<%- events.each do |e| -%>
|
19
19
|
case <%= e[:case_name] %> = "<%= e[:event_name] %>"
|
20
20
|
<%- end -%>
|
21
|
+
|
22
|
+
var name: String { return rawValue }
|
23
|
+
|
24
|
+
var destinations: [Destination] {
|
25
|
+
switch self {
|
26
|
+
<%- events.each do |e| -%>
|
27
|
+
case .<%= e[:case_name] %>: return [<%= e[:destinations].map { |d| ".#{d}" }.join(", ") %>]
|
28
|
+
<%- end -%>
|
29
|
+
}
|
30
|
+
}
|
21
31
|
}
|
22
32
|
|
23
33
|
enum Event {
|
@@ -37,22 +47,13 @@ enum Event {
|
|
37
47
|
<%- else -%>
|
38
48
|
case let .<%= e[:case_name] %>(<%= e[:properties].map { |p| p[:name] }.join(", ") %>):
|
39
49
|
<%- end -%>
|
40
|
-
return EventData(
|
50
|
+
return EventData(type: .<%= e[:case_name] %>,
|
41
51
|
<%- if e[:properties].count == 0 -%>
|
42
|
-
properties: nil
|
52
|
+
properties: nil)
|
43
53
|
<%- else -%>
|
44
54
|
properties: [
|
45
55
|
<%- e[:properties].each do |p| -%>
|
46
56
|
"<%= p[:name] %>": <%= p[:value] %> as Any,
|
47
|
-
<%- end -%>
|
48
|
-
],
|
49
|
-
<%- end -%>
|
50
|
-
<%- if e[:destinations].count == 0 -%>
|
51
|
-
destinations: [])
|
52
|
-
<%- else -%>
|
53
|
-
destinations: [
|
54
|
-
<%- e[:destinations].each do |d| -%>
|
55
|
-
.<%= d %>,
|
56
57
|
<%- end -%>
|
57
58
|
])
|
58
59
|
<%- end -%>
|
@@ -9,15 +9,25 @@ struct PropertyData {
|
|
9
9
|
self.destinations = destinations
|
10
10
|
}
|
11
11
|
|
12
|
-
init(
|
13
|
-
self.init(name: name
|
12
|
+
init(type: PropertyType, value: Any) {
|
13
|
+
self.init(name: type.name, value: value, destinations: type.destinations)
|
14
14
|
}
|
15
15
|
}
|
16
16
|
|
17
|
-
enum
|
17
|
+
enum PropertyType: String {
|
18
18
|
<%- properties.each do |p| -%>
|
19
19
|
case <%= p[:case_name] %> = "<%= p[:property_name ] %>"
|
20
20
|
<%- end -%>
|
21
|
+
|
22
|
+
var name: String { return rawValue }
|
23
|
+
|
24
|
+
var destinations: [Destination] {
|
25
|
+
switch self {
|
26
|
+
<%- properties.each_with_index do |p, index| -%>
|
27
|
+
case .<%= p[:case_name] %>: return [<%= p[:destinations].map { |d| ".#{d}" }.join(", ") %>]
|
28
|
+
<%- end -%>
|
29
|
+
}
|
30
|
+
}
|
21
31
|
}
|
22
32
|
|
23
33
|
enum Property {
|
@@ -29,17 +39,8 @@ enum Property {
|
|
29
39
|
switch self {
|
30
40
|
<%- properties.each_with_index do |p, index| -%>
|
31
41
|
case let .<%= p[:case_name] %>(value):
|
32
|
-
return PropertyData(
|
33
|
-
value: value<% if p[:is_special_property] %>.rawValue<% end
|
34
|
-
<%- if p[:destinations].count == 0 -%>
|
35
|
-
destinations: [])
|
36
|
-
<%- else -%>
|
37
|
-
destinations: [
|
38
|
-
<%- p[:destinations].each do |d| -%>
|
39
|
-
.<%= d %>,
|
40
|
-
<%- end -%>
|
41
|
-
])
|
42
|
-
<%- end -%>
|
42
|
+
return PropertyData(type: .<%= p[:case_name] %>,
|
43
|
+
value: value<% if p[:is_special_property] %>.rawValue<% end %>)
|
43
44
|
<%- unless index == properties.count - 1 -%>
|
44
45
|
|
45
46
|
<%- end -%>
|
data/lib/evva/version.rb
CHANGED
@@ -30,17 +30,29 @@ extension Analytics {
|
|
30
30
|
self.destinations = destinations
|
31
31
|
}
|
32
32
|
|
33
|
-
init(
|
34
|
-
self.init(name: name
|
33
|
+
init(type: EventType, properties: [String: Any]?) {
|
34
|
+
self.init(name: type.name, properties: properties, destinations: type.destinations)
|
35
35
|
}
|
36
36
|
}
|
37
37
|
|
38
|
-
enum
|
38
|
+
enum EventType: String {
|
39
39
|
case cpPageView = "cp_page_view"
|
40
40
|
case cpPageViewA = "cp_page_view_a"
|
41
41
|
case cpPageViewB = "cp_page_view_b"
|
42
42
|
case cpPageViewC = "cp_page_view_c"
|
43
43
|
case cpPageViewD = "cp_page_view_d"
|
44
|
+
|
45
|
+
var name: String { return rawValue }
|
46
|
+
|
47
|
+
var destinations: [Destination] {
|
48
|
+
switch self {
|
49
|
+
case .cpPageView: return [.firebase]
|
50
|
+
case .cpPageViewA: return [.firebase, .customDestination]
|
51
|
+
case .cpPageViewB: return []
|
52
|
+
case .cpPageViewC: return []
|
53
|
+
case .cpPageViewD: return []
|
54
|
+
}
|
55
|
+
}
|
44
56
|
}
|
45
57
|
|
46
58
|
enum Event {
|
@@ -53,48 +65,38 @@ extension Analytics {
|
|
53
65
|
var data: EventData {
|
54
66
|
switch self {
|
55
67
|
case .cpPageView:
|
56
|
-
return EventData(
|
57
|
-
properties: nil
|
58
|
-
destinations: [
|
59
|
-
.firebase,
|
60
|
-
])
|
68
|
+
return EventData(type: .cpPageView,
|
69
|
+
properties: nil)
|
61
70
|
|
62
71
|
case let .cpPageViewA(course_id, course_name):
|
63
|
-
return EventData(
|
72
|
+
return EventData(type: .cpPageViewA,
|
64
73
|
properties: [
|
65
74
|
"course_id": course_id as Any,
|
66
75
|
"course_name": course_name as Any,
|
67
|
-
],
|
68
|
-
destinations: [
|
69
|
-
.firebase,
|
70
|
-
.customDestination,
|
71
76
|
])
|
72
77
|
|
73
78
|
case let .cpPageViewB(course_id, course_name, from_screen):
|
74
|
-
return EventData(
|
79
|
+
return EventData(type: .cpPageViewB,
|
75
80
|
properties: [
|
76
81
|
"course_id": course_id as Any,
|
77
82
|
"course_name": course_name as Any,
|
78
83
|
"from_screen": from_screen.rawValue as Any,
|
79
|
-
]
|
80
|
-
destinations: [])
|
84
|
+
])
|
81
85
|
|
82
86
|
case let .cpPageViewC(course_id, course_name, from_screen):
|
83
|
-
return EventData(
|
87
|
+
return EventData(type: .cpPageViewC,
|
84
88
|
properties: [
|
85
89
|
"course_id": course_id as Any,
|
86
90
|
"course_name": course_name as Any,
|
87
91
|
"from_screen": from_screen?.rawValue as Any,
|
88
|
-
]
|
89
|
-
destinations: [])
|
92
|
+
])
|
90
93
|
|
91
94
|
case let .cpPageViewD(course_id, course_name):
|
92
|
-
return EventData(
|
95
|
+
return EventData(type: .cpPageViewD,
|
93
96
|
properties: [
|
94
97
|
"course_id": course_id as Any,
|
95
98
|
"course_name": course_name as Any,
|
96
|
-
]
|
97
|
-
destinations: [])
|
99
|
+
])
|
98
100
|
}
|
99
101
|
}
|
100
102
|
}
|
@@ -163,15 +165,25 @@ extension Analytics {
|
|
163
165
|
self.destinations = destinations
|
164
166
|
}
|
165
167
|
|
166
|
-
init(
|
167
|
-
self.init(name: name
|
168
|
+
init(type: PropertyType, value: Any) {
|
169
|
+
self.init(name: type.name, value: value, destinations: type.destinations)
|
168
170
|
}
|
169
171
|
}
|
170
172
|
|
171
|
-
enum
|
173
|
+
enum PropertyType: String {
|
172
174
|
case roundsWithWear = "rounds_with_wear"
|
173
175
|
case wearPlatform = "wear_platform"
|
174
176
|
case numberOfTimesItHappened = "number_of_times_it_happened"
|
177
|
+
|
178
|
+
var name: String { return rawValue }
|
179
|
+
|
180
|
+
var destinations: [Destination] {
|
181
|
+
switch self {
|
182
|
+
case .roundsWithWear: return [.firebase]
|
183
|
+
case .wearPlatform: return [.firebase, .customDestination]
|
184
|
+
case .numberOfTimesItHappened: return []
|
185
|
+
}
|
186
|
+
}
|
175
187
|
}
|
176
188
|
|
177
189
|
enum Property {
|
@@ -182,24 +194,16 @@ extension Analytics {
|
|
182
194
|
var data: PropertyData {
|
183
195
|
switch self {
|
184
196
|
case let .roundsWithWear(value):
|
185
|
-
return PropertyData(
|
186
|
-
value: value
|
187
|
-
destinations: [
|
188
|
-
.firebase,
|
189
|
-
])
|
197
|
+
return PropertyData(type: .roundsWithWear,
|
198
|
+
value: value)
|
190
199
|
|
191
200
|
case let .wearPlatform(value):
|
192
|
-
return PropertyData(
|
193
|
-
value: value.rawValue
|
194
|
-
destinations: [
|
195
|
-
.firebase,
|
196
|
-
.customDestination,
|
197
|
-
])
|
201
|
+
return PropertyData(type: .wearPlatform,
|
202
|
+
value: value.rawValue)
|
198
203
|
|
199
204
|
case let .numberOfTimesItHappened(value):
|
200
|
-
return PropertyData(
|
201
|
-
value: value
|
202
|
-
destinations: [])
|
205
|
+
return PropertyData(type: .numberOfTimesItHappened,
|
206
|
+
value: value)
|
203
207
|
}
|
204
208
|
}
|
205
209
|
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: evva
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- RicardoTrindade
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-12-
|
11
|
+
date: 2021-12-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: safe_yaml
|