zyphr 0.1.20 → 0.1.22

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: fc762ee588936e1ec8d39ea372bc0c8986cd201e1672ee0eee54d044570f62dd
4
- data.tar.gz: b0a9af6a8ab3ed788a093adde023ab5dba58e5a7a30885bb64e36fae250ac0c0
3
+ metadata.gz: 7629316a3d82da19fcde31efe3dbb9548425edd08002225e2813bc24c832fd28
4
+ data.tar.gz: bdcd60ce13928f2f50643ad6c3995b9a9098a9da973bf0e3347b3c8da08b2c47
5
5
  SHA512:
6
- metadata.gz: 9410b310ef0500325dbb85aa0e04a2dc78d1edc10509628b4ca382e383f189108869f7f2a02f714bf55e75a7ba502fedfe82600047be58bf4acc777c41b8c852
7
- data.tar.gz: 99fde07f3ba85115df8c8d0ab6e0a6d9a753493ac04a222ae4e238d72f19cd7ac88144f1eebd7f4ad23e842a147c7b3d2c6b759eabf353437b947583054dc516
6
+ metadata.gz: 606077bd7fb63d99666a2cd580e4919f8f84b0d05da243bc2d2c69848cb65e0d06ae3b8e5562479e0ca84c08c9354b75f5a2e2cedce758a49a1c0ece724ac43e
7
+ data.tar.gz: 9be87970b87da122769cd2831dd6afaec1841a8e0af4abb01645e7cb9bf2f12fdaa978f49ba83e5104e237e4822a32785c82dae8f9afa1d141ca510f53752240
data/README.md CHANGED
@@ -341,6 +341,7 @@ Class | Method | HTTP request | Description
341
341
  - [Zyphr::AuthEmailTemplateDeleteResponse](docs/AuthEmailTemplateDeleteResponse.md)
342
342
  - [Zyphr::AuthEmailTemplateDeleteResponseData](docs/AuthEmailTemplateDeleteResponseData.md)
343
343
  - [Zyphr::AuthEmailTemplateListResponse](docs/AuthEmailTemplateListResponse.md)
344
+ - [Zyphr::AuthEmailTemplatePreviewDraft](docs/AuthEmailTemplatePreviewDraft.md)
344
345
  - [Zyphr::AuthEmailTemplatePreviewRequest](docs/AuthEmailTemplatePreviewRequest.md)
345
346
  - [Zyphr::AuthEmailTemplatePreviewResponse](docs/AuthEmailTemplatePreviewResponse.md)
346
347
  - [Zyphr::AuthEmailTemplatePreviewResult](docs/AuthEmailTemplatePreviewResult.md)
@@ -0,0 +1,28 @@
1
+ # Zyphr::AuthEmailTemplatePreviewDraft
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **subject** | **String** | | [optional] |
8
+ | **html** | **String** | | [optional] |
9
+ | **text** | **String** | | [optional] |
10
+ | **mjml_source** | **String** | | [optional] |
11
+ | **from_name** | **String** | | [optional] |
12
+ | **reply_to** | **String** | | [optional] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'zyphr'
18
+
19
+ instance = Zyphr::AuthEmailTemplatePreviewDraft.new(
20
+ subject: null,
21
+ html: null,
22
+ text: null,
23
+ mjml_source: null,
24
+ from_name: null,
25
+ reply_to: null
26
+ )
27
+ ```
28
+
@@ -5,6 +5,7 @@
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **variables** | **Hash<String, Object>** | Variables to interpolate. If omitted, sample values are used. | [optional] |
8
+ | **draft** | [**AuthEmailTemplatePreviewDraft**](AuthEmailTemplatePreviewDraft.md) | | [optional] |
8
9
 
9
10
  ## Example
10
11
 
@@ -12,7 +13,8 @@
12
13
  require 'zyphr'
13
14
 
14
15
  instance = Zyphr::AuthEmailTemplatePreviewRequest.new(
15
- variables: null
16
+ variables: null,
17
+ draft: null
16
18
  )
17
19
  ```
18
20
 
