sanitize_email 1.2.1 → 1.2.2

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
  SHA1:
3
- metadata.gz: 289e6af15ea68e8b10617cc2803055254cca058a
4
- data.tar.gz: 4404c4335975e05532e2ada1a12f447687aef097
3
+ metadata.gz: 3ad6096e8d943e52cbd727fe7d196d7be384d180
4
+ data.tar.gz: ce38ce644ed4e2eba4ceff0ad8cdfdc4ac3c7aa3
5
5
  SHA512:
6
- metadata.gz: 2c38011a2de7fb6317130462b6ab153b041e46eee7fc2eab19250899dd260ab49b4d962d648cfa529d5df24f003632098bbfd5078956c5b496c1b0f778990c49
7
- data.tar.gz: 15a4766d74108c6ab0e076a328fe0a359972b550281038d260ad87488e5d2f56e1dc5f1e9cd027ffeb10a88a926f535c10df84940fa8b1e3042d6b60fed9b8ca
6
+ metadata.gz: 42032fa9bfa53dfc99739daf9671eb967688deae6f719d51dd005e0f5e5b273efc74607859b33f8ebf40cc61f9bd063a017e06a80d00489a6a11082555902d20
7
+ data.tar.gz: 11bd4dbcc7f931849ec121fe1cb799696102c997ed9288ad1f22d0cfdafd0de278f1d85f205413fcc67188839fa35ba99724e5a436c013681e2ed8e3cf295042
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby-2.3.1
1
+ ruby-2.3.3
data/.travis.yml CHANGED
@@ -6,7 +6,8 @@ rvm:
6
6
  - 2.0
7
7
  - 2.1
8
8
  - 2.2
9
- - 2.3.1
9
+ - 2.3.3
10
+ - 2.4.0
10
11
  # - ruby-head
11
12
  gemfile:
12
13
  - gemfiles/rails_3_0.gemfile
@@ -53,10 +54,16 @@ matrix:
53
54
  gemfile: gemfiles/rails_3_1.gemfile
54
55
  - rvm: 2.2
55
56
  gemfile: gemfiles/rails_5_0.gemfile
56
- - rvm: 2.3.1
57
+ - rvm: 2.3.3
57
58
  gemfile: gemfiles/rails_3_0.gemfile
58
- - rvm: 2.3.1
59
+ - rvm: 2.3.3
59
60
  gemfile: gemfiles/rails_3_1.gemfile
61
+ - rvm: 2.4.0
62
+ gemfile: gemfiles/rails_3_0.gemfile
63
+ - rvm: 2.4.0
64
+ gemfile: gemfiles/rails_3_1.gemfile
65
+ - rvm: 2.4.0
66
+ gemfile: gemfiles/rails_3_2.gemfile
60
67
  # - rvm: ruby-head
61
68
  # gemfile: gemfiles/rails_5_0.gemfile
62
69
  # include:
@@ -64,5 +71,8 @@ matrix:
64
71
  # gemfile: gemfiles/rails_3_0.gemfile
65
72
  # - rvm: 1.9
66
73
  # gemfile: gemfiles/rails_3_1.gemfile
74
+ before_install:
75
+ - gem update --system
76
+ - gem install bundler
67
77
  install:
68
78
  - bundle install
data/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  HEAD
2
2
 
3
+ Version 1.2.2 - FEB.17.2017
4
+ * Improve handling of frozen strings, which are becoming more common by @milgner
5
+
6
+ Version 1.2.1 - NOV.03.2016
7
+ * Fix bug where non-array to address would not get prepended to subject when that feature is turned on
8
+ * SanitizeEmail::TestHelpers::UnexpectedMailType no longer raised by SanitizeEmail::RspecMatchers (a breaking change if you were depending on that for your specs to pass)
9
+ * SanitizeEmail::RspecMatchers are now fully composed Rspec Matchers with much improved spec failure output
10
+ * Many linting improvements
11
+ * Added Rails 5.0 to test matrix
12
+ - but is only tested on travis against 2.0, 2.1, 2.2, and 2.3
13
+ - Rails versions tested are now 3.2, 4.0, 4.1, 4.2, 5.0
14
+ - Runtime code might still be compatible with ruby 1.8.7, should be compatible with 1.9.3
15
+ - Specs suite should still run 1.9.3 if you want to run them manually
16
+
3
17
  Version 1.2.0 - JUL.24.2016
4
18
  * No longer registers instance of SanitizeEmail::Bleach to avoid the dev env reloading problem (fixes #12)
5
19
  * Instead registers SanitizeEmail::Bleach class.
@@ -55,9 +55,12 @@ module SanitizeEmail
55
55
 
56
56
  def self.prepend_custom_subject(message)
57
57
  message.subject = "" unless message.subject
58
- message.subject.prepend(
59
- SanitizeEmail::MailHeaderTools.custom_subject(message)
60
- )
58
+ custom_subject = SanitizeEmail::MailHeaderTools.custom_subject(message)
59
+ if message.subject.frozen?
60
+ message.subject = "#{custom_subject}#{message.subject}"
61
+ else
62
+ message.subject.prepend(custom_subject)
63
+ end
61
64
  end
62
65
 
63
66
  # According to https://github.com/mikel/mail
@@ -2,5 +2,5 @@
2
2
  # Released under the MIT license
3
3
 
4
4
  module SanitizeEmail
5
- VERSION = "1.2.1".freeze
5
+ VERSION = "1.2.2".freeze
6
6
  end
@@ -106,12 +106,27 @@ describe SanitizeEmail do
106
106
  end
107
107
  end
108
108
 
109
+ def sanitary_mail_delivery_frozen_strings(config_options = {})
110
+ SanitizeEmail.sanitary(config_options) do
111
+ mail_delivery_frozen_strings
112
+ end
113
+ end
114
+
109
115
  def unsanitary_mail_delivery
110
116
  SanitizeEmail.unsanitary do
111
117
  mail_delivery
112
118
  end
113
119
  end
114
120
 
121
+ def mail_delivery_frozen_strings
122
+ @email_message = Mail.deliver do
123
+ from "from@example.org".freeze
124
+ to "to@example.org".freeze
125
+ subject "original subject".freeze
126
+ body "funky fresh".freeze
127
+ end
128
+ end
129
+
115
130
  def mail_delivery_hot_mess
116
131
  @email_message = Mail.deliver do
117
132
  from "same@example.org"
@@ -470,6 +485,16 @@ describe SanitizeEmail do
470
485
  end
471
486
  end
472
487
 
488
+ context "with frozen string (literals)" do
489
+ it "prepends strings without exception" do
490
+ configure_sanitize_email(
491
+ environment: "{{serverABC}}",
492
+ use_actual_environment_prepended_to_subject: true
493
+ )
494
+ expect { sanitary_mail_delivery_frozen_strings }.to_not raise_exception
495
+ end
496
+ end
497
+
473
498
  context "force_sanitize" do
474
499
  context "true" do
475
500
  before(:each) do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sanitize_email
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Boling
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2016-11-03 00:00:00.000000000 Z
13
+ date: 2017-02-20 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
@@ -290,7 +290,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
290
290
  version: '0'
291
291
  requirements: []
292
292
  rubyforge_project:
293
- rubygems_version: 2.5.1
293
+ rubygems_version: 2.6.8
294
294
  signing_key:
295
295
  specification_version: 4
296
296
  summary: Email Condom for your Ruby Server