ficonabses 0.1.3 → 0.1.4
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.
- data/README.rdoc +9 -1
- data/lib/ficonabses/base.rb +20 -11
- data/test/test_ficonabses.rb +25 -5
- data/test/test_localhost.rb +3 -2
- data/test/test_secret.rb +2 -0
- metadata +3 -2
data/README.rdoc
CHANGED
@@ -13,10 +13,18 @@ A simple way to send emails from your application using amazon ses. Register at
|
|
13
13
|
== SYNOPSIS HTML EMAIL:
|
14
14
|
|
15
15
|
* res =FiconabSES::Base.send_htmlemail('acccount','password','scott.sproule@estormtech.com','This is the subject','<h1>HTML Contents</h1><p>hi from paragraph</p>','text contents of the email')
|
16
|
+
* for multiple sends use set_credentials(account,password), then send_html
|
17
|
+
* eg: f=FiconabSES::Base.new
|
18
|
+
* f.set_credentials(account,passwd)
|
19
|
+
* f.send_htmlemail('scott.sproule@estormtech.com','This is the subject','<h1>HTML Contents</h1><p>hi from paragraph</p>','text contents of the email')
|
16
20
|
|
17
21
|
== SYNOPSIS TEXT EMAIL:
|
18
22
|
|
19
|
-
* res =FiconabSES::Base.
|
23
|
+
* res =FiconabSES::Base.send_textemail_direct('acccount','password','scott.sproule@estormtech.com','This is the subject','contents of the email')
|
24
|
+
or similarly
|
25
|
+
* eg: f=FiconabSES::Base.new
|
26
|
+
* f.set_credentials(account,passwd)
|
27
|
+
* f.send_textemail('scott.sproule@estormtech.com','This is the subject','<h1>HTML Contents</h1><p>hi from paragraph</p>','text contents of the email')
|
20
28
|
|
21
29
|
== REQUIREMENTS:
|
22
30
|
|
data/lib/ficonabses/base.rb
CHANGED
@@ -17,22 +17,29 @@ module FiconabSES
|
|
17
17
|
@@host
|
18
18
|
end
|
19
19
|
# @@host= 'localhost:8083'
|
20
|
-
def
|
20
|
+
def set_credentials(account,passwd)
|
21
|
+
@account=account
|
22
|
+
@password=passwd
|
23
|
+
end
|
24
|
+
def self.send_textemail_direct(account,password,destination,subject,contents)
|
21
25
|
f=FiconabSES::Base.new
|
22
|
-
f.
|
26
|
+
f.set_credentials(account,password)
|
27
|
+
f.send_textemail(destination,subject,contents)
|
23
28
|
end
|
24
|
-
def self.
|
29
|
+
def self.send_htmlemail_direct(account,password,destination,subject,htmlcontents,textcontents=nil)
|
25
30
|
f=FiconabSES::Base.new
|
26
|
-
f.
|
31
|
+
f.set_credentials(account,password)
|
32
|
+
f.send_htmlemail(destination,subject,htmlcontents,textcontents)
|
27
33
|
end
|
28
|
-
def perform(
|
34
|
+
def perform(url)
|
29
35
|
@uri=URI.parse(url)
|
36
|
+
raise 'credentials not set' if @account==nil
|
30
37
|
res=''
|
31
38
|
begin
|
32
|
-
# Don't take longer than 60 seconds -- incase there is a problem with
|
39
|
+
# Don't take longer than 60 seconds -- incase there is a problem with our server continue
|
33
40
|
Timeout::timeout(60) do
|
34
41
|
@clnt=HTTPClient.new
|
35
|
-
@clnt.set_auth(nil, account, password)
|
42
|
+
@clnt.set_auth(nil, @account, @password)
|
36
43
|
@extheader = { 'Content-Type' => 'application/xml' }
|
37
44
|
res=self.clnt.get_content(self.uri,self.extheader)
|
38
45
|
end
|
@@ -52,16 +59,18 @@ module FiconabSES
|
|
52
59
|
contents='' if contents==nil
|
53
60
|
url="#{self.text_url(destination,subject,contents)}&html=#{URI.encode(html)}"
|
54
61
|
end
|
55
|
-
def send_textemail(
|
62
|
+
def send_textemail(destination,subject,contents)
|
56
63
|
url=self.text_url(destination,subject,contents)
|
57
64
|
puts "url is: #{url}"
|
58
|
-
|
65
|
+
|
66
|
+
perform(url)
|
59
67
|
# res
|
60
68
|
end
|
61
|
-
def send_htmlemail(
|
69
|
+
def send_htmlemail(destination,subject,htmlcontents,textcontents=nil)
|
62
70
|
url=self.html_url(destination,subject,textcontents,htmlcontents)
|
63
71
|
puts "url is: #{url}"
|
64
|
-
|
72
|
+
|
73
|
+
perform(url)
|
65
74
|
# res
|
66
75
|
end
|
67
76
|
|
data/test/test_ficonabses.rb
CHANGED
@@ -1,23 +1,43 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/test_helper.rb'
|
2
|
+
require File.dirname(__FILE__) + '/test_secret.rb' #FILL IN ACCOUNT/PASSWD AS GLOBALS IN THIS
|
2
3
|
|
3
4
|
class TestFiconabses < Test::Unit::TestCase
|
4
5
|
|
5
6
|
def setup
|
7
|
+
@account=ACCOUNT #in test_secret.rb put ACCOUNT='youraccount'
|
8
|
+
@passwd=PASSWD #in test_secret.rb put PASSWD='yourpasswd'
|
9
|
+
puts "CREDENTIALS ARE: account: #{@account} passwd: #{@passwd}"
|
6
10
|
end
|
7
11
|
|
8
|
-
def
|
9
|
-
res =FiconabSES::Base.
|
12
|
+
def test_send_text_direct
|
13
|
+
res =FiconabSES::Base.send_textemail_direct(@account,@passwd,'scott.sproule@gmail.com','This is the subject','contents of the email')
|
10
14
|
puts "RES is: #{res}"
|
11
15
|
assert res.include? '200'
|
12
16
|
end
|
13
|
-
def
|
14
|
-
res =FiconabSES::Base.
|
17
|
+
def test_send_html_direct
|
18
|
+
res =FiconabSES::Base.send_htmlemail_direct(@account,@passwd,'scott.sproule@gmail.com','This is the HTML subject','<h1>HTML Contents</h1><p>hi from paragraph</p>','text contents of the email')
|
15
19
|
puts "RES is: #{res}"
|
16
20
|
assert res.include? '200'
|
17
21
|
end
|
18
22
|
def test_send_html_nil_text
|
19
|
-
res =FiconabSES::Base.
|
23
|
+
res =FiconabSES::Base.send_htmlemail_direct(@account,@passwd,'scott.sproule@gmail.com','This is HTML Subject nil text','<h1>HTML Contents</h1><p>hi from paragraph</p>') #no text portion
|
20
24
|
puts "RES is: #{res}"
|
21
25
|
assert res.include? '200'
|
22
26
|
end
|
27
|
+
def test_send_emails
|
28
|
+
f=FiconabSES::Base.new
|
29
|
+
f.set_credentials(@account,@passwd)
|
30
|
+
res =f.send_htmlemail('scott.sproule@gmail.com','This is HTML Subject nil text','<h1>HTML Contents</h1><p>hi from paragraph</p>') #no text portion
|
31
|
+
puts "RES is: #{res}"
|
32
|
+
assert res.include? '200'
|
33
|
+
res =f.send_textemail('scott.sproule@gmail.com','This is TEXT Subject nil text','contents') #no text portion
|
34
|
+
puts "RES is: #{res}"
|
35
|
+
assert res.include? '200'
|
36
|
+
end
|
37
|
+
def test_no_credentials
|
38
|
+
f=FiconabSES::Base.new
|
39
|
+
assert_raise RuntimeError do #should raise runtime error
|
40
|
+
res =f.send_htmlemail('scott.sproule@gmail.com','This is HTML Subject nil text','<h1>HTML Contents</h1><p>hi from paragraph</p>') #no text portion
|
41
|
+
end
|
42
|
+
end
|
23
43
|
end
|
data/test/test_localhost.rb
CHANGED
@@ -4,17 +4,18 @@ class TestFiconabses < Test::Unit::TestCase
|
|
4
4
|
|
5
5
|
def setup
|
6
6
|
@f=FiconabSES::Base.new
|
7
|
+
@f.set_credentials('scott','scott123')
|
7
8
|
@f.set_debug
|
8
9
|
end
|
9
10
|
|
10
11
|
def test_local_send_text
|
11
|
-
res= @f.send_textemail('scott
|
12
|
+
res= @f.send_textemail('scott.sproule@gmail.com',"'LOCALHOST': #{@f.host}",'contents of the email')
|
12
13
|
puts "RES is: #{res}"
|
13
14
|
assert res.include? '200'
|
14
15
|
end
|
15
16
|
|
16
17
|
def test_local_send_html
|
17
|
-
res =@f.send_htmlemail('scott
|
18
|
+
res =@f.send_htmlemail('scott.sproule@gmail.com',"'HTML:LOCALHOST': #{@f.host}",'<h1>HTML Contents</h1><p>hi from paragraph</p>','text contents of the email')
|
18
19
|
puts "RES is: #{res}"
|
19
20
|
assert res.include? '200'
|
20
21
|
end
|
data/test/test_secret.rb
ADDED
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 4
|
9
|
+
version: 0.1.4
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Scott Sproule
|
@@ -32,6 +32,7 @@ files:
|
|
32
32
|
- test/test_ficonabses.rb
|
33
33
|
- test/test_helper.rb
|
34
34
|
- test/test_localhost.rb
|
35
|
+
- test/test_secret.rb
|
35
36
|
- History.txt
|
36
37
|
- Manifest.txt
|
37
38
|
- PostInstall.txt
|