klaviyo-rails 0.7.3 → 0.7.9

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
- SHA1:
3
- metadata.gz: 626e74f9be017b20bf5ac36ca6cd85be887cdafe
4
- data.tar.gz: f2343591fe5f99da6025643f43caaadf653a7390
2
+ SHA256:
3
+ metadata.gz: 92c0e863e3937e4de230cb35d0ba06da044e29b967bc1d0c94cca26f4e862023
4
+ data.tar.gz: 5aa764c815c15fc5db4bc5edf0659338815e92c9c3b15337eef7009397e21230
5
5
  SHA512:
6
- metadata.gz: 34b3d7b7914831e5ea7edee4c069bb3c9b79fd7c950cbd8a2b23984119eb26f93ad8296e9e87151314493b6041478bd5860c2ebdbd02483a6a556b1dd2c8b895
7
- data.tar.gz: 9dd398f11dbd139db88b156eecf82e39aaaca51ddd4fec3940d18f81fe9a6e183d4260c2fb5dc0b4bdcb1632724c2a662f0c0bf3a0038a31e5e9dc9e233c71f3
6
+ metadata.gz: 9e0b596a5393525b7f6011674db157e114221743a06581950bad76af68f9cb945aac928b27471f8a2fe9d54d68e27581326da8a5dec43323e214036a02c8e1e8
7
+ data.tar.gz: a95f1580e410daffb5ff31394db49bb8f182f37ad290d02118994a7d9b1fb1d3ca3883fcdabd953f3a353ad40d1a31356e6aef5db1f364a6b07b91c4e63d643c
@@ -3,25 +3,24 @@ lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'klaviyo-rails/version'
5
5
  Gem::Specification.new do |spec|
6
- spec.name = "klaviyo-rails"
6
+ spec.name = 'klaviyo-rails'
7
7
  spec.version = KlaviyoRails::VERSION
8
- spec.authors = ["Maxim Pechnikov"]
9
- spec.email = ["parallel588@gmail.com"]
8
+ spec.licenses = ['MIT']
9
+ spec.authors = ['Maxim Pechnikov']
10
+ spec.email = ['parallel588@gmail.com']
10
11
 
11
12
  spec.description = %q{The Klaviyo Rails Gem is a drop-in plug-in for ActionMailer to send emails via Klaviyo, an email delivery service for web apps.}
12
13
  spec.homepage = %q{http://klaviyo.com}
13
14
  spec.summary = %q{Klaviyo adapter for ActionMailer}
14
15
 
15
16
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
16
- spec.bindir = "exe"
17
+ spec.bindir = 'exe'
17
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
18
- spec.require_paths = ["lib"]
19
+ spec.require_paths = ['lib']
19
20
 
21
+ spec.add_runtime_dependency 'parallel588-klaviyo', '~> 0.14.8'
20
22
 
21
- spec.add_runtime_dependency('parallel588-klaviyo', "~> 0.12.0")
22
- spec.add_runtime_dependency('actionmailer', ['>= 3.1', '< 6.0'])
23
-
24
- spec.add_development_dependency "bundler", "~> 1.11"
25
- spec.add_development_dependency "rake", "~> 10.0"
26
- spec.add_development_dependency "rspec", "~> 3.0"
23
+ spec.add_development_dependency 'bundler', '~> 1.11'
24
+ spec.add_development_dependency 'rake', '~> 12.3', '>= 12.3.3'
25
+ spec.add_development_dependency 'rspec', '~> 3.0'
27
26
  end
@@ -1,19 +1,8 @@
1
- require 'action_mailer'
2
1
  require 'klaviyo'
3
2
  require 'klaviyo-rails/version'
4
3
  require 'klaviyo-rails/delivery_method'
5
4
 
6
5
  module KlaviyoRails
7
- def install
8
- ActionMailer::Base.add_delivery_method(
9
- :klaviyo, KlaviyoRails::DeliveryMethod
10
- )
11
- end
12
- module_function :install
13
6
  end
14
7
 
15
- if defined?(Rails)
16
- require 'klaviyo-rails/railtie'
17
- else
18
- KlaviyoRails.install
19
- end
8
+ require 'klaviyo-rails/railtie' if defined?(Rails::Railtie)
@@ -11,8 +11,28 @@ 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: JSON.load(mail['context'].value),
25
+ subject: mail['subject'].to_s,
26
+ to: mail['to'].to_s,
27
+ from:{
28
+ name: from_name(mail),
29
+ email: from_email(mail)
30
+ }
31
+ }
32
+ )
33
+ else
34
+ response = client.templates.render_and_send(klaviyo_message(mail))
35
+ end
16
36
 