@@ -0,0 +1,272 @@
1
+ =begin
2
+ #Zyphr API
3
+
4
+ #Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. Use `zy_test_*` keys for testing and `zy_live_*` keys for production. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: support@zyphr.dev
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.12.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Zyphr
17
+ # In-flight editor values. When provided, the preview is rendered against these instead of the persisted template. Useful for live-preview while editing.
18
+ class AuthEmailTemplatePreviewDraft
19
+ attr_accessor :subject
20
+
21
+ attr_accessor :html
22
+
23
+ attr_accessor :text
24
+
25
+ attr_accessor :mjml_source
26
+
27
+ attr_accessor :from_name
28
+
29
+ attr_accessor :reply_to
30
+
31
+ # Attribute mapping from ruby-style variable name to JSON key.
32
+ def self.attribute_map
33
+ {
34
+ :'subject' => :'subject',
35
+ :'html' => :'html',
36
+ :'text' => :'text',
37
+ :'mjml_source' => :'mjml_source',
38
+ :'from_name' => :'from_name',
39
+ :'reply_to' => :'reply_to'
40
+ }
41
+ end
42
+
43
+ # Returns attribute mapping this model knows about
44
+ def self.acceptable_attribute_map
45
+ attribute_map
46
+ end
47
+
48
+ # Returns all the JSON keys this model knows about
49
+ def self.acceptable_attributes
50
+ acceptable_attribute_map.values
51
+ end
52
+
53
+ # Attribute type mapping.
54
+ def self.openapi_types
55
+ {
56
+ :'subject' => :'String',
57
+ :'html' => :'String',
58
+ :'text' => :'String',
59
+ :'mjml_source' => :'String',
60
+ :'from_name' => :'String',
61
+ :'reply_to' => :'String'
62
+ }
63
+ end
64
+
65
+ # List of attributes with nullable: true
66
+ def self.openapi_nullable
67
+ Set.new([
68
+ :'subject',
69
+ :'html',
70
+ :'text',
71
+ :'mjml_source',
72
+ :'from_name',
73
+ :'reply_to'
74
+ ])
75
+ end
76
+
77
+ # Initializes the object
78
+ # @param [Hash] attributes Model attributes in the form of hash
79
+ def initialize(attributes = {})
80
+ if (!attributes.is_a?(Hash))
81
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Zyphr::AuthEmailTemplatePreviewDraft` initialize method"
82
+ end
83
+
84
+ # check to see if the attribute exists and convert string to symbol for hash key
85
+ acceptable_attribute_map = self.class.acceptable_attribute_map
86
+ attributes = attributes.each_with_object({}) { |(k, v), h|
87
+ if (!acceptable_attribute_map.key?(k.to_sym))
88
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Zyphr::AuthEmailTemplatePreviewDraft`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
89
+ end
90
+ h[k.to_sym] = v
91
+ }
92
+
93
+ if attributes.key?(:'subject')
94
+ self.subject = attributes[:'subject']
95
+ end
96
+
97
+ if attributes.key?(:'html')
98
+ self.html = attributes[:'html']
99
+ end
100
+
101
+ if attributes.key?(:'text')
102
+ self.text = attributes[:'text']
103
+ end
104
+
105
+ if attributes.key?(:'mjml_source')
106
+ self.mjml_source = attributes[:'mjml_source']
107
+ end
108
+
109
+ if attributes.key?(:'from_name')
110
+ self.from_name = attributes[:'from_name']
111
+ end
112
+
113
+ if attributes.key?(:'reply_to')
114
+ self.reply_to = attributes[:'reply_to']
115
+ end
116
+ end
117
+
118
+ # Show invalid properties with the reasons. Usually used together with valid?
119
+ # @return Array for valid properties with the reasons
120
+ def list_invalid_properties
121
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
122
+ invalid_properties = Array.new
123
+ invalid_properties
124
+ end
125
+
126
+ # Check to see if the all the properties in the model are valid
127
+ # @return true if the model is valid
128
+ def valid?
129
+ warn '[DEPRECATED] the `valid?` method is obsolete'
130
+ true
131
+ end
132
+
133
+ # Checks equality by comparing each attribute.
134
+ # @param [Object] Object to be compared
135
+ def ==(o)
136
+ return true if self.equal?(o)
137
+ self.class == o.class &&
138
+ subject == o.subject &&
139
+ html == o.html &&
140
+ text == o.text &&
141
+ mjml_source == o.mjml_source &&
142
+ from_name == o.from_name &&
143
+ reply_to == o.reply_to
144
+ end
145
+
146
+ # @see the `==` method
147
+ # @param [Object] Object to be compared
148
+ def eql?(o)
149
+ self == o
150
+ end
151
+
152
+ # Calculates hash code according to all attributes.
153
+ # @return [Integer] Hash code
154
+ def hash
155
+ [subject, html, text, mjml_source, from_name, reply_to].hash
156
+ end
157
+
158
+ # Builds the object from hash
159
+ # @param [Hash] attributes Model attributes in the form of hash
160
+ # @return [Object] Returns the model itself
161
+ def self.build_from_hash(attributes)
162
+ return nil unless attributes.is_a?(Hash)
163
+ attributes = attributes.transform_keys(&:to_sym)
164
+ transformed_hash = {}
165
+ openapi_types.each_pair do |key, type|
166
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
167
+ transformed_hash["#{key}"] = nil
168
+ elsif type =~ /\AArray<(.*)>/i
169
+ # check to ensure the input is an array given that the attribute
170
+ # is documented as an array but the input is not
171
+ if attributes[attribute_map[key]].is_a?(Array)
172
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
173
+ end
174
+ elsif !attributes[attribute_map[key]].nil?
175
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
176
+ end
177
+ end
178
+ new(transformed_hash)
179
+ end
180
+
181
+ # Deserializes the data based on type
182
+ # @param string type Data type
183
+ # @param string value Value to be deserialized
184
+ # @return [Object] Deserialized data
185
+ def self._deserialize(type, value)
186
+ case type.to_sym
187
+ when :Time
188
+ Time.parse(value)
189
+ when :Date
190
+ Date.parse(value)
191
+ when :String
192
+ value.to_s
193
+ when :Integer
194
+ value.to_i
195
+ when :Float
196
+ value.to_f
197
+ when :Boolean
198
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
199
+ true
200
+ else
201
+ false
202
+ end
203
+ when :Object
204
+ # generic object (usually a Hash), return directly
205
+ value
206
+ when /\AArray<(?<inner_type>.+)>\z/
207
+ inner_type = Regexp.last_match[:inner_type]
208
+ value.map { |v| _deserialize(inner_type, v) }
209
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
210
+ k_type = Regexp.last_match[:k_type]
211
+ v_type = Regexp.last_match[:v_type]
212
+ {}.tap do |hash|
213
+ value.each do |k, v|
214
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
215
+ end
216
+ end
217
+ else # model
218
+ # models (e.g. Pet) or oneOf
219
+ klass = Zyphr.const_get(type)
220
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
221
+ end
222
+ end
223
+
224
+ # Returns the string representation of the object
225
+ # @return [String] String presentation of the object
226
+ def to_s
227
+ to_hash.to_s
228
+ end
229
+
230
+ # to_body is an alias to to_hash (backward compatibility)
231
+ # @return [Hash] Returns the object in the form of hash
232
+ def to_body
233
+ to_hash
234
+ end
235
+
236
+ # Returns the object in the form of hash
237
+ # @return [Hash] Returns the object in the form of hash
238
+ def to_hash
239
+ hash = {}
240
+ self.class.attribute_map.each_pair do |attr, param|
241
+ value = self.send(attr)
242
+ if value.nil?
243
+ is_nullable = self.class.openapi_nullable.include?(attr)
244
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
245
+ end
246
+
247
+ hash[param] = _to_hash(value)
248
+ end
249
+ hash
250
+ end
251
+
252
+ # Outputs non-array value in the form of hash
253
+ # For object, use to_hash. Otherwise, just return the value
254
+ # @param [Object] value Any valid value
255
+ # @return [Hash] Returns the value in the form of hash
256
+ def _to_hash(value)
257
+ if value.is_a?(Array)
258
+ value.compact.map { |v| _to_hash(v) }
259
+ elsif value.is_a?(Hash)
260
+ {}.tap do |hash|
261
+ value.each { |k, v| hash[k] = _to_hash(v) }
262
+ end
263
+ elsif value.respond_to? :to_hash
264
+ value.to_hash
265
+ else
266
+ value
267
+ end
268
+ end
269
+
270
+ end
271
+
272
+ end
@@ -18,10 +18,13 @@ module Zyphr
18
18
  # Variables to interpolate. If omitted, sample values are used.
