alphamail 1.0.0.pre

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/CHANGELOG ADDED
File without changes
data/LICENSE ADDED
File without changes
data/README ADDED
File without changes
data/Rakefile ADDED
@@ -0,0 +1,17 @@
1
+ desc "Validate the gemspec"
2
+ task :gemspec do
3
+ gemspec.validate
4
+ end
5
+
6
+ desc "Build gem locally"
7
+ task :build => :gemspec do
8
+ system "gem build #{gemspec.name}.gemspec"
9
+ FileUtils.mkdir_p "pkg"
10
+ FileUtils.mv "#{gemspec.name}-#{gemspec.version}.gem", "pkg"
11
+ end
12
+
13
+ desc "Install gem locally"
14
+ task :install => :build do
15
+ system "gem install pkg/#{gemspec.name}-#{gemspec.version}"
16
+ end
17
+
data/lib/alphamail.rb ADDED
@@ -0,0 +1,77 @@
1
+ #!/usr/bin/env ruby
2
+ require 'rubygems'
3
+ require 'uri'
4
+ require 'net/http'
5
+ require 'json'
6
+
7
+ # Email contact class
8
+ class EmailContact
9
+ attr_accessor :name
10
+ attr_accessor :email
11
+
12
+ def initialize(name = "Undefined", email = "")
13
+ @name = name
14
+ @email = email
15
+ end
16
+ end
17
+
18
+ # Message payload class
19
+ class EmailMessagePayload
20
+ attr_accessor :project_id
21
+ attr_accessor :receiver_id
22
+ attr_accessor :sender_name
23
+ attr_accessor :sender_email
24
+ attr_accessor :receiver_name
25
+ attr_accessor :receiver_email
26
+ attr_accessor :body
27
+
28
+ def initialize(project_id = 0, receiver_id = 0, sender_name = '', sender_email = '', receiver_name = '', receiver_email = '', body = '')
29
+ @project_id = project_id
30
+ @receiver_id = receiver_id
31
+ @sender_name = sender_name
32
+ @sender_email = sender_email
33
+ @receiver_name = receiver_name
34
+ @receiver_email = receiver_email
35
+ @body = body
36
+ end
37
+
38
+ def to_json(*a)
39
+ {
40
+ 'project_id' => project_id,
41
+ 'receiver_id' => receiver_id,
42
+ 'sender_name' => sender_name,
43
+ 'sender_email' => sender_email,
44
+ 'receiver_name' => receiver_name,
45
+ 'receiver_email' => receiver_email,
46
+ 'body' => body
47
+
48
+ }.to_json(*a)
49
+ end
50
+
51
+ end
52
+
53
+ # Alpha-mail email service
54
+ class AlphaMailEmailService
55
+ def initialize(service_url, api_token)
56
+ @service_url = service_url + '/email/queue'
57
+ @api_token = api_token
58
+ end
59
+
60
+ def queue(payload = '')
61
+ # Queue the message
62
+ uri = URI.parse(@service_url)
63
+ req = Net::HTTP::Post.new(uri.path)
64
+ req.basic_auth '', @api_token
65
+ req.body = payload.to_json
66
+ req.content_type = 'application/json'
67
+ res = Net::HTTP.start('api.am1.comfirm.se', uri.port) {|http|
68
+ http.request(req)
69
+ }
70
+ puts res.body
71
+
72
+ puts 'Message was successfully queued!'
73
+ end
74
+ end
75
+
76
+
77
+
@@ -0,0 +1,32 @@
1
+ require 'alphamail'
2
+
3
+ class Member
4
+ attr_accessor :name
5
+ attr_accessor :password
6
+
7
+ def initialize(name = 'Unknown', password = '')
8
+ @name = name
9
+ @password = password
10
+ end
11
+
12
+ def to_json(*a)
13
+ {
14
+ 'name' => name,
15
+ 'password' => password
16
+
17
+ }.to_json(*a)
18
+ end
19
+ end
20
+
21
+ m = Member.new 'Jack', 'my3Pass0rd89'
22
+
23
+ a = AlphaMail.EmailMessagePayload.new
24
+ a.project_id = 139
25
+ a.sender_name = 'Jack'
26
+ a.sender_email = 'jack@skysel.com'
27
+ a.receiver_name = 'Timothy'
28
+ a.receiver_email = 'jack.johansson@comfirm.se'
29
+ a.body = m.to_json
30
+
31
+ service = AlphaMail.AlphaMailEmailService.new 'http://api.am1.comfirm.se/v1', '4e8c684c47a2f0-50424246'
32
+ service.queue(a)
metadata ADDED
@@ -0,0 +1,93 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: alphamail
3
+ version: !ruby/object:Gem::Version
4
+ hash: 961915988
5
+ prerelease: true
6
+ segments:
7
+ - 1
8
+ - 0
9
+ - 0
10
+ - pre
11
+ version: 1.0.0.pre
12
+ platform: ruby
13
+ authors:
14
+ - Jack Engqvist Johansson
15
+ - Comfirm AB
16
+ autorequire:
17
+ bindir: bin
18
+ cert_chain: []
19
+
20
+ date: 2012-02-03 00:00:00 +00:00
21
+ default_executable:
22
+ dependencies:
23
+ - !ruby/object:Gem::Dependency
24
+ name: json
25
+ prerelease: false
26
+ requirement: &id001 !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ hash: 5
32
+ segments:
33
+ - 1
34
+ - 6
35
+ - 5
36
+ version: 1.6.5
37
+ type: :runtime
38
+ version_requirements: *id001
39
+ description: The official gem for sending transactional emails via Comfirm's AlphaMail service
40
+ email:
41
+ - jack.johansson@comfirm.se
42
+ executables: []
43
+
44
+ extensions: []
45
+
46
+ extra_rdoc_files: []
47
+
48
+ files:
49
+ - lib/alphamail.rb
50
+ - README
51
+ - Rakefile
52
+ - LICENSE
53
+ - CHANGELOG
54
+ - spec/alphamail_test.rb
55
+ has_rdoc: true
56
+ homepage: http://www.comfirm.se
57
+ licenses:
58
+ - MIT
59
+ post_install_message: Thanks for using AlphaMail. Visit http://www.comfirm.se for help, articles and news about transactional emails.
60
+ rdoc_options: []
61
+
62
+ require_paths:
63
+ - lib
64
+ required_ruby_version: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ hash: 3
70
+ segments:
71
+ - 0
72
+ version: "0"
73
+ required_rubygems_version: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ hash: 23
79
+ segments:
80
+ - 1
81
+ - 3
82
+ - 6
83
+ version: 1.3.6
84
+ requirements:
85
+ - AlphaMail account (free)
86
+ - Internet connection
87
+ rubyforge_project:
88
+ rubygems_version: 1.3.7
89
+ signing_key:
90
+ specification_version: 3
91
+ summary: Send transactional emails via AlphaMail
92
+ test_files: []
93
+