rspec-mailer_matcher 0.1.0 → 0.1.1

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: 4cfeec0a2cbb116dbb947b9230d62196496c0e8193b13b8c6f9c8d5fc368f3e2
4
- data.tar.gz: 5069f091c4463e70c97383a1b82418623d592264f187f4ee2da3d1717cb6aacd
3
+ metadata.gz: ba5fde2c0ab262b75fa9dbbbf93e7b390d2bf55aa780cfe132457716e1d8c8d0
4
+ data.tar.gz: d526e3c5e081c0f645b40774811661b96b12f5be4a1bd84d7e44b9a40bb0d094
5
5
  SHA512:
6
- metadata.gz: 149606d6ba78736034386624c14f0dc850b85d65757f6989cfca2fde2b45214c6e50844a0bb6c71e01d6beb578841c18c5977932ffea9a393f2707831eb724b9
7
- data.tar.gz: 26d8e3a23a2ed2816c298e0261477f6951bfd0695eafbe5bb2193f3698820d7e9f18b2affefe2997be23cd477fc7fff6ed9c5a289bca5a48fc49f760e586740e
6
+ metadata.gz: 841c3c2044b348dd668c59341c80bb581e822b43c521bcf6134cba974c0551733968d79456bc5b2249b3a5c745e8ed0b1985fad0b7920947c36b8a5676046f26
7
+ data.tar.gz: 257c272b6241f1f45241c90ef2e9747d04a92dbe05ce931cc3d1d603d0fa061a908b308a348580397670a0a04ce09896e8dc9a3aa377eff30cd3b9f1cd93eb35
@@ -1,12 +1,66 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rspec-mailer_matcher (0.1.0)
4
+ rspec-mailer_matcher (0.1.1)
5
+ actionmailer
5
6
 
6
7
  GEM
7
8
  remote: https://rubygems.org/
8
9
  specs:
10
+ actionmailer (5.2.2)
11
+ actionpack (= 5.2.2)
12
+ actionview (= 5.2.2)
13
+ activejob (= 5.2.2)
14
+ mail (~> 2.5, >= 2.5.4)
15
+ rails-dom-testing (~> 2.0)
16
+ actionpack (5.2.2)
17
+ actionview (= 5.2.2)
18
+ activesupport (= 5.2.2)
19
+ rack (~> 2.0)
20
+ rack-test (>= 0.6.3)
21
+ rails-dom-testing (~> 2.0)
22
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
23
+ actionview (5.2.2)
24
+ activesupport (= 5.2.2)
25
+ builder (~> 3.1)
26
+ erubi (~> 1.4)
27
+ rails-dom-testing (~> 2.0)
28
+ rails-html-sanitizer (~> 1.0, >= 1.0.3)
29
+ activejob (5.2.2)
30
+ activesupport (= 5.2.2)
31
+ globalid (>= 0.3.6)
32
+ activesupport (5.2.2)
33
+ concurrent-ruby (~> 1.0, >= 1.0.2)
34
+ i18n (>= 0.7, < 2)
35
+ minitest (~> 5.1)
36
+ tzinfo (~> 1.1)
37
+ builder (3.2.3)
38
+ concurrent-ruby (1.1.4)
39
+ crass (1.0.4)
9
40
  diff-lcs (1.3)
41
+ erubi (1.8.0)
42
+ globalid (0.4.1)
43
+ activesupport (>= 4.2.0)
44
+ i18n (1.4.0)
45
+ concurrent-ruby (~> 1.0)
46
+ loofah (2.2.3)
47
+ crass (~> 1.0.2)
48
+ nokogiri (>= 1.5.9)
49
+ mail (2.7.1)
50
+ mini_mime (>= 0.1.1)
51
+ mini_mime (1.0.1)
52
+ mini_portile2 (2.4.0)
53
+ minitest (5.11.3)
54
+ nokogiri (1.9.1)
55
+ mini_portile2 (~> 2.4.0)
56
+ rack (2.0.6)
57
+ rack-test (1.1.0)
58
+ rack (>= 1.0, < 3)
59
+ rails-dom-testing (2.0.3)
60
+ activesupport (>= 4.2.0)
61
+ nokogiri (>= 1.6)
62
+ rails-html-sanitizer (1.0.4)
63
+ loofah (~> 2.2, >= 2.2.2)
10
64
  rake (10.5.0)
11
65
  rspec (3.8.0)
12
66
  rspec-core (~> 3.8.0)
@@ -21,6 +75,9 @@ GEM
21
75
  diff-lcs (>= 1.2.0, < 2.0)
22
76
  rspec-support (~> 3.8.0)
23
77
  rspec-support (3.8.0)
78
+ thread_safe (0.3.6)
79
+ tzinfo (1.2.5)
80
+ thread_safe (~> 0.1)
24
81
 
25
82
  PLATFORMS
26
83
  ruby
@@ -32,4 +89,4 @@ DEPENDENCIES
32
89
  rspec-mailer_matcher!
33
90
 
34
91
  BUNDLED WITH
35
- 1.17.1
92
+ 1.17.2
data/README.md CHANGED
@@ -20,7 +20,21 @@ Or install it yourself as:
20
20
  ## Usage
21
21
 
22
22
  ```ruby
23
- expect { _any_action_ }.to deliver(to: 'to@example.org', from: 'from@example.org', subject: 'Hello world')
23
+ it {
24
+ expect { _any_action_ }.to deliver(to: 'to@example.org', from: 'from@example.org', subject: 'Hello world')
25
+ }
26
+ ```
27
+
28
+ or using `subject` block
29
+
30
+ ```ruby
31
+ subject {
32
+ proc { _any_action_ }
33
+ }
34
+
35
+ it {
36
+ is_expected.to deliver(to: 'to@example.org', from: 'from@example.org', subject: 'Hello world')
37
+ }
24
38
  ```
25
39
 
26
40
  ## Development
@@ -1,3 +1,3 @@
1
1
  module MailerMatcher
2
- VERSION = '0.1.0'
2
+ VERSION = '0.1.1'
3
3
  end
@@ -1,29 +1,32 @@
1
1
  require 'mailer_matcher/version'
2
+ require 'action_mailer'
2
3
 
3
4
  RSpec::Matchers.define :deliver do
4
5
  supports_block_expectations
5
6
 
6
7
  match do
7
8
  mail_keys = %i[to from subject]
8
- if actual.is_a?(Proc) && expected.is_a?(Hash) && (expected.keys - mail_keys).blank?
9
+ if actual.is_a?(Proc) && expected.is_a?(Hash) && (expected.keys - mail_keys).empty?
9
10
  deliveries = ActionMailer::Base.deliveries.clone
10
11
  actual.call
11
12
  new_deliveries = ActionMailer::Base.deliveries - deliveries
12
13
 
13
14
  expected_mail = new_deliveries.find { |mail|
14
- matched = true
15
- if expected[:to].present?
15
+ unless expected[:to].nil?
16
16
  matched = mail.to.include? expected[:to]
17
+ next unless matched
17
18
  end
18
- if expected[:subject].present?
19
+ unless expected[:subject].nil?
19
20
  matched = mail.subject == expected[:subject]
21
+ next unless matched
20
22
  end
21
- if expected[:from].present?
23
+ unless expected[:from].nil?
22
24
  matched = mail.from.include? expected[:from]
25
+ next unless matched
23
26
  end
24
- matched
27
+ true
25
28
  }
26
- expected_mail.present?
29
+ !expected_mail.nil?
27
30
  else
28
31
  false
29
32
  end
@@ -36,6 +36,7 @@ Gem::Specification.new do |spec|
36
36
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
37
37
  spec.require_paths = ["lib"]
38
38
 
39
+ spec.add_dependency "actionmailer"
39
40
  spec.add_development_dependency "bundler", "~> 1.17"
40
41
  spec.add_development_dependency "rake", "~> 10.0"
41
42
  spec.add_development_dependency "rspec", "~> 3.0"
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-mailer_matcher
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - d-mato
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-12-23 00:00:00.000000000 Z
11
+ date: 2019-01-02 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: actionmailer
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -91,8 +105,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
91
105
  - !ruby/object:Gem::Version
92
106
  version: '0'
93
107
  requirements: []
94
- rubyforge_project:
95
- rubygems_version: 2.7.6
108
+ rubygems_version: 3.0.1
96
109
  signing_key:
97
110
  specification_version: 4
98
111
  summary: Rspec macther for ActionMailer