openpanel-sdk 0.2.9 → 0.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1490e90b00f3ec620cab8d9e1f515f891277b31f6b41e2045b59a0dc84033703
4
- data.tar.gz: a2ae3d2835687b58cd1ce7fc9a3d83a0a79a1f5c8d4416ffb89146e2c2036e93
3
+ metadata.gz: 65ba974f53cd9624e174c3c685817508ea1ba03312328a9df4082bb72df19cd2
4
+ data.tar.gz: 8538967b530f9a31c800dd592962c3002b26fac7c8b976636a69d3bda08f5c7a
5
5
  SHA512:
6
- metadata.gz: 1aa139b760d803cb25f62867735f8b14a36ddd71cbb7bf14d4e622886c6e21cb3ef48e180397e88f395a6429a286663dc3df67759a869fbd082ece14899c97d7
7
- data.tar.gz: de64238db6154e72328e97abbd32bd24db6be790634fc0ef12b23355609a69c9bbef6bea84064e121e275c8fb119839f037383ba3ebb18ea4acc4a0f4e1f67de
6
+ metadata.gz: f8603c88e4e62c22976a745fafb22b9ef29fc3ba7e8f2979d4c49bf3ee56003f2e929ff592ebc6b4683fc55aa66100ec17653dbf65b26b6e039a7e70fdbad5c5
7
+ data.tar.gz: dc30332f7b940f5d49a49ef070ef2c91c7a5fed4836cf5b54b21b0aa81263288a0249f75b71df41f5febd59aad7d520233061f884c6ca5183d7f5024a30d230a
data/README.md CHANGED
@@ -27,7 +27,7 @@ identify_user = OpenPanel::SDK::IdentifyUser.new
27
27
  # ... set user props
28
28
 
29
29
  tracker.identify identify_user
30
- tracker.track 'test_event', payload: { name: 'test' }
30
+ tracker.track('test_event', profile_id: profile_id, payload: { name: 'test' })
31
31
  tracker.increment_property identify_user, 'test_property', 1
32
32
  tracker.decrement_property identify_user, 'test_property', 1
33
33
  ```
@@ -53,7 +53,7 @@ end
53
53
  then you can use `@openpanel_tracker` in your controllers to track events:
54
54
 
55
55
  ```ruby
56
- @openpanel_tracker.track 'test_event', payload: { name: 'test' }
56
+ @openpanel_tracker.track('test_event', profile_id: profile_id, payload: { name: 'test' })
57
57
  ```
58
58
 
59
59
  or to identify users:
@@ -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
@@ -72,7 +73,7 @@ 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 = { property: property, value: value, profileId: user.profile_id }
76
77
  payload = { type: TRACKING_TYPE_INCREMENT, payload: payload }
77
78
 
78
79
  send_request payload: payload
@@ -83,7 +84,7 @@ 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 = { property: property, value: value, profileId: user.profile_id }
87
88
  payload = { type: TRACKING_TYPE_DECREMENT, payload: payload }
88
89
 
89
90
  send_request payload: payload
@@ -94,7 +95,7 @@ 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 = { profileId: user.profile_id, name: 'revenue', properties: { revenue: amount }.merge(properties) }
98
99
  payload = { type: TRACKING_TYPE_TRACK, payload: payload }
99
100
 
100
101
  send_request payload: payload
@@ -2,6 +2,6 @@
2
2
 
3
3
  module OpenPanel
4
4
  module SDK
5
- VERSION = '0.2.9'
5
+ VERSION = '0.3.1'
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.1
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