19
19
  attr_accessor :variables
20
20
 
21
+ attr_accessor :draft
22
+
21
23
  # Attribute mapping from ruby-style variable name to JSON key.
22
24
  def self.attribute_map
23
25
  {
24
- :'variables' => :'variables'
26
+ :'variables' => :'variables',
27
+ :'draft' => :'draft'
25
28
  }
26
29
  end
27
30
 
@@ -38,7 +41,8 @@ module Zyphr
38
41
  # Attribute type mapping.
39
42
  def self.openapi_types
40
43
  {
41
- :'variables' => :'Hash<String, Object>'
44
+ :'variables' => :'Hash<String, Object>',
45
+ :'draft' => :'AuthEmailTemplatePreviewDraft'
42
46
  }
43
47
  end
44
48
 
@@ -69,6 +73,10 @@ module Zyphr
69
73
  self.variables = value
70
74
  end
71
75
  end
76
+
77
+ if attributes.key?(:'draft')
78
+ self.draft = attributes[:'draft']
79
+ end
72
80
  end
73
81
 
74
82
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -91,7 +99,8 @@ module Zyphr
91
99
  def ==(o)
92
100
  return true if self.equal?(o)
93
101
  self.class == o.class &&
94
- variables == o.variables
102
+ variables == o.variables &&
103
+ draft == o.draft
95
104
  end
96
105
 
97
106
  # @see the `==` method
@@ -103,7 +112,7 @@ module Zyphr
103
112
  # Calculates hash code according to all attributes.
104
113
  # @return [Integer] Hash code
105
114
  def hash
106
- [variables].hash
115
+ [variables, draft].hash
107
116
  end
108
117
 
109
118
  # Builds the object from hash
@@ -60,7 +60,6 @@ module Zyphr
60
60
  # List of attributes with nullable: true
61
61
  def self.openapi_nullable
62
62
  Set.new([
63
- :'text',
64
63
  :'from_name',
65
64
  :'reply_to'
66
65
  ])
data/lib/zyphr.rb CHANGED
@@ -27,6 +27,7 @@ require 'zyphr/models/auth_email_template_default_response'
27
27
  require 'zyphr/models/auth_email_template_delete_response'
28
28
  require 'zyphr/models/auth_email_template_delete_response_data'
29
29
  require 'zyphr/models/auth_email_template_list_response'
30
+ require 'zyphr/models/auth_email_template_preview_draft'
30
31
  require 'zyphr/models/auth_email_template_preview_request'
31
32
  require 'zyphr/models/auth_email_template_preview_response'
32
33
  require 'zyphr/models/auth_email_template_preview_result'
@@ -0,0 +1,66 @@
1
+ =begin
2
+ #Zyphr API
3
+
4
+ #Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. Use `zy_test_*` keys for testing and `zy_live_*` keys for production. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: support@zyphr.dev
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.12.0
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+ require 'date'
16
+
17
+ # Unit tests for Zyphr::AuthEmailTemplatePreviewDraft
18
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
19
+ # Please update as you see appropriate
20
+ describe Zyphr::AuthEmailTemplatePreviewDraft do
21
+ let(:instance) { Zyphr::AuthEmailTemplatePreviewDraft.new }
22
+
23
+ describe 'test an instance of AuthEmailTemplatePreviewDraft' do
24
+ it 'should create an instance of AuthEmailTemplatePreviewDraft' do
25
+ # uncomment below to test the instance creation
26
+ #expect(instance).to be_instance_of(Zyphr::AuthEmailTemplatePreviewDraft)
27
+ end
28
+ end
29
+
30
+ describe 'test attribute "subject"' do
31
+ it 'should work' do
32
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
33
+ end
34
+ end
35
+
36
+ describe 'test attribute "html"' do
37
+ it 'should work' do
38
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
39
+ end
40
+ end
41
+
42
+ describe 'test attribute "text"' do
43
+ it 'should work' do
44
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
45
+ end
46
+ end
47
+
48
+ describe 'test attribute "mjml_source"' do
49
+ it 'should work' do
50
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
51
+ end
52
+ end
53
+
54
+ describe 'test attribute "from_name"' do
55
+ it 'should work' do
56
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
57
+ end
58
+ end
59
+
60
+ describe 'test attribute "reply_to"' do
61
+ it 'should work' do
62
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
63
+ end
64
+ end
65
+
66
+ end
@@ -33,4 +33,10 @@ describe Zyphr::AuthEmailTemplatePreviewRequest do
33
33
  end
