openpanel-sdk 0.2.4 → 0.2.5

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: 989ba0ddf1091ac08838cee7f7e9b553b8a2f98511029ee554d1c43b76facfff
4
- data.tar.gz: 430c47debb82b0c01843451a56a36d7181984507a8d8f17354e24ecc7b114fb7
3
+ metadata.gz: 511126fb0ea5db87c487dbf6758f6ec703d942b8188bcc77207a58de618eeba8
4
+ data.tar.gz: dbd8739efb4a2882ef249459049f3f712e51d6c81ceb03311d6bf1706a3b863e
5
5
  SHA512:
6
- metadata.gz: c6d73eed3d5ecdae847aaa42e7a5fb94db800d24b14842d460697317d628be7109c9692ce6cb10b805cb0ff21ee83912e5823e36e0280e8c12640df3a5763294
7
- data.tar.gz: 1ee5d6b6a28df7e5a050f770d83063bc4a697b7c88b18fd8a095d51bffc3a461a9b4eb0fe3730c25514e795752147daa3cb56d51c29b6af882457e76d3f1a85f
6
+ metadata.gz: 2dfa5c7f1cd7710a1f5cbf37f4dd187241d64bc2a5a70b604c8494878ba3e9dbd13b839b3674c0c7e026b6e8c0ae74ab53390219860d0d0019bb5e82cd234daa
7
+ data.tar.gz: daf47b3fc0db315c436988684087ce32b1ae23eaf9b490a1e4dbe544bae4f8759d8bbc6a959fb33b88da2dfcb317971af8300c69583d3cbd2dcd976570d0b7f8
@@ -41,14 +41,18 @@ module OpenPanel
41
41
  # @param event [String] name of event
42
42
  # @param tracking_type [String]
43
43
  # @param payload [Hash] event payload
44
- # @param filter [Boolean] if true, event will NOT be sent to OpenPanel, defaults to false
45
- def track(event, tracking_type: TRACKING_TYPE_TRACK, payload: {}, filter: false)
46
- return if filter
44
+ # @param filter [Lambda] pass in a lambda to filter events. If the lambda returns true, the event won't be tracked.
45
+ # @return [Faraday::Response | nil] The Faraday plain response object or nil, if the event was filtered out
46
+ # @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
+ return if filter.call(payload)
47
49
 
48
50
  payload = global_properties.merge(payload) unless global_properties.empty?
49
51
  payload = { type: tracking_type, payload: { name: event, properties: payload } }
50
52
 
51
53
  send_request payload: payload
54
+ rescue StandardError => e
55
+ raise OpenPanel::SDK::OpenPanelError, e.message
52
56
  end
53
57
 
54
58
  # Identify user in OpenPanel
@@ -2,6 +2,6 @@
2
2
 
3
3
  module OpenPanel
4
4
  module SDK
5
- VERSION = '0.2.4'
5
+ VERSION = '0.2.5'
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.4
4
+ version: 0.2.5
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-01 00:00:00.000000000 Z
11
+ date: 2025-12-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday