openpanel-sdk 0.2.8 → 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/README.md +1 -1
- data/lib/openpanel/sdk/tracker.rb +12 -11
- data/lib/openpanel/sdk/version.rb +1 -1
- 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: 2ed28b122a54f1cb96f072f3fb05a3a585839e4a9552fff33fac915535c85e24
|
|
4
|
+
data.tar.gz: 124097e8b635c96795e7a37c4e6f6b7cff1307e876335f6e1b1b636a7b37948a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 522d0719dc0b69c3a311379842a775d77070d92363178bacc4e21dba44f76d3560bf9e554ee3b95d0fe6fac9a1655553e3daa24214720bd2dd95a1e7a2beab10
|
|
7
|
+
data.tar.gz: fe6633f06c03c4363d315a839e048d4b8028de43e6eebbaf72f1bfa30a067e75ed3a6083b64b7df5bca022173ed84dfdbc00e981fe950533ea2d89e861c8fbe7
|
data/README.md
CHANGED
|
@@ -103,7 +103,7 @@ response = tracker.track('test_event', payload: { name: 'test' }, filter: filter
|
|
|
103
103
|
Revenue tracking is done easily:
|
|
104
104
|
|
|
105
105
|
```ruby
|
|
106
|
-
response = tracker.revenue user, 100, { currency: 'EUR' }
|
|
106
|
+
response = tracker.revenue user: user, amount: 100, properties: { currency: 'EUR' }
|
|
107
107
|
# Faraday::Response
|
|
108
108
|
```
|
|
109
109
|
|
|
@@ -39,16 +39,17 @@ module OpenPanel
|
|
|
39
39
|
# Track events in OpenPanel
|
|
40
40
|
# https://openpanel.dev/docs/api/track
|
|
41
41
|
# @param event [String] name of event
|
|
42
|
+
# @param profile_id [String] (optional) user profile ID
|
|
42
43
|
# @param tracking_type [String]
|
|
43
44
|
# @param payload [Hash] event payload
|
|
44
45
|
# @param filter [Lambda] pass in a lambda to filter events. If the lambda returns true, the event won't be tracked.
|
|
45
46
|
# @return [Faraday::Response | nil] The Faraday plain response object or nil, if the event was filtered out
|
|
46
47
|
# @raise [OpenPanel::SDK::OpenPanelError] if the request fails or the event filter is not a method or lambda
|
|
47
|
-
def track(event, tracking_type: TRACKING_TYPE_TRACK, payload: {}, filter: ->(_payload) { false })
|
|
48
|
+
def track(event, profile_id: '', tracking_type: TRACKING_TYPE_TRACK, payload: {}, filter: ->(_payload) { false })
|
|
48
49
|
return if filter.call(payload)
|
|
49
50
|
|
|
50
51
|
payload = global_properties.merge(payload) unless global_properties.empty?
|
|
51
|
-
payload = { type: tracking_type, payload: { name: event, properties: payload } }
|
|
52
|
+
payload = { type: tracking_type, payload: { name: event, profileId: profile_id, properties: payload } }
|
|
52
53
|
|
|
53
54
|
send_request payload: payload
|
|
54
55
|
rescue StandardError => e
|
|
@@ -60,9 +61,9 @@ module OpenPanel
|
|
|
60
61
|
# @param user [OpenPanel::SDK::IdentifyUser] user to identify
|
|
61
62
|
def identify(user)
|
|
62
63
|
properties = user.properties.merge(global_properties) unless global_properties.empty?
|
|
63
|
-
payload = {
|
|
64
|
+
payload = { firstName: user.first_name, lastName: user.last_name,
|
|
64
65
|
email: user.email, properties: properties }
|
|
65
|
-
payload = { type: TRACKING_TYPE_IDENTIFY, payload: payload }
|
|
66
|
+
payload = { type: TRACKING_TYPE_IDENTIFY, profileId: user.profile_id, payload: payload }
|
|
66
67
|
|
|
67
68
|
send_request payload: payload
|
|
68
69
|
end
|
|
@@ -72,8 +73,8 @@ module OpenPanel
|
|
|
72
73
|
# @param property [String] property to increment
|
|
73
74
|
# @param value [Integer] value to increment by
|
|
74
75
|
def increment_property(user, property = 'visits', value = 1)
|
|
75
|
-
payload = {
|
|
76
|
-
payload = { type: TRACKING_TYPE_INCREMENT, payload: payload }
|
|
76
|
+
payload = { property: property, value: value }
|
|
77
|
+
payload = { type: TRACKING_TYPE_INCREMENT, profileId: user.profile_id, payload: payload }
|
|
77
78
|
|
|
78
79
|
send_request payload: payload
|
|
79
80
|
end
|
|
@@ -83,8 +84,8 @@ module OpenPanel
|
|
|
83
84
|
# @param property [String] property to increment
|
|
84
85
|
# @param value [Integer] value to decrement by
|
|
85
86
|
def decrement_property(user, property = 'visits', value = 1)
|
|
86
|
-
payload = {
|
|
87
|
-
payload = { type: TRACKING_TYPE_DECREMENT, payload: payload }
|
|
87
|
+
payload = { property: property, value: value }
|
|
88
|
+
payload = { type: TRACKING_TYPE_DECREMENT, profileId: user.profile_id, payload: payload }
|
|
88
89
|
|
|
89
90
|
send_request payload: payload
|
|
90
91
|
end
|
|
@@ -93,9 +94,9 @@ module OpenPanel
|
|
|
93
94
|
# @param user [OpenPanel::SDK::IdentifyUser] user to identify
|
|
94
95
|
# @param amount [Integer] amount of revenue
|
|
95
96
|
# @param properties [Hash] additional properties to track
|
|
96
|
-
def revenue(user
|
|
97
|
-
payload = { name:
|
|
98
|
-
payload = { type: TRACKING_TYPE_TRACK, payload: payload }
|
|
97
|
+
def revenue(user:, amount:, properties: {})
|
|
98
|
+
payload = { name: 'revenue', properties: { revenue: amount }.merge(properties) }
|
|
99
|
+
payload = { type: TRACKING_TYPE_TRACK, profileId: user.profile_id, payload: payload }
|
|
99
100
|
|
|
100
101
|
send_request payload: payload
|
|
101
102
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: openpanel-sdk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Thomas Stätter
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2025-12-
|
|
11
|
+
date: 2025-12-08 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: faraday
|