postmark-mitt 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +3 -4
- data/README.rdoc +0 -2
- data/Rakefile +2 -2
- data/VERSION +1 -1
- data/lib/postmark/mitt.rb +18 -10
- data/postmark-mitt.gemspec +17 -25
- data/spec/fixtures/email.json +12 -0
- data/spec/postmark/mitt_spec.rb +16 -0
- metadata +68 -112
data/Gemfile
CHANGED
data/README.rdoc
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
= Postmark Mitt
|
2
2
|
|
3
|
-
(This is only a prototype at the moment, it hasn't been built as a real gem yet. There are no tests.)
|
4
|
-
|
5
3
|
This gem provides a little wrapper object for taking JSON from Postmark's incoming email system and composing it back into an object resembling an email. This comes in handy when you are trying to figure out what to do with the email.
|
6
4
|
|
7
5
|
== Install
|
data/Rakefile
CHANGED
@@ -15,8 +15,8 @@ Jeweler::Tasks.new do |gem|
|
|
15
15
|
gem.name = "postmark-mitt"
|
16
16
|
gem.homepage = "http://github.com/r38y/postmark-mitt"
|
17
17
|
gem.license = "MIT"
|
18
|
-
gem.summary = %q{
|
19
|
-
gem.description = %q{
|
18
|
+
gem.summary = %q{Mitt for incoming email through Postmark}
|
19
|
+
gem.description = %q{This gem will help you take JSON posted to your app from incoming email through Postmark. It will turn it back into an object with methods to help inspect the contents of the email}
|
20
20
|
gem.email = "randy@forge38.com"
|
21
21
|
gem.authors = ["Randy Schmidt"]
|
22
22
|
gem.add_dependency "multi_json"
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.6
|
data/lib/postmark/mitt.rb
CHANGED
@@ -20,19 +20,11 @@ module Postmark
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def from_email
|
23
|
-
|
24
|
-
match[1].strip
|
25
|
-
else
|
26
|
-
from
|
27
|
-
end
|
23
|
+
source["FromFull"]["Email"] || from
|
28
24
|
end
|
29
25
|
|
30
26
|
def from_name
|
31
|
-
|
32
|
-
match[1].strip
|
33
|
-
else
|
34
|
-
from
|
35
|
-
end
|
27
|
+
source["FromFull"]["Name"] || from
|
36
28
|
end
|
37
29
|
|
38
30
|
def to
|
@@ -43,10 +35,26 @@ module Postmark
|
|
43
35
|
source["Bcc"]
|
44
36
|
end
|
45
37
|
|
38
|
+
def bcc_email
|
39
|
+
source["BccFull"]["Email"] || bcc
|
40
|
+
end
|
41
|
+
|
42
|
+
def bcc_name
|
43
|
+
source["BccFull"]["Name"] || bcc
|
44
|
+
end
|
45
|
+
|
46
46
|
def cc
|
47
47
|
source["Cc"]
|
48
48
|
end
|
49
49
|
|
50
|
+
def cc_email
|
51
|
+
source["CcFull"]["Email"] || cc
|
52
|
+
end
|
53
|
+
|
54
|
+
def cc_name
|
55
|
+
source["CcFull"]["Name"] || cc
|
56
|
+
end
|
57
|
+
|
50
58
|
def reply_to
|
51
59
|
source["ReplyTo"]
|
52
60
|
end
|
data/postmark-mitt.gemspec
CHANGED
@@ -4,14 +4,14 @@
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "0.0.
|
7
|
+
s.name = "postmark-mitt"
|
8
|
+
s.version = "0.0.6"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Randy Schmidt"]
|
12
|
-
s.date =
|
13
|
-
s.description =
|
14
|
-
s.email =
|
12
|
+
s.date = "2012-04-11"
|
13
|
+
s.description = "This gem will help you take JSON posted to your app from incoming email through Postmark. It will turn it back into an object with methods to help inspect the contents of the email"
|
14
|
+
s.email = "randy@forge38.com"
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE",
|
17
17
|
"README.rdoc"
|
@@ -30,44 +30,36 @@ Gem::Specification.new do |s|
|
|
30
30
|
"spec/postmark/mitt_spec.rb",
|
31
31
|
"spec/spec_helper.rb"
|
32
32
|
]
|
33
|
-
s.homepage =
|
33
|
+
s.homepage = "http://github.com/r38y/postmark-mitt"
|
34
34
|
s.licenses = ["MIT"]
|
35
35
|
s.require_paths = ["lib"]
|
36
|
-
s.rubygems_version =
|
37
|
-
s.summary =
|
38
|
-
s.test_files = [
|
39
|
-
"spec/postmark/mitt_spec.rb",
|
40
|
-
"spec/spec_helper.rb"
|
41
|
-
]
|
36
|
+
s.rubygems_version = "1.8.15"
|
37
|
+
s.summary = "Mitt for incoming email through Postmark"
|
42
38
|
|
43
39
|
if s.respond_to? :specification_version then
|
44
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
45
40
|
s.specification_version = 3
|
46
41
|
|
47
42
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
48
43
|
s.add_runtime_dependency(%q<json_pure>, [">= 0"])
|
49
44
|
s.add_runtime_dependency(%q<multi_json>, [">= 0"])
|
50
|
-
s.add_development_dependency(%q<rspec>, ["~> 2.
|
51
|
-
s.add_development_dependency(%q<bundler>, ["~> 1.0
|
52
|
-
s.add_development_dependency(%q<jeweler>, ["~> 1.
|
53
|
-
s.add_development_dependency(%q<rcov>, [">= 0"])
|
45
|
+
s.add_development_dependency(%q<rspec>, ["~> 2.9.0"])
|
46
|
+
s.add_development_dependency(%q<bundler>, ["~> 1.0"])
|
47
|
+
s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
|
54
48
|
s.add_runtime_dependency(%q<multi_json>, [">= 0"])
|
55
49
|
else
|
56
50
|
s.add_dependency(%q<json_pure>, [">= 0"])
|
57
51
|
s.add_dependency(%q<multi_json>, [">= 0"])
|
58
|
-
s.add_dependency(%q<rspec>, ["~> 2.
|
59
|
-
s.add_dependency(%q<bundler>, ["~> 1.0
|
60
|
-
s.add_dependency(%q<jeweler>, ["~> 1.
|
61
|
-
s.add_dependency(%q<rcov>, [">= 0"])
|
52
|
+
s.add_dependency(%q<rspec>, ["~> 2.9.0"])
|
53
|
+
s.add_dependency(%q<bundler>, ["~> 1.0"])
|
54
|
+
s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
|
62
55
|
s.add_dependency(%q<multi_json>, [">= 0"])
|
63
56
|
end
|
64
57
|
else
|
65
58
|
s.add_dependency(%q<json_pure>, [">= 0"])
|
66
59
|
s.add_dependency(%q<multi_json>, [">= 0"])
|
67
|
-
s.add_dependency(%q<rspec>, ["~> 2.
|
68
|
-
s.add_dependency(%q<bundler>, ["~> 1.0
|
69
|
-
s.add_dependency(%q<jeweler>, ["~> 1.
|
70
|
-
s.add_dependency(%q<rcov>, [">= 0"])
|
60
|
+
s.add_dependency(%q<rspec>, ["~> 2.9.0"])
|
61
|
+
s.add_dependency(%q<bundler>, ["~> 1.0"])
|
62
|
+
s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
|
71
63
|
s.add_dependency(%q<multi_json>, [">= 0"])
|
72
64
|
end
|
73
65
|
end
|
data/spec/fixtures/email.json
CHANGED
@@ -14,8 +14,20 @@
|
|
14
14
|
}
|
15
15
|
],
|
16
16
|
"Bcc": "FBI <hi@fbi.com>",
|
17
|
+
"BccFull": {
|
18
|
+
"Email": "hi@fbi.com",
|
19
|
+
"Name": "FBI"
|
20
|
+
},
|
17
21
|
"Cc": "Your Mom <hithere@hotmail.com>",
|
22
|
+
"CcFull": {
|
23
|
+
"Email": "hithere@hotmail.com",
|
24
|
+
"Name": "Your Mom"
|
25
|
+
},
|
18
26
|
"From": "\"Bob Bobson\" <bob@bob.com>",
|
27
|
+
"FromFull": {
|
28
|
+
"Email": "bob@bob.com",
|
29
|
+
"Name": "Bob Bobson"
|
30
|
+
},
|
19
31
|
"Headers": [
|
20
32
|
{
|
21
33
|
"Name": "Received-SPF",
|
data/spec/postmark/mitt_spec.rb
CHANGED
@@ -37,10 +37,26 @@ describe Postmark::Mitt do
|
|
37
37
|
mitt.bcc.should == "FBI <hi@fbi.com>"
|
38
38
|
end
|
39
39
|
|
40
|
+
it "should pull out the bcc_email" do
|
41
|
+
mitt.bcc_email.should == "hi@fbi.com"
|
42
|
+
end
|
43
|
+
|
44
|
+
it "should pull out the bcc_name" do
|
45
|
+
mitt.bcc_name.should == "FBI"
|
46
|
+
end
|
47
|
+
|
40
48
|
it "should have a cc" do
|
41
49
|
mitt.cc.should == "Your Mom <hithere@hotmail.com>"
|
42
50
|
end
|
43
51
|
|
52
|
+
it "should pull out the cc_email" do
|
53
|
+
mitt.cc_email.should == "hithere@hotmail.com"
|
54
|
+
end
|
55
|
+
|
56
|
+
it "should pull out the cc_name" do
|
57
|
+
mitt.cc_name.should == "Your Mom"
|
58
|
+
end
|
59
|
+
|
44
60
|
it "should have a reply_to" do
|
45
61
|
mitt.reply_to.should == "new-comment+sometoken@yeah.com"
|
46
62
|
end
|
metadata
CHANGED
@@ -1,129 +1,92 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: postmark-mitt
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 0
|
8
|
-
- 5
|
9
|
-
version: 0.0.5
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.6
|
5
|
+
prerelease:
|
10
6
|
platform: ruby
|
11
|
-
authors:
|
7
|
+
authors:
|
12
8
|
- Randy Schmidt
|
13
9
|
autorequire:
|
14
10
|
bindir: bin
|
15
11
|
cert_chain: []
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
dependencies:
|
20
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-04-11 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
21
15
|
name: json_pure
|
22
|
-
requirement: &
|
16
|
+
requirement: &70339502460520 !ruby/object:Gem::Requirement
|
23
17
|
none: false
|
24
|
-
requirements:
|
25
|
-
- -
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
|
28
|
-
- 0
|
29
|
-
version: "0"
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
30
22
|
type: :runtime
|
31
23
|
prerelease: false
|
32
|
-
version_requirements: *
|
33
|
-
- !ruby/object:Gem::Dependency
|
24
|
+
version_requirements: *70339502460520
|
25
|
+
- !ruby/object:Gem::Dependency
|
34
26
|
name: multi_json
|
35
|
-
requirement: &
|
27
|
+
requirement: &70339502457420 !ruby/object:Gem::Requirement
|
36
28
|
none: false
|
37
|
-
requirements:
|
38
|
-
- -
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
|
41
|
-
- 0
|
42
|
-
version: "0"
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
43
33
|
type: :runtime
|
44
34
|
prerelease: false
|
45
|
-
version_requirements: *
|
46
|
-
- !ruby/object:Gem::Dependency
|
35
|
+
version_requirements: *70339502457420
|
36
|
+
- !ruby/object:Gem::Dependency
|
47
37
|
name: rspec
|
48
|
-
requirement: &
|
38
|
+
requirement: &70339502532120 !ruby/object:Gem::Requirement
|
49
39
|
none: false
|
50
|
-
requirements:
|
40
|
+
requirements:
|
51
41
|
- - ~>
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
|
54
|
-
- 2
|
55
|
-
- 3
|
56
|
-
- 0
|
57
|
-
version: 2.3.0
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 2.9.0
|
58
44
|
type: :development
|
59
45
|
prerelease: false
|
60
|
-
version_requirements: *
|
61
|
-
- !ruby/object:Gem::Dependency
|
46
|
+
version_requirements: *70339502532120
|
47
|
+
- !ruby/object:Gem::Dependency
|
62
48
|
name: bundler
|
63
|
-
requirement: &
|
49
|
+
requirement: &70339502531200 !ruby/object:Gem::Requirement
|
64
50
|
none: false
|
65
|
-
requirements:
|
51
|
+
requirements:
|
66
52
|
- - ~>
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
|
69
|
-
- 1
|
70
|
-
- 0
|
71
|
-
- 0
|
72
|
-
version: 1.0.0
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.0'
|
73
55
|
type: :development
|
74
56
|
prerelease: false
|
75
|
-
version_requirements: *
|
76
|
-
- !ruby/object:Gem::Dependency
|
57
|
+
version_requirements: *70339502531200
|
58
|
+
- !ruby/object:Gem::Dependency
|
77
59
|
name: jeweler
|
78
|
-
requirement: &
|
60
|
+
requirement: &70339502511500 !ruby/object:Gem::Requirement
|
79
61
|
none: false
|
80
|
-
requirements:
|
62
|
+
requirements:
|
81
63
|
- - ~>
|
82
|
-
- !ruby/object:Gem::Version
|
83
|
-
|
84
|
-
- 1
|
85
|
-
- 5
|
86
|
-
- 2
|
87
|
-
version: 1.5.2
|
88
|
-
type: :development
|
89
|
-
prerelease: false
|
90
|
-
version_requirements: *id005
|
91
|
-
- !ruby/object:Gem::Dependency
|
92
|
-
name: rcov
|
93
|
-
requirement: &id006 !ruby/object:Gem::Requirement
|
94
|
-
none: false
|
95
|
-
requirements:
|
96
|
-
- - ">="
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
segments:
|
99
|
-
- 0
|
100
|
-
version: "0"
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: 1.8.3
|
101
66
|
type: :development
|
102
67
|
prerelease: false
|
103
|
-
version_requirements: *
|
104
|
-
- !ruby/object:Gem::Dependency
|
68
|
+
version_requirements: *70339502511500
|
69
|
+
- !ruby/object:Gem::Dependency
|
105
70
|
name: multi_json
|
106
|
-
requirement: &
|
71
|
+
requirement: &70339502510760 !ruby/object:Gem::Requirement
|
107
72
|
none: false
|
108
|
-
requirements:
|
109
|
-
- -
|
110
|
-
- !ruby/object:Gem::Version
|
111
|
-
|
112
|
-
- 0
|
113
|
-
version: "0"
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
114
77
|
type: :runtime
|
115
78
|
prerelease: false
|
116
|
-
version_requirements: *
|
117
|
-
description:
|
79
|
+
version_requirements: *70339502510760
|
80
|
+
description: This gem will help you take JSON posted to your app from incoming email
|
81
|
+
through Postmark. It will turn it back into an object with methods to help inspect
|
82
|
+
the contents of the email
|
118
83
|
email: randy@forge38.com
|
119
84
|
executables: []
|
120
|
-
|
121
85
|
extensions: []
|
122
|
-
|
123
|
-
extra_rdoc_files:
|
86
|
+
extra_rdoc_files:
|
124
87
|
- LICENSE
|
125
88
|
- README.rdoc
|
126
|
-
files:
|
89
|
+
files:
|
127
90
|
- Gemfile
|
128
91
|
- LICENSE
|
129
92
|
- README.rdoc
|
@@ -136,39 +99,32 @@ files:
|
|
136
99
|
- spec/fixtures/email.json
|
137
100
|
- spec/postmark/mitt_spec.rb
|
138
101
|
- spec/spec_helper.rb
|
139
|
-
has_rdoc: true
|
140
102
|
homepage: http://github.com/r38y/postmark-mitt
|
141
|
-
licenses:
|
103
|
+
licenses:
|
142
104
|
- MIT
|
143
105
|
post_install_message:
|
144
106
|
rdoc_options: []
|
145
|
-
|
146
|
-
require_paths:
|
107
|
+
require_paths:
|
147
108
|
- lib
|
148
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
109
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
149
110
|
none: false
|
150
|
-
requirements:
|
151
|
-
- -
|
152
|
-
- !ruby/object:Gem::Version
|
153
|
-
|
154
|
-
segments:
|
111
|
+
requirements:
|
112
|
+
- - ! '>='
|
113
|
+
- !ruby/object:Gem::Version
|
114
|
+
version: '0'
|
115
|
+
segments:
|
155
116
|
- 0
|
156
|
-
|
157
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
117
|
+
hash: 1959358292828582907
|
118
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
158
119
|
none: false
|
159
|
-
requirements:
|
160
|
-
- -
|
161
|
-
- !ruby/object:Gem::Version
|
162
|
-
|
163
|
-
- 0
|
164
|
-
version: "0"
|
120
|
+
requirements:
|
121
|
+
- - ! '>='
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '0'
|
165
124
|
requirements: []
|
166
|
-
|
167
125
|
rubyforge_project:
|
168
|
-
rubygems_version: 1.
|
126
|
+
rubygems_version: 1.8.15
|
169
127
|
signing_key:
|
170
128
|
specification_version: 3
|
171
|
-
summary:
|
172
|
-
test_files:
|
173
|
-
- spec/postmark/mitt_spec.rb
|
174
|
-
- spec/spec_helper.rb
|
129
|
+
summary: Mitt for incoming email through Postmark
|
130
|
+
test_files: []
|