hermes_tan 0.1.1
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.
- checksums.yaml +7 -0
- data/lib/hermes_tan.rb +57 -0
- metadata +72 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 9fdbcb218c65004d6a416cb26c576583877fc3be
|
4
|
+
data.tar.gz: ab01ca2c0d4c071efa22b6f9ff13e701f3f86e0e
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 89a8116bb93531f091a3db421a7b8de764f95b0a4a0c090937ac622acfaa403838dca1fea3c55800440808bba109af643e901a3235b6d2373cdad82bfefd0cf8
|
7
|
+
data.tar.gz: 035f4a81ffbf0f78b750d8e71bc5d523e6212fa0ea6b01e7af1c4618a78893fca1fcb645079332315a6ba496d677b56e7a86e896a4d8c24605aff8931127c65a
|
data/lib/hermes_tan.rb
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
require 'gmail'
|
2
|
+
|
3
|
+
class NoCredentialsProvidedError < StandardError; end
|
4
|
+
class InvalidEmailError < StandardError; end
|
5
|
+
|
6
|
+
# The main Hermes driver
|
7
|
+
class HermesTan
|
8
|
+
|
9
|
+
# Say hi to the world!
|
10
|
+
#
|
11
|
+
# Example:
|
12
|
+
# >> HermesTan.new("email@gmail.com", "password").let_gods_know_about(['1@gmail.com'], 'subject', 'body')
|
13
|
+
# => <- "RCPT TO:<1@gmail.com>\r\n"
|
14
|
+
# -> "250 2.1.5 OK c77sm415106lfb.41 - gsmtp\r\n"
|
15
|
+
# <- "DATA\r\n"
|
16
|
+
# -> "354 Go ahead c77sm415106lfb.41 - gsmtp\r\n"
|
17
|
+
# writing message from String
|
18
|
+
# wrote 519 bytes
|
19
|
+
# -> "250 2.0.0 OK 1447852102 c77sm415106lfb.41 - gsmtp\r\n"
|
20
|
+
# <- "QUIT\r\n"
|
21
|
+
# -> "221 2.0.0 closing connection c77sm415106lfb.41 - gsmtp\r\n"
|
22
|
+
|
23
|
+
#
|
24
|
+
# #initialize Arguments:
|
25
|
+
# email: (String)
|
26
|
+
# password: (String)
|
27
|
+
#
|
28
|
+
# #let_gods_know_about Arguments:
|
29
|
+
# gods: Array of emails (Strings)
|
30
|
+
# subject: (String)
|
31
|
+
# body: (String)
|
32
|
+
|
33
|
+
attr_reader :email, :password
|
34
|
+
|
35
|
+
def initialize(email, password)
|
36
|
+
raise NoCredentialsProvidedError unless password && email
|
37
|
+
raise InvalidEmailError unless email =~ /\b[A-Z0-9._%a-z\-]+@(?:[A-Z0-9a-z\-]+\.)+[A-Za-z]{2,4}\z/
|
38
|
+
|
39
|
+
@email = email
|
40
|
+
@password = password
|
41
|
+
end
|
42
|
+
|
43
|
+
def let_gods_know_about(gods, subject, body)
|
44
|
+
gmail = Gmail.new(email, password)
|
45
|
+
|
46
|
+
gmail.deliver do
|
47
|
+
to gods
|
48
|
+
subject subject
|
49
|
+
text_part do
|
50
|
+
body body
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
gmail.logout
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
metadata
ADDED
@@ -0,0 +1,72 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: hermes_tan
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Ostap Tan
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-11-17 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: ruby-gmail
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.3.1
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.3.1
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rspec
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '3.2'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '3.2'
|
41
|
+
description: A simple gem for sending multiple emails from gmail account.
|
42
|
+
email: otan256@gmail.com
|
43
|
+
executables: []
|
44
|
+
extensions: []
|
45
|
+
extra_rdoc_files: []
|
46
|
+
files:
|
47
|
+
- lib/hermes_tan.rb
|
48
|
+
homepage: http://rubygems.org/gems/hermes
|
49
|
+
licenses:
|
50
|
+
- MIT
|
51
|
+
metadata: {}
|
52
|
+
post_install_message:
|
53
|
+
rdoc_options: []
|
54
|
+
require_paths:
|
55
|
+
- lib
|
56
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0'
|
61
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
62
|
+
requirements:
|
63
|
+
- - ">="
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
66
|
+
requirements: []
|
67
|
+
rubyforge_project:
|
68
|
+
rubygems_version: 2.4.6
|
69
|
+
signing_key:
|
70
|
+
specification_version: 4
|
71
|
+
summary: Send emails with fun!
|
72
|
+
test_files: []
|