rspec-mailer_matcher 0.1.0 → 0.1.1

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