alphamail 1.0.0.pre

Sign up to get free protection for your applications and to get access to all the features.
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
+