enveloop 0.1.1 → 0.1.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1af89bdd26c1380d6f05ebf9b9ab9e86c29617eeb689760c88dd81f7009397cd
4
- data.tar.gz: 51c5c8a2ffc6e557e469b14a5dac3b1b04628c484525189598a893c55de7630f
3
+ metadata.gz: 0c04cdee8d0a0fc537a9270f9bbb29417eae1bb2c70edd2b6a9d9b985c50f91c
4
+ data.tar.gz: 730ad713a4258f0f418ed383006073f9a98e861258abd198b7c60ef5d15f5530
5
5
  SHA512:
6
- metadata.gz: 3048366a973c5115ac2e9c5dafae487441c62d4f43d6106dc9886f3dbca336d41870195f25d15bdb5f4fc3811bd47ad49d2fa40face26866921f01e6b0b830ca
7
- data.tar.gz: de31f9fb4c68cab0c0773e4e1a192a1fc9ff64904254f4e5468c35addbd1f94d419f44792448bd1781831e385f17ad1c9832e6bc5ed5216b26f85c95964498a9
6
+ metadata.gz: 80fe49dc8664b0317b9a7f6f81b603abcedbe38f89b3f8c444bc0cd73536ba06cc9740a02aa23b3e5b70c74af6dc3dc910c0d7a156f1f75841048f41eef90d24
7
+ data.tar.gz: db4ead56d96c4567ab983c99c34a65a7d659aff8b71ed8889631669e9a83e6372385fc93c43987dbb99345da415f608d0f20f3574c5705e2442a7ed4ac2d27e6
data/CHANGELOG.md CHANGED
@@ -7,4 +7,12 @@
7
7
 
8
8
  > ## Version 0.1.1
9
9
 
10
- * Add Response class
10
+ * Add Response class
11
+
12
+ > ## Version 0.1.2
13
+
14
+ * add `template_info` to fetch the template body and see waht variables are defined on a template
15
+
16
+ > ## Version 0.1.3
17
+
18
+ * change `user_variables` to `template_variables` in API call
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- enveloop (0.1.1)
4
+ enveloop (0.1.3)
5
5
  faraday
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -20,22 +20,34 @@ Or install it yourself as:
20
20
 
21
21
  ## Usage
22
22
 
23
+ Setup the client connection:
24
+
23
25
  ```ruby
24
26
  require 'enveloop'
25
27
 
26
28
  enveloop = Enveloop::Client.new(api_key: ENV['ENVELOOP_API_TOKEN'])
29
+ ```
27
30
 
31
+ Send a message:
32
+
33
+ ```ruby
28
34
  enveloop.send_message(
29
35
  template: 'welcome-email',
30
36
  to: 'user@email.com',
31
37
  from: 'welcome@myapp.com',
32
38
  subject: 'Welcome to MyApp',
33
- user_variables: {
39
+ template_variables: {
34
40
  first_name: 'John',
35
41
  }
36
42
  )
37
43
  ```
38
44
 
45
+ Get information about a template (variables and body html):
46
+
47
+ ```ruby
48
+ enveloop.template_info(template: 'welcome-email')
49
+ ```
50
+
39
51
  ## Development
40
52
 
41
53
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -44,7 +56,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
44
56
 
45
57
  ## Contributing
46
58
 
47
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/enveloop. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/[USERNAME]/enveloop/blob/master/CODE_OF_CONDUCT.md).
59
+ Bug reports and pull requests are welcome on GitHub at https://github.com/enveloophq/enveloop-ruby. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/enveloophq/enveloop-ruby/blob/master/CODE_OF_CONDUCT.md).
48
60
 
49
61
 
50
62
  ## License
@@ -53,4 +65,4 @@ The gem is available as open source under the terms of the [MIT License](https:/
53
65
 
54
66
  ## Code of Conduct
55
67
 
56
- Everyone interacting in the Enveloop project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/enveloop/blob/master/CODE_OF_CONDUCT.md).
68
+ Everyone interacting in the Enveloop project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/enveloophq/enveloop-ruby/blob/master/CODE_OF_CONDUCT.md).
@@ -5,12 +5,12 @@ module Enveloop
5
5
  @api_key = api_key
6
6
  end
7
7
 
8
- def send_message(template:, to:, from:, subject:, user_variables: {})
8
+ def send_message(template:, to:, from:, subject:, template_variables: {})
9
9
  data = {
10
10
  to: to,
11
11
  from: from,
12
12
  subject: subject,
13
- userVariables: user_variables
13
+ templateVariables: template_variables
14
14
  }
15
15
 
16
16
  conn = Faraday.new(
@@ -25,7 +25,21 @@ module Enveloop
25
25
  req.body = data.to_json
26
26
  end
27
27
 
28
- return Response.new(status: response.status, body: response.body)
28
+ return MessageResponse.new(status: response.status, body: response.body)
29
+ end
30
+
31
+ def template_info(template:)
32
+ conn = Faraday.new(
33
+ url: @endpoint,
34
+ headers: {
35
+ "Content-Type" => "application/json",
36
+ "Authorization" => "token #{@api_key}"
37
+ }
38
+ )
39
+
40
+ response = conn.get("/templates/#{template}")
41
+
42
+ return TemplateResponse.new(status: response.status, body: response.body)
29
43
  end
30
44
  end
31
45
  end
@@ -1,5 +1,5 @@
1
1
  module Enveloop
2
- class Response
2
+ class MessageResponse
3
3
  attr_reader :status, :message, :error
4
4
 
5
5
  def initialize(status: 200, body: nil)
@@ -7,12 +7,9 @@ module Enveloop
7
7
 
8
8
  if status == 200
9
9
  @message = JSON.parse(body)
10
- @error = nil
11
10
  elsif status == 500
12
- @message = nil
13
11
  @error = JSON.parse(body)['error']
14
12
  else
15
- @message = nil
16
13
  @error = 'Unknown error'
17
14
  end
18
15
  end
@@ -0,0 +1,21 @@
1
+ module Enveloop
2
+ class TemplateResponse
3
+ attr_reader :status, :template, :error
4
+
5
+ def initialize(status: 200, body: nil)
6
+ @status = status
7
+
8
+ if status == 200
9
+ @template = JSON.parse(body)
10
+ elsif status == 500
11
+ @error = JSON.parse(body)['error']
12
+ else
13
+ @error = 'Unknown error'
14
+ end
15
+ end
16
+
17
+ def success?
18
+ @status == 200
19
+ end
20
+ end
21
+ end
@@ -1,3 +1,3 @@
1
1
  module Enveloop
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.3"
3
3
  end
data/lib/enveloop.rb CHANGED
@@ -3,7 +3,8 @@ require "json"
3
3
 
4
4
  require "enveloop/version"
5
5
  require 'enveloop/client'
6
- require 'enveloop/response'
6
+ require 'enveloop/message_response'
7
+ require 'enveloop/template_response'
7
8
 
8
9
  module Enveloop
9
10
  class Error < StandardError; end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: enveloop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Wyrosdick
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-10-06 00:00:00.000000000 Z
11
+ date: 2022-10-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -45,7 +45,8 @@ files:
45
45
  - enveloop.gemspec
46
46
  - lib/enveloop.rb
47
47
  - lib/enveloop/client.rb
48
- - lib/enveloop/response.rb
48
+ - lib/enveloop/message_response.rb
49
+ - lib/enveloop/template_response.rb
49
50
  - lib/enveloop/version.rb
50
51
  homepage: https://github.com/enveloophq/ruby_enveloop
51
52
  licenses: