sendgrid_cli_mailer 0.5.3 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -23,14 +23,30 @@ Or install it yourself as:
23
23
 
24
24
  ## Usage
25
25
 
26
+ ### Using command line arguments
27
+
26
28
  You can send a message with a body specified via arguments:
27
29
 
28
- sg_cli mail --from 'admin@yourjoint.com' --to 'hank@me.com' --subject 'Testing CLI' --body 'Short Body' --user 'sg@foo.com' --key '1234'"
30
+ sg_mail mail --from 'admin@yourjoint.com' --to 'hank@me.com' --subject 'Testing CLI' --body 'Short Body' --user 'sg@foo.com' --key '1234'"
29
31
 
30
32
  OR use your body input in other ways like so:
31
33
 
32
- sg_cli mail --from 'admin@yourjoint.com' --to 'hank@me.com' --subject 'Testing CLI' --user 'sg@foo.com' --key '1234'" --body `cat /etc/hosts`
34
+ sg_mail mail --from 'admin@yourjoint.com' --to 'hank@me.com' --subject 'Testing CLI' --user 'sg@foo.com' --key '1234'" --body `cat /etc/hosts`
35
+
36
+ ### Using less command line arguments
37
+
38
+ You can save a file called .sg_mail in your home directory and this file
39
+ can make using a little easier.
40
+
41
+ ~/.sg_mail example:
42
+
43
+ user: foo@bar.com
44
+ key: 12351
45
+ from: server1@staging.yourdomain.com
46
+
47
+ Then the command line is a little more terse and similar to unix mail:
33
48
 
49
+ sg_mail mail -f devops@yourco.com -t hank@mydomain.com -s "Database Backup complete!" -b "`cat /var/log/db.log`"
34
50
 
35
51
  ## Contributing
36
52
 
data/bin/sg_mail ADDED
@@ -0,0 +1,35 @@
1
+ #!/usr/bin/env ruby
2
+ $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', 'lib')
3
+ require 'sendgrid_toolkit'
4
+ require "thor"
5
+ require 'yaml'
6
+ require 'sendgrid_cli_mailer'
7
+
8
+ class SendgridCliMailerCommand < Thor
9
+ desc "mail", "Sends an email via SendGrid API, will attempt to read user, key and from address from ~/.sg_mail"
10
+ method_option :user, :aliases => "-u", :desc => "SendGrid API User", :required => false
11
+ method_option :key, :aliases => "-k", :desc => "SendGrid API key", :required => false
12
+ method_option :to, :aliases => "-t", :desc => "Email 'to' address", :required => true
13
+ method_option :from, :aliases => "-f", :desc => "Email 'from' address", :required => false
14
+ method_option :subject, :aliases => "-s", :desc => "Email 'subject'", :required => true
15
+ method_option :body, :aliases => "-b", :desc => "Email 'body'", :required => false
16
+ def mail
17
+ mailer_settings = {}
18
+ sg_dotfile = File.join(File.expand_path('~'),".sg_mail")
19
+ if File.exists?(sg_dotfile)
20
+ mailer_settings = YAML.load_file sg_dotfile
21
+ else
22
+ mailer_settings['user'] = options[:user]
23
+ mailer_settings['key'] = options[:key]
24
+ mailer_settings['from'] = options[:from]
25
+ end
26
+ unless(mailer_settings['user'] && mailer_settings['key'] && mailer_settings['from'])
27
+ raise "Not all arguments supplied or .sg_mail doesn't have user,key and from"
28
+ end
29
+ body = options[:body] || "No Message Body"
30
+
31
+ ::SendgridCliMailer::Runner.new(mailer_settings,options,body)
32
+ end
33
+ end
34
+ SendgridCliMailerCommand.start
35
+
@@ -1,4 +1,10 @@
1
1
  require "sendgrid_cli_mailer/version"
2
2
  module SendgridCliMailer
3
3
  #other code can go here
4
+ class Runner
5
+ def initialize(mailer_settings,options,body)
6
+ SendgridToolkit::Mail.new(mailer_settings['user'], mailer_settings['key']).send_mail :to => options[:to], :from => mailer_settings['from'],
7
+ :subject => options[:subject], :text => body
8
+ end
9
+ end
4
10
  end
@@ -1,3 +1,3 @@
1
1
  module SendgridCliMailer
2
- VERSION = "0.5.3"
2
+ VERSION = "0.6.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sendgrid_cli_mailer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
4
+ version: 0.6.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-10-11 00:00:00.000000000 Z
12
+ date: 2012-10-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sendgrid_toolkit
@@ -47,7 +47,7 @@ description: Simple CLI mailer for Sendgrid via API
47
47
  email:
48
48
  - hbeaver@gmail.com
49
49
  executables:
50
- - sg_cli
50
+ - sg_mail
51
51
  extensions: []
52
52
  extra_rdoc_files: []
53
53
  files:
@@ -56,7 +56,7 @@ files:
56
56
  - LICENSE
57
57
  - README.md
58
58
  - Rakefile
59
- - bin/sg_cli
59
+ - bin/sg_mail
60
60
  - lib/sendgrid_cli_mailer.rb
61
61
  - lib/sendgrid_cli_mailer/version.rb
62
62
  - sendgrid_cli_mailer.gemspec
data/bin/sg_cli DELETED
@@ -1,21 +0,0 @@
1
- #!/usr/bin/env ruby
2
- $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', 'lib')
3
- require 'sendgrid_toolkit'
4
- require "thor"
5
-
6
- class SendgridCliMailerCommand < Thor
7
- desc "mail", "Sends an email via SendGrid API"
8
- method_option :user, :aliases => "-u", :desc => "SendGrid API User", :required => true
9
- method_option :key, :aliases => "-k", :desc => "SendGrid API key", :required => true
10
- method_option :to, :aliases => "-t", :desc => "Email 'to' address", :required => true
11
- method_option :from, :aliases => "-f", :desc => "Email 'from' address", :required => true
12
- method_option :subject, :aliases => "-s", :desc => "Email 'subject'", :required => true
13
- method_option :body, :aliases => "-b", :desc => "Email 'body'", :required => false
14
- def mail
15
- body = options.body || "No Message Body"
16
- SendgridToolkit::Mail.new(options[:user], options[:key]).send_mail :to => options[:to], :from => options[:from],
17
- :subject => options[:subject], :text => body
18
- end
19
- end
20
- SendgridCliMailerCommand.start
21
-