customerio 4.3.0 → 4.3.2

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: 16635bdd8c1cfb5e77fbe0c29ca18a69fdbcd48b3824a19a4657f4bb9d6d0991
4
- data.tar.gz: ad565a4bf81cb86a956893bdc104bd0967971af84b4dfcb453f47ac6fae0b6ea
3
+ metadata.gz: 947def68a84acd663f4362c5e7a1f91a97513577afa4bd020893995b1df9bb6a
4
+ data.tar.gz: 0fe78c73a651622d973f57ffd03fe5f19422d217f9430ba562a206e2f1bc5772
5
5
  SHA512:
6
- metadata.gz: 6b944374f304906b7533def39708eb07078390e07a413bf3bec11f46aecc65683a88c1a8d89bf50d65b16fdc2d5c561f2a0b484827c8ac828b3857cf101efba5
7
- data.tar.gz: 17fe083a74d404f9d243e0c9e0a9713e4f02fb4009d10807d30f50d192ce020ba33065684bd84aadaf02908fc9de55d950b5f23d9549ffadce1cb36502f2bc8d
6
+ metadata.gz: 06d0420f641bbc2f17e430d2b628d0d7d6b0f6d7cbd91e01b5c721c5dbd355c9494d04cd6c8c705e78cc54c70209948a943dcf7acfc62d7db7b342c2d57d2f35
7
+ data.tar.gz: c015c539613a2fc63b2612cd59069a1b7fc28a760ae20c45f875c285a5cb9d810f42d5acc6ea1e5dfb2dec44da2cf3b079c3e85814aeee58b67a3bd53ddd3255
data/CHANGELOG.markdown CHANGED
@@ -1,3 +1,11 @@
1
+ ## Customerio 4.3.1 - January 5, 2023
2
+ ### Added
3
+ - Added the `disable_css_preprocessing` and `language` optional fields to send request
4
+
5
+ ## Customerio 4.3.0 - April 26, 2022
6
+ ### Added
7
+ - Support for [anonymous invite events](https://customer.io/docs/anonymous-invite-emails/) by setting `anonymous_id` to `nil`.
8
+
1
9
  ## Customerio 4.1.0 - Sep 27, 2021
2
10
  ### Added
3
11
  - Added support for [merge customers](https://customer.io/docs/api/#operation/merge) API
@@ -51,6 +51,13 @@ module Customerio
51
51
  create_customer_event(customer_id, event_name, attributes)
52
52
  end
53
53
 
54
+ def pageview(customer_id, page, attributes = {})
55
+ raise ParamError.new("customer_id must be a non-empty string") if is_empty?(customer_id)
56
+ raise ParamError.new("page must be a non-empty string") if is_empty?(page)
57
+
58
+ create_pageview_event(customer_id, page, attributes)
59
+ end
60
+
54
61
  def track_anonymous(anonymous_id, event_name, attributes = {})
55
62
  raise ParamError.new("event_name must be a non-empty string") if is_empty?(event_name)
56
63
 
@@ -167,10 +174,20 @@ module Customerio
167
174
  )
168
175
  end
169
176
 
170
- def create_event(url:, event_name:, anonymous_id: nil, attributes: {})
177
+ def create_pageview_event(customer_id, page, attributes = {})
178
+ create_event(
179
+ url: "#{customer_path(customer_id)}/events",
180
+ event_type: "page",
181
+ event_name: page,
182
+ attributes: attributes
183
+ )
184
+ end
185
+
186
+ def create_event(url:, event_name:, anonymous_id: nil, event_type: nil, attributes: {})
171
187
  body = { :name => event_name, :data => attributes }
172
188
  body[:timestamp] = attributes[:timestamp] if valid_timestamp?(attributes[:timestamp])
173
189
  body[:anonymous_id] = anonymous_id unless is_empty?(anonymous_id)
190
+ body[:type] = event_type unless is_empty?(event_type)
174
191
 
175
192
  @client.request_and_verify_response(:post, url, body)
176
193
  end
@@ -36,6 +36,9 @@ module Customerio
36
36
  send_to_unsubscribed
37
37
  tracked
38
38
  queue_draft
39
+ disable_css_preprocessing
40
+ send_at
41
+ language
39
42
  )
40
43
 
41
44
  def invalid_field?(field)
@@ -1,3 +1,3 @@
1
1
  module Customerio
2
- VERSION = "4.3.0"
2
+ VERSION = "4.3.2"
3
3
  end
data/spec/client_spec.rb CHANGED
@@ -240,6 +240,16 @@ describe Customerio::Client do
240
240
  end
241
241
  end
242
242
 
243
+ describe "#pageview" do
244
+ it "allows sending pageview event" do
245
+ stub_request(:post, api_uri('/api/v1/customers/5/events')).
246
+ with(body: json(name: "http://customer.io", data: {}, type: "page")).
247
+ to_return(status: 200, body: "", headers: {})
248
+
249
+ client.pageview(5, "http://customer.io")
250
+ end
251
+ end
252
+
243
253
  describe "#track" do
244
254
  it "raises an error if POST doesn't return a 2xx response code" do
245
255
  stub_request(:post, api_uri('/api/v1/customers/5/events')).
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: customerio
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.3.0
4
+ version: 4.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Allison
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-26 00:00:00.000000000 Z
11
+ date: 2023-03-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json
@@ -126,7 +126,7 @@ homepage: http://customer.io
126
126
  licenses:
127
127
  - MIT
128
128
  metadata: {}
129
- post_install_message:
129
+ post_install_message:
130
130
  rdoc_options: []
131
131
  require_paths:
132
132
  - lib
@@ -141,8 +141,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
141
141
  - !ruby/object:Gem::Version
142
142
  version: '0'
143
143
  requirements: []
144
- rubygems_version: 3.2.5
145
- signing_key:
144
+ rubygems_version: 3.3.7
145
+ signing_key:
146
146
  specification_version: 4
147
147
  summary: A ruby client for the Customer.io event API.
148
148
  test_files: