klaviyo 2.0.1 → 2.0.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 +5 -5
- data/klaviyo.gemspec +2 -2
- data/lib/klaviyo/apis/public.rb +7 -2
- data/lib/klaviyo/client.rb +3 -3
- data/lib/klaviyo/klaviyo_module.rb +1 -1
- metadata +6 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 2b799e59210fdba2f42e88c903a4194f826590309e50650cbf360016bb0fd14e
|
4
|
+
data.tar.gz: df417c927034075c4894d2c186bc4f5a50ca2e26ed3e825a659adbd73f6524e6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1ef1843515b936f2fd60b91dbd3d3cdaea780b56b49379134c04211c4609ad12ad1a296225fe576418bd93f0a437d88ec212c8b3f02fc6aa5289b5e39db7d5b1
|
7
|
+
data.tar.gz: e77f951331a55720f0f8f38a01d7ce51707f4cf316cd3eeeabc64739090ef1a41e5387e84b831bf703f3e19004bf35ec91d3b5e3e624bc94cec23fb4b1b6646f
|
data/klaviyo.gemspec
CHANGED
@@ -2,8 +2,8 @@ files = ['klaviyo.gemspec', '{lib}/**/**/*'].map {|f| Dir[f]}.flatten
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = 'klaviyo'
|
5
|
-
s.version = '2.0.
|
6
|
-
s.date = '2020-
|
5
|
+
s.version = '2.0.2'
|
6
|
+
s.date = '2020-12-28'
|
7
7
|
s.summary = 'You heard us, a Ruby wrapper for the Klaviyo API'
|
8
8
|
s.description = 'Ruby wrapper for the Klaviyo API'
|
9
9
|
s.authors = ['Klaviyo Team']
|
data/lib/klaviyo/apis/public.rb
CHANGED
@@ -8,16 +8,18 @@ module Klaviyo
|
|
8
8
|
def self.identify(kwargs = {})
|
9
9
|
defaults = {:id => nil,
|
10
10
|
:email => nil,
|
11
|
+
:phone_number => nil,
|
11
12
|
:properties => {}
|
12
13
|
}
|
13
14
|
kwargs = defaults.merge(kwargs)
|
14
15
|
|
15
|
-
|
16
|
+
unless check_required_args(kwargs)
|
16
17
|
return
|
17
18
|
end
|
18
19
|
|
19
20
|
properties = kwargs[:properties]
|
20
21
|
properties[:email] = kwargs[:email] unless kwargs[:email].to_s.empty?
|
22
|
+
properties[:$phone_number] = kwargs[:phone_number] unless kwargs[:phone_number].to_s.empty?
|
21
23
|
properties[:id] = kwargs[:id] unless kwargs[:id].to_s.empty?
|
22
24
|
|
23
25
|
params = {
|
@@ -33,6 +35,7 @@ module Klaviyo
|
|
33
35
|
# @param event [String] the event to track
|
34
36
|
# @kwarg :id [String] the customer or profile id
|
35
37
|
# @kwarg :email [String] the customer or profile email
|
38
|
+
# @kwarg :phone_number [String] the customer or profile phone number
|
36
39
|
# @kwarg :properties [Hash] properties of the event
|
37
40
|
# @kwargs :customer_properties [Hash] properties of the customer or profile
|
38
41
|
# @kwargs :time [Integer] timestamp of the event
|
@@ -40,6 +43,7 @@ module Klaviyo
|
|
40
43
|
defaults = {
|
41
44
|
:id => nil,
|
42
45
|
:email => nil,
|
46
|
+
:phone_number => nil,
|
43
47
|
:properties => {},
|
44
48
|
:customer_properties => {},
|
45
49
|
:time => nil
|
@@ -47,12 +51,13 @@ module Klaviyo
|
|
47
51
|
|
48
52
|
kwargs = defaults.merge(kwargs)
|
49
53
|
|
50
|
-
|
54
|
+
unless check_required_args(kwargs)
|
51
55
|
return
|
52
56
|
end
|
53
57
|
|
54
58
|
customer_properties = kwargs[:customer_properties]
|
55
59
|
customer_properties[:email] = kwargs[:email] unless kwargs[:email].to_s.empty?
|
60
|
+
customer_properties[:$phone_number] = kwargs[:phone_number] unless kwargs[:phone_number].to_s.empty?
|
56
61
|
customer_properties[:id] = kwargs[:id] unless kwargs[:id].to_s.empty?
|
57
62
|
|
58
63
|
params = {
|
data/lib/klaviyo/client.rb
CHANGED
@@ -63,9 +63,9 @@ module Klaviyo
|
|
63
63
|
"data=#{Base64.encode64(JSON.generate(params)).gsub(/\n/,'')}"
|
64
64
|
end
|
65
65
|
|
66
|
-
def self.
|
67
|
-
if kwargs[:email].to_s.empty? and kwargs[:id].to_s.empty?
|
68
|
-
raise Klaviyo::KlaviyoError.new(
|
66
|
+
def self.check_required_args(kwargs)
|
67
|
+
if kwargs[:email].to_s.empty? and kwargs[:phone_number].to_s.empty? and kwargs[:id].to_s.empty?
|
68
|
+
raise Klaviyo::KlaviyoError.new(REQUIRED_ARG_ERROR)
|
69
69
|
else
|
70
70
|
return true
|
71
71
|
end
|
@@ -19,5 +19,5 @@ module Klaviyo
|
|
19
19
|
|
20
20
|
NO_PRIVATE_API_KEY_ERROR = 'Please provide your Private API key for this request'
|
21
21
|
NO_PUBLIC_API_KEY_ERROR = 'Please provide your Public API key for this request'
|
22
|
-
|
22
|
+
REQUIRED_ARG_ERROR = 'You must identify a user by email, ID or phone_number'
|
23
23
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: klaviyo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Klaviyo Team
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-12-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -84,7 +84,7 @@ files:
|
|
84
84
|
homepage: https://www.klaviyo.com/
|
85
85
|
licenses: []
|
86
86
|
metadata: {}
|
87
|
-
post_install_message:
|
87
|
+
post_install_message:
|
88
88
|
rdoc_options: []
|
89
89
|
require_paths:
|
90
90
|
- lib
|
@@ -99,9 +99,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
99
99
|
- !ruby/object:Gem::Version
|
100
100
|
version: '0'
|
101
101
|
requirements: []
|
102
|
-
|
103
|
-
|
104
|
-
signing_key:
|
102
|
+
rubygems_version: 3.0.8
|
103
|
+
signing_key:
|
105
104
|
specification_version: 4
|
106
105
|
summary: You heard us, a Ruby wrapper for the Klaviyo API
|
107
106
|
test_files: []
|