sendgrid4r 0.0.5 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +21 -0
- data/.travis.yml +2 -3
- data/README.md +3 -373
- data/Rakefile +1 -1
- data/lib/auth.rb +7 -9
- data/lib/client.rb +8 -9
- data/lib/sendgrid4r/factory/version_factory.rb +20 -10
- data/lib/sendgrid4r/rest/api.rb +28 -9
- data/lib/sendgrid4r/rest/asm/global_suppressions.rb +46 -0
- data/lib/sendgrid4r/rest/asm/groups.rb +69 -0
- data/lib/sendgrid4r/rest/asm/suppressions.rb +68 -0
- data/lib/sendgrid4r/rest/categories/categories.rb +38 -0
- data/lib/sendgrid4r/rest/ips/addresses.rb +74 -0
- data/lib/sendgrid4r/rest/ips/pools.rb +63 -0
- data/lib/sendgrid4r/rest/ips/warmup.rb +55 -0
- data/lib/sendgrid4r/rest/request.rb +34 -19
- data/lib/sendgrid4r/rest/settings/enforced_tls.rb +39 -0
- data/lib/sendgrid4r/rest/stats/advanced.rb +91 -0
- data/lib/sendgrid4r/rest/stats/category.rb +47 -0
- data/lib/sendgrid4r/rest/stats/global.rb +26 -0
- data/lib/sendgrid4r/rest/stats/parse.rb +26 -0
- data/lib/sendgrid4r/rest/stats/stats.rb +89 -0
- data/lib/sendgrid4r/rest/stats/subuser.rb +47 -0
- data/lib/sendgrid4r/rest/templates/templates.rb +61 -0
- data/lib/sendgrid4r/rest/templates/versions.rb +92 -0
- data/lib/sendgrid4r/version.rb +4 -1
- data/lib/sendgrid4r.rb +5 -2
- data/sendgrid4r.gemspec +13 -12
- data/spec/{global_suppressions_spec.rb → asm/global_suppressions_spec.rb} +25 -17
- data/spec/asm/groups_spec.rb +58 -0
- data/spec/{suppressions_spec.rb → asm/suppressions_spec.rb} +24 -22
- data/spec/categories/categories_spec.rb +39 -0
- data/spec/client_spec.rb +65 -50
- data/spec/ips/addresses_spec.rb +116 -0
- data/spec/ips/pools_spec.rb +43 -0
- data/spec/ips/warmup_spec.rb +52 -0
- data/spec/{enforced_tls_spec.rb → settings/enforced_tls_spec.rb} +12 -11
- data/spec/stats/advanced_spec.rb +243 -0
- data/spec/stats/category_spec.rb +112 -0
- data/spec/stats/global_spec.rb +64 -0
- data/spec/stats/parse_spec.rb +49 -0
- data/spec/stats/subuser_spec.rb +105 -0
- data/spec/templates/templates_spec.rb +66 -0
- data/spec/templates/versions_spec.rb +89 -0
- data/spec/version_factory_spec.rb +20 -15
- metadata +94 -42
- data/lib/sendgrid4r/rest/addresses.rb +0 -62
- data/lib/sendgrid4r/rest/enforced_tls.rb +0 -46
- data/lib/sendgrid4r/rest/global_suppressions.rb +0 -35
- data/lib/sendgrid4r/rest/groups.rb +0 -68
- data/lib/sendgrid4r/rest/pools.rb +0 -53
- data/lib/sendgrid4r/rest/suppressions.rb +0 -57
- data/lib/sendgrid4r/rest/templates.rb +0 -64
- data/lib/sendgrid4r/rest/versions.rb +0 -65
- data/lib/sendgrid4r/rest/warmup.rb +0 -53
- data/spec/addresses_spec.rb +0 -80
- data/spec/groups_spec.rb +0 -54
- data/spec/pools_spec.rb +0 -62
- data/spec/templates_spec.rb +0 -38
- data/spec/versions_spec.rb +0 -75
- data/spec/warmup_spec.rb +0 -52
metadata
CHANGED
@@ -1,71 +1,103 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sendgrid4r
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- awwa500@gmail.com
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-02-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 1.7.2
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.7.2
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rubocop
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
23
30
|
requirements:
|
24
31
|
- - ">="
|
25
32
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
33
|
+
version: 0.29.0
|
34
|
+
- - "<"
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: 0.30.0
|
37
|
+
type: :development
|
38
|
+
prerelease: false
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 0.29.0
|
44
|
+
- - "<"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 0.30.0
|
27
47
|
- !ruby/object:Gem::Dependency
|
28
48
|
name: bundler
|
29
49
|
requirement: !ruby/object:Gem::Requirement
|
30
50
|
requirements:
|
31
|
-
- - "
|
51
|
+
- - ">="
|
32
52
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
53
|
+
version: 1.6.0
|
54
|
+
- - "<"
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: 1.8.0
|
34
57
|
type: :development
|
35
58
|
prerelease: false
|
36
59
|
version_requirements: !ruby/object:Gem::Requirement
|
37
60
|
requirements:
|
38
|
-
- - "
|
61
|
+
- - ">="
|
39
62
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
63
|
+
version: 1.6.0
|
64
|
+
- - "<"
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: 1.8.0
|
41
67
|
- !ruby/object:Gem::Dependency
|
42
68
|
name: rspec
|
43
69
|
requirement: !ruby/object:Gem::Requirement
|
44
70
|
requirements:
|
45
|
-
- -
|
71
|
+
- - '='
|
46
72
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
73
|
+
version: 3.1.0
|
48
74
|
type: :development
|
49
75
|
prerelease: false
|
50
76
|
version_requirements: !ruby/object:Gem::Requirement
|
51
77
|
requirements:
|
52
|
-
- -
|
78
|
+
- - '='
|
53
79
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
80
|
+
version: 3.1.0
|
55
81
|
- !ruby/object:Gem::Dependency
|
56
82
|
name: dotenv
|
57
83
|
requirement: !ruby/object:Gem::Requirement
|
58
84
|
requirements:
|
59
85
|
- - ">="
|
60
86
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
87
|
+
version: 0.11.0
|
88
|
+
- - "<"
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: 0.12.0
|
62
91
|
type: :development
|
63
92
|
prerelease: false
|
64
93
|
version_requirements: !ruby/object:Gem::Requirement
|
65
94
|
requirements:
|
66
95
|
- - ">="
|
67
96
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
97
|
+
version: 0.11.0
|
98
|
+
- - "<"
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: 0.12.0
|
69
101
|
description: SendGrid Web API v3 module
|
70
102
|
email:
|
71
103
|
- awwa500@gmail.com
|
@@ -75,6 +107,7 @@ extra_rdoc_files: []
|
|
75
107
|
files:
|
76
108
|
- ".env.example"
|
77
109
|
- ".gitignore"
|
110
|
+
- ".rubocop.yml"
|
78
111
|
- ".travis.yml"
|
79
112
|
- Gemfile
|
80
113
|
- LICENSE.txt
|
@@ -84,31 +117,44 @@ files:
|
|
84
117
|
- lib/client.rb
|
85
118
|
- lib/sendgrid4r.rb
|
86
119
|
- lib/sendgrid4r/factory/version_factory.rb
|
87
|
-
- lib/sendgrid4r/rest/addresses.rb
|
88
120
|
- lib/sendgrid4r/rest/api.rb
|
89
|
-
- lib/sendgrid4r/rest/
|
90
|
-
- lib/sendgrid4r/rest/
|
91
|
-
- lib/sendgrid4r/rest/
|
92
|
-
- lib/sendgrid4r/rest/
|
121
|
+
- lib/sendgrid4r/rest/asm/global_suppressions.rb
|
122
|
+
- lib/sendgrid4r/rest/asm/groups.rb
|
123
|
+
- lib/sendgrid4r/rest/asm/suppressions.rb
|
124
|
+
- lib/sendgrid4r/rest/categories/categories.rb
|
125
|
+
- lib/sendgrid4r/rest/ips/addresses.rb
|
126
|
+
- lib/sendgrid4r/rest/ips/pools.rb
|
127
|
+
- lib/sendgrid4r/rest/ips/warmup.rb
|
93
128
|
- lib/sendgrid4r/rest/request.rb
|
94
|
-
- lib/sendgrid4r/rest/
|
95
|
-
- lib/sendgrid4r/rest/
|
96
|
-
- lib/sendgrid4r/rest/
|
97
|
-
- lib/sendgrid4r/rest/
|
129
|
+
- lib/sendgrid4r/rest/settings/enforced_tls.rb
|
130
|
+
- lib/sendgrid4r/rest/stats/advanced.rb
|
131
|
+
- lib/sendgrid4r/rest/stats/category.rb
|
132
|
+
- lib/sendgrid4r/rest/stats/global.rb
|
133
|
+
- lib/sendgrid4r/rest/stats/parse.rb
|
134
|
+
- lib/sendgrid4r/rest/stats/stats.rb
|
135
|
+
- lib/sendgrid4r/rest/stats/subuser.rb
|
136
|
+
- lib/sendgrid4r/rest/templates/templates.rb
|
137
|
+
- lib/sendgrid4r/rest/templates/versions.rb
|
98
138
|
- lib/sendgrid4r/version.rb
|
99
139
|
- sendgrid4r.gemspec
|
100
|
-
- spec/
|
140
|
+
- spec/asm/global_suppressions_spec.rb
|
141
|
+
- spec/asm/groups_spec.rb
|
142
|
+
- spec/asm/suppressions_spec.rb
|
143
|
+
- spec/categories/categories_spec.rb
|
101
144
|
- spec/client_spec.rb
|
102
|
-
- spec/
|
103
|
-
- spec/
|
104
|
-
- spec/
|
105
|
-
- spec/
|
145
|
+
- spec/ips/addresses_spec.rb
|
146
|
+
- spec/ips/pools_spec.rb
|
147
|
+
- spec/ips/warmup_spec.rb
|
148
|
+
- spec/settings/enforced_tls_spec.rb
|
106
149
|
- spec/spec_helper.rb
|
107
|
-
- spec/
|
108
|
-
- spec/
|
150
|
+
- spec/stats/advanced_spec.rb
|
151
|
+
- spec/stats/category_spec.rb
|
152
|
+
- spec/stats/global_spec.rb
|
153
|
+
- spec/stats/parse_spec.rb
|
154
|
+
- spec/stats/subuser_spec.rb
|
155
|
+
- spec/templates/templates_spec.rb
|
156
|
+
- spec/templates/versions_spec.rb
|
109
157
|
- spec/version_factory_spec.rb
|
110
|
-
- spec/versions_spec.rb
|
111
|
-
- spec/warmup_spec.rb
|
112
158
|
homepage: ''
|
113
159
|
licenses:
|
114
160
|
- MIT
|
@@ -134,16 +180,22 @@ signing_key:
|
|
134
180
|
specification_version: 4
|
135
181
|
summary: SendGrid Web API v3 module
|
136
182
|
test_files:
|
137
|
-
- spec/
|
183
|
+
- spec/asm/global_suppressions_spec.rb
|
184
|
+
- spec/asm/groups_spec.rb
|
185
|
+
- spec/asm/suppressions_spec.rb
|
186
|
+
- spec/categories/categories_spec.rb
|
138
187
|
- spec/client_spec.rb
|
139
|
-
- spec/
|
140
|
-
- spec/
|
141
|
-
- spec/
|
142
|
-
- spec/
|
188
|
+
- spec/ips/addresses_spec.rb
|
189
|
+
- spec/ips/pools_spec.rb
|
190
|
+
- spec/ips/warmup_spec.rb
|
191
|
+
- spec/settings/enforced_tls_spec.rb
|
143
192
|
- spec/spec_helper.rb
|
144
|
-
- spec/
|
145
|
-
- spec/
|
193
|
+
- spec/stats/advanced_spec.rb
|
194
|
+
- spec/stats/category_spec.rb
|
195
|
+
- spec/stats/global_spec.rb
|
196
|
+
- spec/stats/parse_spec.rb
|
197
|
+
- spec/stats/subuser_spec.rb
|
198
|
+
- spec/templates/templates_spec.rb
|
199
|
+
- spec/templates/versions_spec.rb
|
146
200
|
- spec/version_factory_spec.rb
|
147
|
-
- spec/versions_spec.rb
|
148
|
-
- spec/warmup_spec.rb
|
149
201
|
has_rdoc:
|
@@ -1,62 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
$:.unshift File.dirname(__FILE__)
|
3
|
-
|
4
|
-
require "sendgrid4r/rest/request"
|
5
|
-
|
6
|
-
module SendGrid4r
|
7
|
-
module REST
|
8
|
-
module Ips
|
9
|
-
module Addresses
|
10
|
-
|
11
|
-
include SendGrid4r::REST::Request
|
12
|
-
|
13
|
-
def get_ips
|
14
|
-
response = get(@auth, "#{SendGrid4r::Client::BASE_URL}/ips")
|
15
|
-
ips = Array.new
|
16
|
-
response.each{|ip|
|
17
|
-
ip_address = Address.create(ip)
|
18
|
-
ips.push(ip_address)
|
19
|
-
} if response.length > 0
|
20
|
-
ips
|
21
|
-
end
|
22
|
-
|
23
|
-
def get_ip(ip)
|
24
|
-
Address.create(get(@auth, "#{SendGrid4r::Client::BASE_URL}/ips/#{ip}"))
|
25
|
-
end
|
26
|
-
|
27
|
-
def post_ip_to_pool(pool_name, ip)
|
28
|
-
params = Hash.new
|
29
|
-
params["ip"] = ip
|
30
|
-
Address.create(post(@auth, "#{SendGrid4r::Client::BASE_URL}/ips/pools/#{pool_name}/ips", params))
|
31
|
-
end
|
32
|
-
|
33
|
-
def delete_ip_from_pool(pool_name, ip)
|
34
|
-
delete(@auth,"#{SendGrid4r::Client::BASE_URL}/ips/pools/#{pool_name}/ips/#{ip}")
|
35
|
-
end
|
36
|
-
|
37
|
-
end
|
38
|
-
|
39
|
-
class Address
|
40
|
-
|
41
|
-
attr_accessor :ip, :pools, :warmup, :start_date, :pool_name
|
42
|
-
|
43
|
-
def self.create(value)
|
44
|
-
obj = Address.new
|
45
|
-
obj.ip = value["ip"]
|
46
|
-
obj.pools = []
|
47
|
-
value["pools"].each{|pool|
|
48
|
-
ver = Pool.create(pool)
|
49
|
-
obj.pools.push(ver)
|
50
|
-
} if value["pools"] != nil
|
51
|
-
obj.warmup = value["warmup"]
|
52
|
-
obj.start_date = value["start_date"]
|
53
|
-
obj.pool_name = value["pool_name"]
|
54
|
-
obj
|
55
|
-
end
|
56
|
-
|
57
|
-
end
|
58
|
-
|
59
|
-
end
|
60
|
-
|
61
|
-
end
|
62
|
-
end
|
@@ -1,46 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
$:.unshift File.dirname(__FILE__)
|
3
|
-
|
4
|
-
require "sendgrid4r/rest/request"
|
5
|
-
|
6
|
-
module SendGrid4r
|
7
|
-
module REST
|
8
|
-
module Settings
|
9
|
-
module EnforcedTls
|
10
|
-
|
11
|
-
include SendGrid4r::REST::Request
|
12
|
-
|
13
|
-
def get_enforced_tls
|
14
|
-
response = get(@auth, "#{SendGrid4r::Client::BASE_URL}/user/settings/enforced_tls")
|
15
|
-
EnforcedTls.create(response)
|
16
|
-
end
|
17
|
-
|
18
|
-
def patch_enforced_tls(params)
|
19
|
-
response = patch(@auth, "#{SendGrid4r::Client::BASE_URL}/user/settings/enforced_tls", params.to_hash)
|
20
|
-
EnforcedTls.create(response)
|
21
|
-
end
|
22
|
-
|
23
|
-
class EnforcedTls
|
24
|
-
|
25
|
-
attr_accessor :require_tls, :require_valid_cert
|
26
|
-
|
27
|
-
def self.create(value)
|
28
|
-
obj = EnforcedTls.new
|
29
|
-
obj.require_tls = value["require_tls"]
|
30
|
-
obj.require_valid_cert = value["require_valid_cert"]
|
31
|
-
obj
|
32
|
-
end
|
33
|
-
|
34
|
-
def to_hash
|
35
|
-
hash = Hash.new
|
36
|
-
hash["require_tls"] = @require_tls if @require_tls != nil
|
37
|
-
hash["require_valid_cert"] = @require_valid_cert if @require_valid_cert != nil
|
38
|
-
hash
|
39
|
-
end
|
40
|
-
|
41
|
-
end
|
42
|
-
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
@@ -1,35 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
$:.unshift File.dirname(__FILE__)
|
3
|
-
|
4
|
-
require "sendgrid4r/rest/request"
|
5
|
-
|
6
|
-
module SendGrid4r
|
7
|
-
module REST
|
8
|
-
module Asm
|
9
|
-
module GlobalSuppressions
|
10
|
-
|
11
|
-
include SendGrid4r::REST::Request
|
12
|
-
|
13
|
-
def post_global_suppressed_emails(recipient_emails)
|
14
|
-
params = Hash.new
|
15
|
-
params["recipient_emails"] = recipient_emails
|
16
|
-
response = post(@auth, "#{SendGrid4r::Client::BASE_URL}/asm/suppressions/global", params.to_hash)
|
17
|
-
recipient_emails = response["recipient_emails"]
|
18
|
-
recipient_emails
|
19
|
-
end
|
20
|
-
|
21
|
-
def get_global_suppressed_email(email_address)
|
22
|
-
response = get(@auth, "#{SendGrid4r::Client::BASE_URL}/asm/suppressions/global/#{email_address}")
|
23
|
-
email_address = response["recipient_email"]
|
24
|
-
email_address
|
25
|
-
end
|
26
|
-
|
27
|
-
def delete_global_suppressed_email(email_address)
|
28
|
-
delete(@auth, "#{SendGrid4r::Client::BASE_URL}/asm/suppressions/global/#{email_address}")
|
29
|
-
end
|
30
|
-
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
end
|
35
|
-
end
|
@@ -1,68 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
$:.unshift File.dirname(__FILE__)
|
3
|
-
|
4
|
-
require "sendgrid4r/rest/request"
|
5
|
-
|
6
|
-
module SendGrid4r
|
7
|
-
module REST
|
8
|
-
module Asm
|
9
|
-
module Groups
|
10
|
-
|
11
|
-
include SendGrid4r::REST::Request
|
12
|
-
|
13
|
-
def get_groups
|
14
|
-
response = get(@auth, "#{SendGrid4r::Client::BASE_URL}/asm/groups")
|
15
|
-
groups = Array.new
|
16
|
-
response.each{|grp|
|
17
|
-
group = Group.create(grp)
|
18
|
-
groups.push(group)
|
19
|
-
} if response.length != 0
|
20
|
-
groups
|
21
|
-
end
|
22
|
-
|
23
|
-
def get_group(group_id)
|
24
|
-
Group.create(get(@auth, "#{SendGrid4r::Client::BASE_URL}/asm/groups/#{group_id}"))
|
25
|
-
end
|
26
|
-
|
27
|
-
def post_group(name, description)
|
28
|
-
params = Hash.new
|
29
|
-
params["name"] = name
|
30
|
-
params["description"] = description
|
31
|
-
Group.create(post(@auth, "#{SendGrid4r::Client::BASE_URL}/asm/groups", params))
|
32
|
-
end
|
33
|
-
|
34
|
-
def patch_group(group_id, group)
|
35
|
-
Group.create(patch(@auth, "#{SendGrid4r::Client::BASE_URL}/asm/groups/#{group_id}", group.to_hash))
|
36
|
-
end
|
37
|
-
|
38
|
-
def delete_group(group_id)
|
39
|
-
delete(@auth, "#{SendGrid4r::Client::BASE_URL}/asm/groups/#{group_id}")
|
40
|
-
end
|
41
|
-
|
42
|
-
end
|
43
|
-
|
44
|
-
class Group
|
45
|
-
|
46
|
-
attr_accessor :id, :name, :description, :last_email_sent_at, :unsubscribes
|
47
|
-
|
48
|
-
def self.create(value)
|
49
|
-
obj = Group.new
|
50
|
-
obj.id = value["id"]
|
51
|
-
obj.name = value["name"]
|
52
|
-
obj.description = value["description"]
|
53
|
-
obj.last_email_sent_at = value["last_email_sent_at"]
|
54
|
-
obj.unsubscribes = value["unsubscribes"]
|
55
|
-
obj
|
56
|
-
end
|
57
|
-
|
58
|
-
def to_hash
|
59
|
-
hash = {
|
60
|
-
"name" => @name,
|
61
|
-
"description" => @description,
|
62
|
-
}
|
63
|
-
hash
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|
@@ -1,53 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
$:.unshift File.dirname(__FILE__)
|
3
|
-
|
4
|
-
require "sendgrid4r/rest/request"
|
5
|
-
|
6
|
-
module SendGrid4r
|
7
|
-
module REST
|
8
|
-
module Ips
|
9
|
-
module Pools
|
10
|
-
|
11
|
-
include SendGrid4r::REST::Request
|
12
|
-
|
13
|
-
def get_pools
|
14
|
-
get(@auth, "#{SendGrid4r::Client::BASE_URL}/ips/pools")
|
15
|
-
end
|
16
|
-
|
17
|
-
def post_pool(name)
|
18
|
-
params = Hash.new
|
19
|
-
params["name"] = name
|
20
|
-
Pool.create(post(@auth, "#{SendGrid4r::Client::BASE_URL}/ips/pools", params))
|
21
|
-
end
|
22
|
-
|
23
|
-
def get_pool(name)
|
24
|
-
Pool.create(get(@auth, "#{SendGrid4r::Client::BASE_URL}/ips/pools/#{name}"))
|
25
|
-
end
|
26
|
-
|
27
|
-
def put_pool(name, new_name)
|
28
|
-
params = Hash.new
|
29
|
-
params["name"] = new_name
|
30
|
-
Pool.create(put(@auth, "#{SendGrid4r::Client::BASE_URL}/ips/pools/#{name}", params))
|
31
|
-
end
|
32
|
-
|
33
|
-
def delete_pool(name)
|
34
|
-
delete(@auth,"#{SendGrid4r::Client::BASE_URL}/ips/pools/#{name}")
|
35
|
-
end
|
36
|
-
|
37
|
-
end
|
38
|
-
|
39
|
-
class Pool
|
40
|
-
|
41
|
-
attr_accessor :name, :ips
|
42
|
-
|
43
|
-
def self.create(value)
|
44
|
-
obj = Pool.new
|
45
|
-
obj.name = value["name"]
|
46
|
-
obj.ips = value["ips"]
|
47
|
-
obj
|
48
|
-
end
|
49
|
-
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
@@ -1,57 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
$:.unshift File.dirname(__FILE__)
|
3
|
-
|
4
|
-
require "sendgrid4r/rest/request"
|
5
|
-
|
6
|
-
module SendGrid4r
|
7
|
-
module REST
|
8
|
-
module Asm
|
9
|
-
module Suppressions
|
10
|
-
|
11
|
-
include SendGrid4r::REST::Request
|
12
|
-
|
13
|
-
def get_suppressions(email_address)
|
14
|
-
response = get(@auth, "#{SendGrid4r::Client::BASE_URL}/asm/suppressions/#{email_address}")
|
15
|
-
suppressions = Array.new
|
16
|
-
response["suppressions"].each{|spr|
|
17
|
-
suppression = Suppression.create(spr)
|
18
|
-
suppressions.push(suppression)
|
19
|
-
} if response["suppressions"] != nil
|
20
|
-
suppressions
|
21
|
-
end
|
22
|
-
|
23
|
-
def get_suppressed_emails(group_id)
|
24
|
-
get(@auth, "#{SendGrid4r::Client::BASE_URL}/asm/groups/#{group_id}/suppressions")
|
25
|
-
end
|
26
|
-
|
27
|
-
def post_suppressed_emails(group_id, recipient_emails)
|
28
|
-
params = Hash.new
|
29
|
-
params["recipient_emails"] = recipient_emails
|
30
|
-
response = post(@auth, "#{SendGrid4r::Client::BASE_URL}/asm/groups/#{group_id}/suppressions", params.to_hash)
|
31
|
-
recipient_emails = response["recipient_emails"]
|
32
|
-
recipient_emails
|
33
|
-
end
|
34
|
-
|
35
|
-
def delete_suppressed_email(group_id, email_address)
|
36
|
-
delete(@auth, "#{SendGrid4r::Client::BASE_URL}/asm/groups/#{group_id}/suppressions/#{email_address}")
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|
40
|
-
|
41
|
-
class Suppression
|
42
|
-
|
43
|
-
attr_accessor :id, :name, :description, :suppressed
|
44
|
-
|
45
|
-
def self.create(value)
|
46
|
-
obj = Suppression.new
|
47
|
-
obj.id = value["id"]
|
48
|
-
obj.name = value["name"]
|
49
|
-
obj.description = value["description"]
|
50
|
-
obj.suppressed = value["suppressed"]
|
51
|
-
obj
|
52
|
-
end
|
53
|
-
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
@@ -1,64 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
$:.unshift File.dirname(__FILE__)
|
3
|
-
|
4
|
-
require "sendgrid4r/rest/request"
|
5
|
-
|
6
|
-
require "versions"
|
7
|
-
|
8
|
-
module SendGrid4r
|
9
|
-
module REST
|
10
|
-
module Templates
|
11
|
-
|
12
|
-
include SendGrid4r::REST::Request
|
13
|
-
|
14
|
-
def get_templates
|
15
|
-
response = get(@auth, "#{SendGrid4r::Client::BASE_URL}/templates")
|
16
|
-
tmps = Array.new
|
17
|
-
response["templates"].each{|template|
|
18
|
-
tmp = Template.create(template)
|
19
|
-
tmps.push(tmp)
|
20
|
-
} if response["templates"] != nil
|
21
|
-
tmps
|
22
|
-
end
|
23
|
-
|
24
|
-
def get_template(template_id)
|
25
|
-
Template.create(get(@auth, "#{SendGrid4r::Client::BASE_URL}/templates/#{template_id}"))
|
26
|
-
end
|
27
|
-
|
28
|
-
def post_template(name)
|
29
|
-
params = Hash.new
|
30
|
-
params["name"] = name
|
31
|
-
Template.create(post(@auth, "#{SendGrid4r::Client::BASE_URL}/templates", params))
|
32
|
-
end
|
33
|
-
|
34
|
-
def patch_template(template_id, name)
|
35
|
-
params = Hash.new
|
36
|
-
params["name"] = name
|
37
|
-
Template.create(patch(@auth, "#{SendGrid4r::Client::BASE_URL}/templates/#{template_id}", params))
|
38
|
-
end
|
39
|
-
|
40
|
-
def delete_template(template_id)
|
41
|
-
delete(@auth, "#{SendGrid4r::Client::BASE_URL}/templates/#{template_id}")
|
42
|
-
end
|
43
|
-
|
44
|
-
end
|
45
|
-
|
46
|
-
class Template
|
47
|
-
|
48
|
-
attr_accessor :id, :name, :versions
|
49
|
-
|
50
|
-
def self.create(value)
|
51
|
-
obj = Template.new
|
52
|
-
obj.id = value["id"]
|
53
|
-
obj.name = value["name"]
|
54
|
-
obj.versions = []
|
55
|
-
value["versions"].each{|version|
|
56
|
-
ver = Templates::Version.create(version)
|
57
|
-
obj.versions.push(ver)
|
58
|
-
}
|
59
|
-
obj
|
60
|
-
end
|
61
|
-
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
@@ -1,65 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
$:.unshift File.dirname(__FILE__)
|
3
|
-
|
4
|
-
require "sendgrid4r/rest/request"
|
5
|
-
|
6
|
-
module SendGrid4r
|
7
|
-
module REST
|
8
|
-
module Templates
|
9
|
-
module Versions
|
10
|
-
|
11
|
-
include SendGrid4r::REST::Request
|
12
|
-
|
13
|
-
def get_version(template_id, version_id)
|
14
|
-
Version.create(get(@auth, "#{SendGrid4r::Client::BASE_URL}/templates/#{template_id}/versions/#{version_id}"))
|
15
|
-
end
|
16
|
-
|
17
|
-
def post_version(template_id, version)
|
18
|
-
Version.create(post(@auth, "#{SendGrid4r::Client::BASE_URL}/templates/#{template_id}/versions", version.to_hash))
|
19
|
-
end
|
20
|
-
|
21
|
-
def activate_version(template_id, version_id)
|
22
|
-
Version.create(post(@auth, "#{SendGrid4r::Client::BASE_URL}/templates/#{template_id}/versions/#{version_id}/activate"))
|
23
|
-
end
|
24
|
-
|
25
|
-
def patch_version(template_id, version_id, version)
|
26
|
-
Version.create(patch(@auth, "#{SendGrid4r::Client::BASE_URL}/templates/#{template_id}/versions/#{version_id}", version.to_hash))
|
27
|
-
end
|
28
|
-
|
29
|
-
def delete_version(template_id, version_id)
|
30
|
-
delete(@auth, "#{SendGrid4r::Client::BASE_URL}/templates/#{template_id}/versions/#{version_id}")
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
class Version
|
35
|
-
|
36
|
-
attr_accessor :id, :template_id, :active, :name, :html_content, :plain_content, :subject, :updated_at
|
37
|
-
|
38
|
-
def self.create(value)
|
39
|
-
obj = Version.new
|
40
|
-
obj.id = value["id"]
|
41
|
-
obj.template_id = value["template_id"]
|
42
|
-
obj.active = value["active"]
|
43
|
-
obj.name = value["name"]
|
44
|
-
obj.html_content = value["html_content"]
|
45
|
-
obj.plain_content = value["plain_content"]
|
46
|
-
obj.subject = value["subject"]
|
47
|
-
obj.updated_at = value["updated_at"]
|
48
|
-
obj
|
49
|
-
end
|
50
|
-
|
51
|
-
def to_hash
|
52
|
-
hash = {
|
53
|
-
"active" => @active,
|
54
|
-
"name" => @name,
|
55
|
-
"html_content" => @html_content,
|
56
|
-
"plain_content" => @plain_content,
|
57
|
-
"subject" => @subject,
|
58
|
-
}
|
59
|
-
hash
|
60
|
-
end
|
61
|
-
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|