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 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