sendgrid4r 0.0.5 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +21 -0
  3. data/.travis.yml +2 -3
  4. data/README.md +3 -373
  5. data/Rakefile +1 -1
  6. data/lib/auth.rb +7 -9
  7. data/lib/client.rb +8 -9
  8. data/lib/sendgrid4r/factory/version_factory.rb +20 -10
  9. data/lib/sendgrid4r/rest/api.rb +28 -9
  10. data/lib/sendgrid4r/rest/asm/global_suppressions.rb +46 -0
  11. data/lib/sendgrid4r/rest/asm/groups.rb +69 -0
  12. data/lib/sendgrid4r/rest/asm/suppressions.rb +68 -0
  13. data/lib/sendgrid4r/rest/categories/categories.rb +38 -0
  14. data/lib/sendgrid4r/rest/ips/addresses.rb +74 -0
  15. data/lib/sendgrid4r/rest/ips/pools.rb +63 -0
  16. data/lib/sendgrid4r/rest/ips/warmup.rb +55 -0
  17. data/lib/sendgrid4r/rest/request.rb +34 -19
  18. data/lib/sendgrid4r/rest/settings/enforced_tls.rb +39 -0
  19. data/lib/sendgrid4r/rest/stats/advanced.rb +91 -0
  20. data/lib/sendgrid4r/rest/stats/category.rb +47 -0
  21. data/lib/sendgrid4r/rest/stats/global.rb +26 -0
  22. data/lib/sendgrid4r/rest/stats/parse.rb +26 -0
  23. data/lib/sendgrid4r/rest/stats/stats.rb +89 -0
  24. data/lib/sendgrid4r/rest/stats/subuser.rb +47 -0
  25. data/lib/sendgrid4r/rest/templates/templates.rb +61 -0
  26. data/lib/sendgrid4r/rest/templates/versions.rb +92 -0
  27. data/lib/sendgrid4r/version.rb +4 -1
  28. data/lib/sendgrid4r.rb +5 -2
  29. data/sendgrid4r.gemspec +13 -12
  30. data/spec/{global_suppressions_spec.rb → asm/global_suppressions_spec.rb} +25 -17
  31. data/spec/asm/groups_spec.rb +58 -0
  32. data/spec/{suppressions_spec.rb → asm/suppressions_spec.rb} +24 -22
  33. data/spec/categories/categories_spec.rb +39 -0
  34. data/spec/client_spec.rb +65 -50
  35. data/spec/ips/addresses_spec.rb +116 -0
  36. data/spec/ips/pools_spec.rb +43 -0
  37. data/spec/ips/warmup_spec.rb +52 -0
  38. data/spec/{enforced_tls_spec.rb → settings/enforced_tls_spec.rb} +12 -11
  39. data/spec/stats/advanced_spec.rb +243 -0
  40. data/spec/stats/category_spec.rb +112 -0
  41. data/spec/stats/global_spec.rb +64 -0
  42. data/spec/stats/parse_spec.rb +49 -0
  43. data/spec/stats/subuser_spec.rb +105 -0
  44. data/spec/templates/templates_spec.rb +66 -0
  45. data/spec/templates/versions_spec.rb +89 -0
  46. data/spec/version_factory_spec.rb +20 -15
  47. metadata +94 -42
  48. data/lib/sendgrid4r/rest/addresses.rb +0 -62
  49. data/lib/sendgrid4r/rest/enforced_tls.rb +0 -46
  50. data/lib/sendgrid4r/rest/global_suppressions.rb +0 -35
  51. data/lib/sendgrid4r/rest/groups.rb +0 -68
  52. data/lib/sendgrid4r/rest/pools.rb +0 -53
  53. data/lib/sendgrid4r/rest/suppressions.rb +0 -57
  54. data/lib/sendgrid4r/rest/templates.rb +0 -64
  55. data/lib/sendgrid4r/rest/versions.rb +0 -65
  56. data/lib/sendgrid4r/rest/warmup.rb +0 -53
  57. data/spec/addresses_spec.rb +0 -80
  58. data/spec/groups_spec.rb +0 -54
  59. data/spec/pools_spec.rb +0 -62
  60. data/spec/templates_spec.rb +0 -38
  61. data/spec/versions_spec.rb +0 -75
  62. 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.5
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: 2014-10-26 00:00:00.000000000 Z
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: '0'
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: '0'
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: '1.6'
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: '1.6'
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: '0'
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: '0'
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: '0'
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: '0'
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/enforced_tls.rb
90
- - lib/sendgrid4r/rest/global_suppressions.rb
91
- - lib/sendgrid4r/rest/groups.rb
92
- - lib/sendgrid4r/rest/pools.rb
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/suppressions.rb
95
- - lib/sendgrid4r/rest/templates.rb
96
- - lib/sendgrid4r/rest/versions.rb
97
- - lib/sendgrid4r/rest/warmup.rb
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/addresses_spec.rb
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/enforced_tls_spec.rb
103
- - spec/global_suppressions_spec.rb
104
- - spec/groups_spec.rb
105
- - spec/pools_spec.rb
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/suppressions_spec.rb
108
- - spec/templates_spec.rb
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/addresses_spec.rb
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/enforced_tls_spec.rb
140
- - spec/global_suppressions_spec.rb
141
- - spec/groups_spec.rb
142
- - spec/pools_spec.rb
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/suppressions_spec.rb
145
- - spec/templates_spec.rb
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