gmail-mailer 0.1.1 → 0.2.0

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/Gemfile CHANGED
@@ -8,6 +8,6 @@ source "http://rubygems.org"
8
8
  group :development do
9
9
  gem "bundler", "~> 1.0.0"
10
10
  gem "jeweler", "~> 1.5.2"
11
- gem "mail","~> 2.2.13"
11
+ gem "mail","~> 2.2.14"
12
12
  gem "gmail_xoauth", "~> 0.3.0"
13
13
  end
data/Gemfile.lock CHANGED
@@ -10,7 +10,7 @@ GEM
10
10
  bundler (~> 1.0.0)
11
11
  git (>= 1.2.5)
12
12
  rake
13
- mail (2.2.13)
13
+ mail (2.2.14)
14
14
  activesupport (>= 2.3.6)
15
15
  i18n (>= 0.4.0)
16
16
  mime-types (~> 1.16)
@@ -29,4 +29,4 @@ DEPENDENCIES
29
29
  bundler (~> 1.0.0)
30
30
  gmail_xoauth (~> 0.3.0)
31
31
  jeweler (~> 1.5.2)
32
- mail (~> 2.2.13)
32
+ mail (~> 2.2.14)
data/README.rdoc CHANGED
@@ -2,6 +2,40 @@
2
2
 
3
3
  simple gem to allow you to send emails using your gmail account (without having to fiddle around with passwords)
4
4
 
5
+ = Usage
6
+ == Creating a message
7
+ message = GmailMailer::Message.new("to", "from", "Hello Subject", "Hello Body")
8
+
9
+ == Adding attachments
10
+ ((*NOTE:*))Only single attachments work at the current moment in time
11
+ message.add_attachment(Filepath)
12
+
13
+ == Setting up gmail-mailer
14
+ You will need to provide mailer with a hashmap containing the ouath details for your account.
15
+
16
+ == Sending a message
17
+ mailer.send(message)
18
+
19
+ == Example application
20
+ require 'gmail-mailer'
21
+ email_credentials =
22
+ {
23
+ :smtp_server=>"smtp.gmail.com",
24
+ :smtp_port=>587,
25
+ :smtp_consumer_key=>"anonymous",
26
+ :smtp_consumer_secret=>"anonymous",
27
+ :smtp_oauth_token=>"<your outh_token>",
28
+ :smtp_oauth_token_secret=>"<your ouath token secret>",
29
+ :host=>"gmail.com",
30
+ :email=>"<your gmail address>"
31
+ }
32
+
33
+ message = GmailMailer::Message.new("to","from", "Hello Subject", "Hello Body")
34
+ message.add_attachment(File.expand_path('~/image.png'))
35
+
36
+ mailer = GmailMailer::Mailer.new(email_credentials)
37
+ mailer.send(message)
38
+
5
39
  == Contributing to gmail-mailer
6
40
 
7
41
  * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
data/Rakefile CHANGED
@@ -19,7 +19,7 @@ Jeweler::Tasks.new do |gem|
19
19
  gem.description = %Q{Programatically send emails using a given gmail account. No username/passwords needed, just use your OAUTH credentials}
20
20
  gem.email = "djharperuk@gmail.com"
21
21
  gem.authors = ["Daniel Harper"]
22
- gem.add_dependency "mail","~> 2.2.13"
22
+ gem.add_dependency "mail","~> 2.2.14"
23
23
  gem.add_dependency "gmail_xoauth", "~> 0.3.0"
24
24
  end
25
25
  Jeweler::RubygemsDotOrgTasks.new
data/TODO.txt ADDED
@@ -0,0 +1,3 @@
1
+ changes needed for next version: -
2
+ - Add more validation for email configuration
3
+ - Add better handling for SMTP errors
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.2.0
data/gmail-mailer.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{gmail-mailer}
8
- s.version = "0.1.1"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Daniel Harper"]
@@ -23,6 +23,7 @@ Gem::Specification.new do |s|
23
23
  "LICENSE.txt",
24
24
  "README.rdoc",
25
25
  "Rakefile",
26
+ "TODO.txt",
26
27
  "VERSION",
27
28
  "gmail-mailer.gemspec",
28
29
  "lib/gmail-mailer.rb"
@@ -40,24 +41,24 @@ Gem::Specification.new do |s|
40
41
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
41
42
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
42
43
  s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
43
- s.add_development_dependency(%q<mail>, ["~> 2.2.13"])
44
+ s.add_development_dependency(%q<mail>, ["~> 2.2.14"])
44
45
  s.add_development_dependency(%q<gmail_xoauth>, ["~> 0.3.0"])
45
- s.add_runtime_dependency(%q<mail>, ["~> 2.2.13"])
46
+ s.add_runtime_dependency(%q<mail>, ["~> 2.2.14"])
46
47
  s.add_runtime_dependency(%q<gmail_xoauth>, ["~> 0.3.0"])
47
48
  else
48
49
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
49
50
  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
50
- s.add_dependency(%q<mail>, ["~> 2.2.13"])
51
+ s.add_dependency(%q<mail>, ["~> 2.2.14"])
51
52
  s.add_dependency(%q<gmail_xoauth>, ["~> 0.3.0"])
52
- s.add_dependency(%q<mail>, ["~> 2.2.13"])
53
+ s.add_dependency(%q<mail>, ["~> 2.2.14"])
53
54
  s.add_dependency(%q<gmail_xoauth>, ["~> 0.3.0"])
54
55
  end
55
56
  else
56
57
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
57
58
  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
58
- s.add_dependency(%q<mail>, ["~> 2.2.13"])
59
+ s.add_dependency(%q<mail>, ["~> 2.2.14"])
59
60
  s.add_dependency(%q<gmail_xoauth>, ["~> 0.3.0"])
60
- s.add_dependency(%q<mail>, ["~> 2.2.13"])
61
+ s.add_dependency(%q<mail>, ["~> 2.2.14"])
61
62
  s.add_dependency(%q<gmail_xoauth>, ["~> 0.3.0"])
62
63
  end
63
64
  end
data/lib/gmail-mailer.rb CHANGED
@@ -7,14 +7,14 @@ module GmailMailer
7
7
  @email_credentials = credentials
8
8
  end
9
9
 
10
- def sendMessage(message)
10
+ def send(message)
11
11
  mail = Mail.new do
12
12
  from message.from
13
13
  to message.to
14
14
  subject message.subject
15
15
  body message.body
16
- if(message.attachment != nil)
17
- add_file message.attachment
16
+ if(!message.attachments.empty?)
17
+ add_file message.attachments.first
18
18
  end
19
19
  end
20
20
  sendSMTP(mail)
@@ -52,13 +52,17 @@ module GmailMailer
52
52
  end
53
53
 
54
54
  class Message
55
- attr_reader :to, :from, :subject, :body, :attachment
56
- def initialize(to, from, attachment=nil, subject="", body="")
55
+ attr_reader :to, :from, :subject, :body, :attachments
56
+ def initialize(to, from, subject="", body="")
57
57
  @to = to
58
58
  @from = from
59
59
  @subject = subject
60
60
  @body = body
61
- @attachment = attachment
61
+ @attachments = []
62
+ end
63
+
64
+ def add_attachment(filepath)
65
+ @attachments << filepath if !filepath.nil? or !filepath.empty?
62
66
  end
63
67
  end
64
68
  end
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
- - 1
8
- - 1
9
- version: 0.1.1
7
+ - 2
8
+ - 0
9
+ version: 0.2.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Daniel Harper
@@ -57,8 +57,8 @@ dependencies:
57
57
  segments:
58
58
  - 2
59
59
  - 2
60
- - 13
61
- version: 2.2.13
60
+ - 14
61
+ version: 2.2.14
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: *id003
@@ -87,8 +87,8 @@ dependencies:
87
87
  segments:
88
88
  - 2
89
89
  - 2
90
- - 13
91
- version: 2.2.13
90
+ - 14
91
+ version: 2.2.14
92
92
  type: :runtime
93
93
  prerelease: false
94
94
  version_requirements: *id005
@@ -123,6 +123,7 @@ files:
123
123
  - LICENSE.txt
124
124
  - README.rdoc
125
125
  - Rakefile
126
+ - TODO.txt
126
127
  - VERSION
127
128
  - gmail-mailer.gemspec
128
129
  - lib/gmail-mailer.rb
@@ -140,7 +141,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
140
141
  requirements:
141
142
  - - ">="
142
143
  - !ruby/object:Gem::Version
143
- hash: -719308230240416222
144
+ hash: -2151435929044116729
144
145
  segments:
145
146
  - 0
146
147
  version: "0"