mailcrate 0.0.3 → 0.0.6

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.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/mailcrate.rb +14 -12
  3. metadata +8 -10
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 50ce84b7ea6e73089308e4ee83f3721541698b1a
4
+ data.tar.gz: a80fdec63e624fb7fa55f8f583901922842f6d65
5
+ SHA512:
6
+ metadata.gz: 862aaf48feeb51c8c5205970a09b226137231a9acc8085b08588586d56c1276ab3067af955562229458737fba742596f0aefad57116b6a8f28ade1203b61ad1f
7
+ data.tar.gz: 88e6a4513d5810beea00bba5c361913c81d109dc7019cf55667a80d431809664000d074d3a7b8b0df80cba2fcf29071b97dbe77fb5bed1f8e50a599ee45890cb
@@ -22,10 +22,11 @@ class Mailcrate
22
22
 
23
23
  def stop
24
24
  self.class.used_ports.delete(@port)
25
+ @thread.kill unless @thread.nil?
26
+ @thread.join unless @thread.nil?
25
27
  @service.close unless @service.nil? || @service.closed?
26
- @thread.kill
27
28
  end
28
-
29
+
29
30
  private
30
31
 
31
32
  def accept(service)
@@ -34,22 +35,22 @@ class Mailcrate
34
35
  def get_line
35
36
  line = gets
36
37
  line.chomp! unless line.nil?
37
- line
38
+ line
38
39
  end
39
40
  end
40
-
41
+
41
42
  begin
42
43
  serve(session)
43
44
  rescue Exception => e
44
- puts e.message
45
+ puts e.message
45
46
  end
46
- end
47
+ end
47
48
  end
48
49
 
49
50
  def serve(connection)
50
51
  connection.puts("220 localhost mailcrate ready ESTMP")
51
52
  helo = connection.get_line
52
-
53
+
53
54
  if helo =~ /^EHLO\s+/
54
55
  connection.puts "250-localhost mailcrate here"
55
56
  connection.puts "250 HELP"
@@ -57,9 +58,9 @@ class Mailcrate
57
58
 
58
59
  from = connection.get_line
59
60
  connection.puts("250 ok")
60
-
61
+
61
62
  to_list = []
62
-
63
+
63
64
  loop do
64
65
  to = connection.get_line
65
66
  break if to.nil?
@@ -72,7 +73,7 @@ class Mailcrate
72
73
  connection.puts( "250 ok" )
73
74
  end
74
75
  end
75
-
76
+
76
77
  lines = []
77
78
  loop do
78
79
  line = connection.get_line
@@ -83,13 +84,14 @@ class Mailcrate
83
84
  connection.puts "250 ok"
84
85
  connection.gets
85
86
  connection.puts "221 bye"
86
- connection.close
87
87
 
88
88
  @mails << {
89
89
  :from => from.gsub(/MAIL FROM:\s*/, ''),
90
90
  :to_list => to_list.map { |to| to.gsub( /RCPT TO:\s*/, "" ) },
91
- :body => lines.join( "\n" )
91
+ :body => lines.join( "\n" )
92
92
  }
93
+
94
+ connection.close
93
95
  end
94
96
 
95
97
  end
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mailcrate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
5
- prerelease:
4
+ version: 0.0.6
6
5
  platform: ruby
7
6
  authors:
8
7
  - Adam Scott
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-09-30 00:00:00.000000000 Z
11
+ date: 2016-03-13 00:00:00.000000000 Z
13
12
  dependencies: []
14
13
  description: A mock SMTP server that can be run and inspected from tests. The server
15
14
  runs in memory and received messages can be retrieved.
@@ -22,26 +21,25 @@ files:
22
21
  homepage: https://github.com/adscott/mailcrate
23
22
  licenses:
24
23
  - MIT
24
+ metadata: {}
25
25
  post_install_message:
26
26
  rdoc_options: []
27
27
  require_paths:
28
28
  - lib
29
29
  required_ruby_version: !ruby/object:Gem::Requirement
30
- none: false
31
30
  requirements:
32
- - - ! '>='
31
+ - - ">="
33
32
  - !ruby/object:Gem::Version
34
- version: '0'
33
+ version: 2.0.0
35
34
  required_rubygems_version: !ruby/object:Gem::Requirement
36
- none: false
37
35
  requirements:
38
- - - ! '>='
36
+ - - ">="
39
37
  - !ruby/object:Gem::Version
40
38
  version: '0'
41
39
  requirements: []
42
40
  rubyforge_project:
43
- rubygems_version: 1.8.21
41
+ rubygems_version: 2.5.1
44
42
  signing_key:
45
- specification_version: 3
43
+ specification_version: 4
46
44
  summary: A mock SMTP server that can be run and inspected from tests.
47
45
  test_files: []