17
37
  if settings[:return_response]
18
38
  response
@@ -32,16 +52,26 @@ module KlaviyoRails
32
52
  to: message['to'].to_s
33
53
  }
34
54
 
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
55
+ @klaviyo_message[:from_email] = from_email(message) if from_email(message)
56
+ @klaviyo_message[:from_name] = from_name(message) if from_name(message)
41
57
 
42
58
  @klaviyo_message
43
59
  end
44
60
 
61
+ def from_email(message)
62
+ @from_email ||= message['from'] && message['from'].addresses.first
63
+ end
64
+
65
+ def from_name(message)
66
+ @from_name ||
67
+ begin
68
+ unless message['from'].display_names.compact.empty?
69
+ @from_name = message['from'].display_names.compact.first
70
+ end
71
+ end
72
+ @from_name
73
+ end
74
+
45
75
  def client
46
76
  @client ||= ::Klaviyo::Client.new(settings[:secret_key], settings[:token])
47
77
  end
@@ -2,7 +2,9 @@ module KlaviyoRails
2
2
  class Railtie < Rails::Railtie
3
3
  initializer 'klaviyo-rails', before: 'action_mailer.set_configs' do
4
4
  ActiveSupport.on_load :action_mailer do
5
- KlaviyoRails.install
5
+ ActionMailer::Base.add_delivery_method(
6
+ :klaviyo, KlaviyoRails::DeliveryMethod
7
+ )
6
8
  end
7
9
  end
8
10
  end
@@ -1,3 +1,3 @@
1
1
  module KlaviyoRails
2
- VERSION = "0.7.3"
2
+ VERSION = "0.7.9"
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.9
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: 2020-08-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parallel588-klaviyo
@@ -16,34 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.12.0
19
+ version: 0.14.8
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
27
- - !ruby/object:Gem::Dependency
28
- name: actionmailer
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '3.1'
34
- - - "<"
35
- - !ruby/object:Gem::Version
36
- version: '6.0'
37
- type: :runtime
38
- prerelease: false
39
- version_requirements: !ruby/object:Gem::Requirement
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- version: '3.1'
44
- - - "<"
45
- - !ruby/object:Gem::Version
46
- version: '6.0'
26
+ version: 0.14.8
47
27
  - !ruby/object:Gem::Dependency
48
28
  name: bundler
49
29
  requirement: !ruby/object:Gem::Requirement
@@ -64,14 +44,20 @@ dependencies:
64
44
  requirements:
65
45
  - - "~>"
66
46
  - !ruby/object:Gem::Version
67
- version: '10.0'
47
+ version: '12.3'
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: 12.3.3
68
51
  type: :development
69
52
  prerelease: false
70
53
  version_requirements: !ruby/object:Gem::Requirement
71
54
  requirements:
72
55
  - - "~>"
73
56
  - !ruby/object:Gem::Version
74
- version: '10.0'
57
+ version: '12.3'
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 12.3.3
75
61
  - !ruby/object:Gem::Dependency
76
62
  name: rspec
77
63
  requirement: !ruby/object:Gem::Requirement
@@ -108,7 +94,8 @@ files:
108
94
  - lib/klaviyo-rails/railtie.rb
109
95
  - lib/klaviyo-rails/version.rb
110
96
  homepage: http://klaviyo.com
111
- licenses: []
97
+ licenses:
98
+ - MIT
112
99
  metadata: {}
113
100
  post_install_message:
114
101
  rdoc_options: []
@@ -126,9 +113,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
126
113
  version: '0'
127
114
  requirements: []
128
115
  rubyforge_project:
129
- rubygems_version: 2.5.1
116
+ rubygems_version: 2.7.3
130
117
  signing_key:
131
118
  specification_version: 4
132
119
  summary: Klaviyo adapter for ActionMailer
133
120
  test_files: []
134
- has_rdoc: