ahoy_email 1.0.2 → 1.0.3

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
  SHA256:
3
- metadata.gz: e39b9c6d5b1c32cc0a7a1bcc5da1e08205d6187e8eb5aec1505295ac1de36c64
4
- data.tar.gz: c8f94cc014a6ab2cebe9c718a02989505fa9086d4b6bdbaed1e35a13bf269259
3
+ metadata.gz: 527a708aff3145893b72f1ca737ba23c89e101fd4619d24469f941e909dd6c9b
4
+ data.tar.gz: ac041969c7872230cca421cb08981b23a4a070db1b24050f80b7924c5c6c1a04
5
5
  SHA512:
6
- metadata.gz: fc2721f83dc1eb2098d4d16166c3e78a07184007b61fd320ab4e50b26dc8dcc34583482baf8af1154d1b12e904c9113a69f4f3d24b18c1efc5dc26cf88e19aa2
7
- data.tar.gz: 20f100d9f5c34ed8553ef778e4330df5cf35458d50f1bcfb2a28cdf3e6b8750d59b65b1dc153b23c773db4959ae10e051a28828852b0da06064c18a10f8c685c
6
+ metadata.gz: a7e5203d5932c1d47d47c58c56abce98ce528ecfeb4f775f434e2555a1e241697eb5a9df4fcd2c031dbee98cb6b767edb3bb65af206baa62e9da533bd5c90add
7
+ data.tar.gz: dbfbf3057ce14095875a15be2c80654ff5561c8b7f83d95a91fcc1ec663ab668083cdcc236b0a4afa1d0417e0885ca58f89950e21b593370949c9dec5ea5bffb
@@ -1,3 +1,8 @@
1
+ ## 1.0.3
2
+
3
+ - Fixed custom message model
4
+ - Fixed `message` option with proc
5
+
1
6
  ## 1.0.2
2
7
 
3
8
  - Fixed error with Ruby < 2.5
@@ -1,4 +1,4 @@
1
- Copyright (c) 2014-2018 Andrew Kane
1
+ Copyright (c) 2014-2019 Andrew Kane
2
2
 
3
3
  MIT License
4
4
 
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
+ ```
@@ -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 = (defined?(@message_model) && @message_model) || ::Ahoy::Message
71
+ model = defined?(@@message_model) && @@message_model
70
72
  model = model.call if model.respond_to?(:call)
71
73
  model
72
74
  end
@@ -24,10 +24,14 @@ module AhoyEmail
24
24
  end
25
25
 
26
26
  def save_ahoy_options
27
- if ahoy_options[:message]
28
- Safely.safely do
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
@@ -1,3 +1,3 @@
1
1
  module AhoyEmail
2
- VERSION = "1.0.2"
2
+ VERSION = "1.0.3"
3
3
  end
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.2
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: 2018-10-02 00:00:00.000000000 Z
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: '0'
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: '0'
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.7
209
+ rubygems_version: 2.7.6
210
210
  signing_key:
211
211
  specification_version: 4
212
212
  summary: Email analytics for Rails