klaviyo-rails 0.7.3 → 0.7.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 626e74f9be017b20bf5ac36ca6cd85be887cdafe
4
- data.tar.gz: f2343591fe5f99da6025643f43caaadf653a7390
3
+ metadata.gz: 7aaee5a9710d983eec7b5a4405b0fe811de8c3ca
4
+ data.tar.gz: 4d975308b63e4559e96f79d8c2db9e4600be0aa7
5
5
  SHA512:
6
- metadata.gz: 34b3d7b7914831e5ea7edee4c069bb3c9b79fd7c950cbd8a2b23984119eb26f93ad8296e9e87151314493b6041478bd5860c2ebdbd02483a6a556b1dd2c8b895
7
- data.tar.gz: 9dd398f11dbd139db88b156eecf82e39aaaca51ddd4fec3940d18f81fe9a6e183d4260c2fb5dc0b4bdcb1632724c2a662f0c0bf3a0038a31e5e9dc9e233c71f3
6
+ metadata.gz: 1377a7f0ef0c361783c33b63197e47556ce04ecf3404e88e9389f447de82cc7df16f84e324ce9b08eb43e0a23d7d1b28716aa259496aa52f8ebbeb8b7675040a
7
+ data.tar.gz: 17c1f1e4eaa4c0c0137016307e4cf870aca7a11b83710aee7c7595e05b5e57a3a21765a22fb68a6c307af8fd6d4c0d1c164725eba50dbd96378a6ae7677f46ef
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.require_paths = ["lib"]
19
19
 
20
20
 
21
- spec.add_runtime_dependency('parallel588-klaviyo', "~> 0.12.0")
21
+ spec.add_runtime_dependency('parallel588-klaviyo', "~> 0.13.0")
22
22
  spec.add_runtime_dependency('actionmailer', ['>= 3.1', '< 6.0'])
23
23
 
24
24
  spec.add_development_dependency "bundler", "~> 1.11"
@@ -11,8 +11,29 @@ module KlaviyoRails
11
11
  end
12
12
 
13
13
  def deliver!(mail)
14
-
15
- response = client.templates.render_and_send(klaviyo_message(mail))
14
+ if mail['as_event'] && mail['as_event'].value.to_s == 'true'
15
+ response = client.event.track(
16
+ event_name: mail['event_name'].value,
17
+ customer_properties: {
18
+ '$email': mail['to'].to_s
19
+ },
20
+ properties: {
21
+ email: mail['to'].to_s,
22
+ '$event_id': mail.object_id,
23
+ date: Time.current,
24
+ #context: { e: 1 },
25
+ context: mail['context'].value,
26
+ subject: mail['subject'].to_s,
27
+ to: mail['to'].to_s,
28
+ from:{
29
+ name: from_name(mail),
30
+ email: from_email(mail)
31
+ }
32
+ }
33
+ )
34
+ else
35
+ response = client.templates.render_and_send(klaviyo_message(mail))
36
+ end
16
37
 
17
38
  if settings[:return_response]
18
39
  response
@@ -26,22 +47,32 @@ module KlaviyoRails
26
47
  def klaviyo_message(message)
27
48
  @klaviyo_message = {
28
49
  id: message['template_id'].value,
29
- context: message['context'].value,
50
+ context: JSON.dump(message['context'].value),
30
51
  service: settings.fetch(:service) { 'klaviyo' },
31
52
  subject: message['subject'].to_s,
32
53
  to: message['to'].to_s
33
54
  }
34
55
 
35
- if message['from']
36
- @klaviyo_message[:from_email] = message['from'].addresses.first
37
- unless message['from'].display_names.compact.empty?
38
- @klaviyo_message[:from_name] = message['from'].display_names.compact.first
39
- end
40
- end
56
+ @klaviyo_message[:from_email] = from_email(message) if from_email(message)
57
+ @klaviyo_message[:from_name] = from_name(message) if from_name(message)
41
58
 
42
59
  @klaviyo_message
43
60
  end
44
61
 
62
+ def from_email(message)
63
+ @from_email ||= message['from'] && message['from'].addresses.first
64
+ end
65
+
66
+ def from_name(message)
67
+ @from_name ||
68
+ begin
69
+ unless message['from'].display_names.compact.empty?
70
+ @from_name = message['from'].display_names.compact.first
71
+ end
72
+ end
73
+ @from_name
74
+ end
75
+
45
76
  def client
46
77
  @client ||= ::Klaviyo::Client.new(settings[:secret_key], settings[:token])
47
78
  end
@@ -1,3 +1,3 @@
1
1
  module KlaviyoRails
2
- VERSION = "0.7.3"
2
+ VERSION = "0.7.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: klaviyo-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.3
4
+ version: 0.7.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maxim Pechnikov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-06-22 00:00:00.000000000 Z
11
+ date: 2016-06-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parallel588-klaviyo
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.12.0
19
+ version: 0.13.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.12.0
26
+ version: 0.13.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: actionmailer
29
29
  requirement: !ruby/object:Gem::Requirement