34
34
  end
35
35
 
36
+ describe 'test attribute "draft"' do
37
+ it 'should work' do
38
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
39
+ end
40
+ end
41
+
36
42
  end
data/zyphr.gemspec CHANGED
@@ -17,7 +17,7 @@ require "zyphr/version"
17
17
 
18
18
  Gem::Specification.new do |s|
19
19
  s.name = "zyphr"
20
- s.version = '0.1.20'
20
+ s.version = '0.1.22'
21
21
  s.platform = Gem::Platform::RUBY
22
22
  s.authors = ["Zyphr"]
23
23
  s.email = ["support@zyphr.dev"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zyphr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.20
4
+ version: 0.1.22
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zyphr
@@ -98,6 +98,7 @@ files:
98
98
  - docs/AuthEmailTemplateDeleteResponse.md
99
99
  - docs/AuthEmailTemplateDeleteResponseData.md
100
100
  - docs/AuthEmailTemplateListResponse.md
101
+ - docs/AuthEmailTemplatePreviewDraft.md
101
102
  - docs/AuthEmailTemplatePreviewRequest.md
102
103
  - docs/AuthEmailTemplatePreviewResponse.md
103
104
  - docs/AuthEmailTemplatePreviewResult.md
@@ -534,6 +535,7 @@ files:
534
535
  - lib/zyphr/models/auth_email_template_delete_response.rb
535
536
  - lib/zyphr/models/auth_email_template_delete_response_data.rb
536
537
  - lib/zyphr/models/auth_email_template_list_response.rb
538
+ - lib/zyphr/models/auth_email_template_preview_draft.rb
537
539
  - lib/zyphr/models/auth_email_template_preview_request.rb
538
540
  - lib/zyphr/models/auth_email_template_preview_response.rb
539
541
  - lib/zyphr/models/auth_email_template_preview_result.rb
@@ -935,6 +937,7 @@ files:
935
937
  - spec/models/auth_email_template_delete_response_data_spec.rb
936
938
  - spec/models/auth_email_template_delete_response_spec.rb
937
939
  - spec/models/auth_email_template_list_response_spec.rb
940
+ - spec/models/auth_email_template_preview_draft_spec.rb
938
941
  - spec/models/auth_email_template_preview_request_spec.rb
939
942
  - spec/models/auth_email_template_preview_response_spec.rb
940
943
  - spec/models/auth_email_template_preview_result_spec.rb
@@ -1382,6 +1385,7 @@ test_files:
1382
1385
  - spec/models/request_meta_spec.rb
1383
1386
  - spec/models/bulk_retry_webhook_deliveries_request_spec.rb
1384
1387
  - spec/models/mark_all_inbox_read_request_spec.rb
1388
+ - spec/models/auth_email_template_preview_draft_spec.rb
1385
1389
  - spec/models/auth_email_template_delete_response_spec.rb
1386
1390
  - spec/models/web_authn_credential_list_response_spec.rb
1387
1391
  - spec/models/webhook_secret_rotate_response_data_spec.rb