openpanel-sdk 0.2.9 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1490e90b00f3ec620cab8d9e1f515f891277b31f6b41e2045b59a0dc84033703
4
- data.tar.gz: a2ae3d2835687b58cd1ce7fc9a3d83a0a79a1f5c8d4416ffb89146e2c2036e93
3
+ metadata.gz: 2ed28b122a54f1cb96f072f3fb05a3a585839e4a9552fff33fac915535c85e24
4
+ data.tar.gz: 124097e8b635c96795e7a37c4e6f6b7cff1307e876335f6e1b1b636a7b37948a
5
5
  SHA512:
6
- metadata.gz: 1aa139b760d803cb25f62867735f8b14a36ddd71cbb7bf14d4e622886c6e21cb3ef48e180397e88f395a6429a286663dc3df67759a869fbd082ece14899c97d7
7
- data.tar.gz: de64238db6154e72328e97abbd32bd24db6be790634fc0ef12b23355609a69c9bbef6bea84064e121e275c8fb119839f037383ba3ebb18ea4acc4a0f4e1f67de
6
+ metadata.gz: 522d0719dc0b69c3a311379842a775d77070d92363178bacc4e21dba44f76d3560bf9e554ee3b95d0fe6fac9a1655553e3daa24214720bd2dd95a1e7a2beab10
7
+ data.tar.gz: fe6633f06c03c4363d315a839e048d4b8028de43e6eebbaf72f1bfa30a067e75ed3a6083b64b7df5bca022173ed84dfdbc00e981fe950533ea2d89e861c8fbe7
@@ -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 = { profileId: user.profile_id, firstName: user.first_name, lastName: user.last_name,
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 = { profileId: user.profile_id, property: property, value: value }
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 = { profileId: user.profile_id, property: property, value: value }
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
@@ -94,8 +95,8 @@ module OpenPanel
94
95
  # @param amount [Integer] amount of revenue
95
96
  # @param properties [Hash] additional properties to track
96
97
  def revenue(user:, amount:, properties: {})
97
- payload = { name: "revenue", properties: { profileId: user.profile_id, revenue: amount }.merge(properties) }
98
- payload = { type: TRACKING_TYPE_TRACK, payload: payload }
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
@@ -2,6 +2,6 @@
2
2
 
3
3
  module OpenPanel
4
4
  module SDK
5
- VERSION = '0.2.9'
5
+ VERSION = '0.3.0'
6
6
  end
7
7
  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.2.9
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-05 00:00:00.000000000 Z
11
+ date: 2025-12-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday