ahoy_email 1.0.2 → 1.0.3
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 +4 -4
- data/CHANGELOG.md +5 -0
- data/LICENSE.txt +1 -1
- data/README.md +9 -0
- data/lib/ahoy_email.rb +5 -3
- data/lib/ahoy_email/mailer.rb +7 -3
- data/lib/ahoy_email/version.rb +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 527a708aff3145893b72f1ca737ba23c89e101fd4619d24469f941e909dd6c9b
|
4
|
+
data.tar.gz: ac041969c7872230cca421cb08981b23a4a070db1b24050f80b7924c5c6c1a04
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a7e5203d5932c1d47d47c58c56abce98ce528ecfeb4f775f434e2555a1e241697eb5a9df4fcd2c031dbee98cb6b767edb3bb65af206baa62e9da533bd5c90add
|
7
|
+
data.tar.gz: dbfbf3057ce14095875a15be2c80654ff5561c8b7f83d95a91fcc1ec663ab668083cdcc236b0a4afa1d0417e0885ca58f89950e21b593370949c9dec5ea5bffb
|
data/CHANGELOG.md
CHANGED
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -325,3 +325,12 @@ Everyone is encouraged to help improve this project. Here are a few ways you can
|
|
325
325
|
- Fix bugs and [submit pull requests](https://github.com/ankane/ahoy_email/pulls)
|
326
326
|
- Write, clarify, or fix documentation
|
327
327
|
- Suggest or add new features
|
328
|
+
|
329
|
+
To get started with development and testing:
|
330
|
+
|
331
|
+
```sh
|
332
|
+
git clone https://github.com/ankane/ahoy_email.git
|
333
|
+
cd ahoy_email
|
334
|
+
bundle install
|
335
|
+
rake test
|
336
|
+
```
|
data/lib/ahoy_email.rb
CHANGED
@@ -29,7 +29,7 @@ module AhoyEmail
|
|
29
29
|
utm_term: nil,
|
30
30
|
utm_content: nil,
|
31
31
|
utm_campaign: -> { action_name },
|
32
|
-
user: -> { @user || (respond_to?(:params) && params && params[:user]) || (message.to.size == 1 ? (User.find_by(email: message.to.first) rescue nil) : nil) },
|
32
|
+
user: -> { @user || (respond_to?(:params) && params && params[:user]) || (message.to.try(:size) == 1 ? (User.find_by(email: message.to.first) rescue nil) : nil) },
|
33
33
|
mailer: -> { "#{self.class.name}##{action_name}" },
|
34
34
|
url_options: {},
|
35
35
|
extra: {},
|
@@ -41,7 +41,7 @@ module AhoyEmail
|
|
41
41
|
|
42
42
|
ahoy_message = AhoyEmail.message_model.new
|
43
43
|
ahoy_message.to = Array(message.to).join(", ") if ahoy_message.respond_to?(:to=)
|
44
|
-
ahoy_message.user = data[:user]
|
44
|
+
ahoy_message.user = data[:user] if ahoy_message.respond_to?(:user=)
|
45
45
|
|
46
46
|
ahoy_message.mailer = data[:mailer] if ahoy_message.respond_to?(:mailer=)
|
47
47
|
ahoy_message.subject = message.subject if ahoy_message.respond_to?(:subject=)
|
@@ -65,8 +65,10 @@ module AhoyEmail
|
|
65
65
|
|
66
66
|
self.preserve_callbacks = []
|
67
67
|
|
68
|
+
self.message_model = -> { ::Ahoy::Message }
|
69
|
+
|
68
70
|
def self.message_model
|
69
|
-
model =
|
71
|
+
model = defined?(@@message_model) && @@message_model
|
70
72
|
model = model.call if model.respond_to?(:call)
|
71
73
|
model
|
72
74
|
end
|
data/lib/ahoy_email/mailer.rb
CHANGED
@@ -24,10 +24,14 @@ module AhoyEmail
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def save_ahoy_options
|
27
|
-
|
28
|
-
|
27
|
+
Safely.safely do
|
28
|
+
# do message first for performance
|
29
|
+
message = ahoy_options[:message]
|
30
|
+
message = message.respond_to?(:call) ? instance_exec(&message) : message
|
31
|
+
|
32
|
+
if message
|
29
33
|
options = {}
|
30
|
-
ahoy_options.each do |k, v|
|
34
|
+
ahoy_options.except(:message).each do |k, v|
|
31
35
|
# execute options in mailer content
|
32
36
|
options[k] = v.respond_to?(:call) ? instance_exec(&v) : v
|
33
37
|
end
|
data/lib/ahoy_email/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ahoy_email
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Kane
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-02-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionmailer
|
@@ -154,16 +154,16 @@ dependencies:
|
|
154
154
|
name: sqlite3
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
|
-
- - "
|
157
|
+
- - "~>"
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version:
|
159
|
+
version: 1.3.0
|
160
160
|
type: :development
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
|
-
- - "
|
164
|
+
- - "~>"
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version:
|
166
|
+
version: 1.3.0
|
167
167
|
description:
|
168
168
|
email: andrew@chartkick.com
|
169
169
|
executables: []
|
@@ -206,7 +206,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
206
206
|
version: '0'
|
207
207
|
requirements: []
|
208
208
|
rubyforge_project:
|
209
|
-
rubygems_version: 2.7.
|
209
|
+
rubygems_version: 2.7.6
|
210
210
|
signing_key:
|
211
211
|
specification_version: 4
|
212
212
|
summary: Email analytics for Rails
|