docraptor 1.1.0 → 1.2.0beta1

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.
@@ -1,6 +1,19 @@
1
+ =begin
2
+ #DocRaptor v1
3
+
4
+ #A native client library for the DocRaptor HTML to PDF/XLS service.
5
+
6
+ OpenAPI spec version: 1.0.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.2.3
10
+
11
+ =end
12
+
1
13
  require 'date'
2
14
 
3
15
  module DocRaptor
16
+
4
17
  class AsyncDocStatus
5
18
  # The present status of the document. Can be queued, working, completed, and failed.
6
19
  attr_accessor :status
@@ -20,22 +33,16 @@ module DocRaptor
20
33
  # Error information.
21
34
  attr_accessor :validation_errors
22
35
 
36
+
23
37
  # Attribute mapping from ruby-style variable name to JSON key.
24
38
  def self.attribute_map
25
39
  {
26
-
27
40
  :'status' => :'status',
28
-
29
41
  :'download_url' => :'download_url',
30
-
31
42
  :'download_id' => :'download_id',
32
-
33
43
  :'message' => :'message',
34
-
35
44
  :'number_of_pages' => :'number_of_pages',
36
-
37
45
  :'validation_errors' => :'validation_errors'
38
-
39
46
  }
40
47
  end
41
48
 
@@ -48,44 +55,58 @@ module DocRaptor
48
55
  :'message' => :'String',
49
56
  :'number_of_pages' => :'Integer',
50
57
  :'validation_errors' => :'String'
51
-
52
58
  }
53
59
  end
54
60
 
61
+ # Initializes the object
62
+ # @param [Hash] attributes Model attributes in the form of hash
55
63
  def initialize(attributes = {})
56
64
  return unless attributes.is_a?(Hash)
57
65
 
58
66
  # convert string to symbol for hash key
59
- attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
67
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
60
68
 
61
-
62
- if attributes[:'status']
69
+ if attributes.has_key?(:'status')
63
70
  self.status = attributes[:'status']
64
71
  end
65
72
 
66
- if attributes[:'download_url']
73
+ if attributes.has_key?(:'download_url')
67
74
  self.download_url = attributes[:'download_url']
68
75
  end
69
76
 
70
- if attributes[:'download_id']
77
+ if attributes.has_key?(:'download_id')
71
78
  self.download_id = attributes[:'download_id']
72
79
  end
73
80
 
74
- if attributes[:'message']
81
+ if attributes.has_key?(:'message')
75
82
  self.message = attributes[:'message']
76
83
  end
77
84
 
78
- if attributes[:'number_of_pages']
85
+ if attributes.has_key?(:'number_of_pages')
79
86
  self.number_of_pages = attributes[:'number_of_pages']
80
87
  end
81
88
 
82
- if attributes[:'validation_errors']
89
+ if attributes.has_key?(:'validation_errors')
83
90
  self.validation_errors = attributes[:'validation_errors']
84
91
  end
85
92
 
86
93
  end
87
94
 
88
- # Check equality by comparing each attribute.
95
+ # Show invalid properties with the reasons. Usually used together with valid?
96
+ # @return Array for valid properies with the reasons
97
+ def list_invalid_properties
98
+ invalid_properties = Array.new
99
+ return invalid_properties
100
+ end
101
+
102
+ # Check to see if the all the properties in the model are valid
103
+ # @return true if the model is valid
104
+ def valid?
105
+ return true
106
+ end
107
+
108
+ # Checks equality by comparing each attribute.
109
+ # @param [Object] Object to be compared
89
110
  def ==(o)
90
111
  return true if self.equal?(o)
91
112
  self.class == o.class &&
@@ -98,35 +119,41 @@ module DocRaptor
98
119
  end
99
120
 
100
121
  # @see the `==` method
122
+ # @param [Object] Object to be compared
101
123
  def eql?(o)
102
124
  self == o
103
125
  end
104
126
 
105
- # Calculate hash code according to all attributes.
127
+ # Calculates hash code according to all attributes.
128
+ # @return [Fixnum] Hash code
106
129
  def hash
107
130
  [status, download_url, download_id, message, number_of_pages, validation_errors].hash
108
131
  end
109
132
 
110
- # build the object from hash
133
+ # Builds the object from hash
134
+ # @param [Hash] attributes Model attributes in the form of hash
135
+ # @return [Object] Returns the model itself
111
136
  def build_from_hash(attributes)
112
137
  return nil unless attributes.is_a?(Hash)
113
138
  self.class.swagger_types.each_pair do |key, type|
114
- if type =~ /^Array<(.*)>/i
139
+ if type =~ /\AArray<(.*)>/i
140
+ # check to ensure the input is an array given that the the attribute
141
+ # is documented as an array but the input is not
115
142
  if attributes[self.class.attribute_map[key]].is_a?(Array)
116
143
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
117
- else
118
- #TODO show warning in debug mode
119
144
  end
120
145
  elsif !attributes[self.class.attribute_map[key]].nil?
121
146
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
122
- else
123
- # data not found in attributes(hash), not an issue as the data can be optional
124
- end
147
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
125
148
  end
126
149
 
127
150
  self
128
151
  end
129
152
 
153
+ # Deserializes the data based on type
154
+ # @param string type Data type
155
+ # @param string value Value to be deserialized
156
+ # @return [Object] Deserialized data
130
157
  def _deserialize(type, value)
131
158
  case type.to_sym
132
159
  when :DateTime
@@ -140,7 +167,7 @@ module DocRaptor
140
167
  when :Float
141
168
  value.to_f
142
169
  when :BOOLEAN
143
- if value.to_s =~ /^(true|t|yes|y|1)$/i
170
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
144
171
  true
145
172
  else
146
173
  false
@@ -151,7 +178,7 @@ module DocRaptor
151
178
  when /\AArray<(?<inner_type>.+)>\z/
152
179
  inner_type = Regexp.last_match[:inner_type]
153
180
  value.map { |v| _deserialize(inner_type, v) }
154
- when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
181
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
155
182
  k_type = Regexp.last_match[:k_type]
156
183
  v_type = Regexp.last_match[:v_type]
157
184
  {}.tap do |hash|
@@ -160,21 +187,25 @@ module DocRaptor
160
187
  end
161
188
  end
162
189
  else # model
163
- _model = DocRaptor.const_get(type).new
164
- _model.build_from_hash(value)
190
+ temp_model = DocRaptor.const_get(type).new
191
+ temp_model.build_from_hash(value)
165
192
  end
166
193
  end
167
194
 
195
+ # Returns the string representation of the object
196
+ # @return [String] String presentation of the object
168
197
  def to_s
169
198
  to_hash.to_s
170
199
  end
171
200
 
172
- # to_body is an alias to to_body (backward compatibility))
201
+ # to_body is an alias to to_hash (backward compatibility)
202
+ # @return [Hash] Returns the object in the form of hash
173
203
  def to_body
174
204
  to_hash
175
205
  end
176
206
 
177
- # return the object in the form of hash
207
+ # Returns the object in the form of hash
208
+ # @return [Hash] Returns the object in the form of hash
178
209
  def to_hash
179
210
  hash = {}
180
211
  self.class.attribute_map.each_pair do |attr, param|
@@ -185,8 +216,10 @@ module DocRaptor
185
216
  hash
186
217
  end
187
218
 
188
- # Method to output non-array value in the form of hash
219
+ # Outputs non-array value in the form of hash
189
220
  # For object, use to_hash. Otherwise, just return the value
221
+ # @param [Object] value Any valid value
222
+ # @return [Hash] Returns the value in the form of hash
190
223
  def _to_hash(value)
191
224
  if value.is_a?(Array)
192
225
  value.compact.map{ |v| _to_hash(v) }
@@ -202,4 +235,5 @@ module DocRaptor
202
235
  end
203
236
 
204
237
  end
238
+
205
239
  end
@@ -1,6 +1,19 @@
1
+ =begin
2
+ #DocRaptor v1
3
+
4
+ #A native client library for the DocRaptor HTML to PDF/XLS service.
5
+
6
+ OpenAPI spec version: 1.0.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.2.3
10
+
11
+ =end
12
+
1
13
  require 'date'
2
14
 
3
15
  module DocRaptor
16
+
4
17
  class Doc
5
18
  # Specify a specific verison of the DocRaptor Pipeline to use.
6
19
  attr_accessor :pipeline
@@ -43,38 +56,45 @@ module DocRaptor
43
56
 
44
57
  attr_accessor :prince_options
45
58
 
59
+ class EnumAttributeValidator
60
+ attr_reader :datatype
61
+ attr_reader :allowable_values
62
+
63
+ def initialize(datatype, allowable_values)
64
+ @allowable_values = allowable_values.map do |value|
65
+ case datatype.to_s
66
+ when /Integer/i
67
+ value.to_i
68
+ when /Float/i
69
+ value.to_f
70
+ else
71
+ value
72
+ end
73
+ end
74
+ end
75
+
76
+ def valid?(value)
77
+ !value || allowable_values.include?(value)
78
+ end
79
+ end
80
+
46
81
  # Attribute mapping from ruby-style variable name to JSON key.
47
82
  def self.attribute_map
48
83
  {
49
-
50
84
  :'pipeline' => :'pipeline',
51
-
52
85
  :'name' => :'name',
53
-
54
86
  :'document_type' => :'document_type',
55
-
56
87
  :'document_content' => :'document_content',
57
-
58
88
  :'document_url' => :'document_url',
59
-
60
89
  :'test' => :'test',
61
-
62
90
  :'strict' => :'strict',
63
-
64
91
  :'ignore_resource_errors' => :'ignore_resource_errors',
65
-
66
92
  :'tag' => :'tag',
67
-
68
93
  :'help' => :'help',
69
-
70
94
  :'javascript' => :'javascript',
71
-
72
95
  :'referrer' => :'referrer',
73
-
74
96
  :'callback_url' => :'callback_url',
75
-
76
97
  :'prince_options' => :'prince_options'
77
-
78
98
  }
79
99
  end
80
100
 
@@ -95,104 +115,139 @@ module DocRaptor
95
115
  :'referrer' => :'String',
96
116
  :'callback_url' => :'String',
97
117
  :'prince_options' => :'PrinceOptions'
98
-
99
118
  }
100
119
  end
101
120
 
121
+ # Initializes the object
122
+ # @param [Hash] attributes Model attributes in the form of hash
102
123
  def initialize(attributes = {})
103
124
  return unless attributes.is_a?(Hash)
104
125
 
105
126
  # convert string to symbol for hash key
106
- attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
107
-
127
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
108
128
 
109
- if attributes[:'pipeline']
129
+ if attributes.has_key?(:'pipeline')
110
130
  self.pipeline = attributes[:'pipeline']
111
131
  end
112
132
 
113
- if attributes[:'name']
133
+ if attributes.has_key?(:'name')
114
134
  self.name = attributes[:'name']
115
135
  end
116
136
 
117
- if attributes[:'document_type']
137
+ if attributes.has_key?(:'document_type')
118
138
  self.document_type = attributes[:'document_type']
119
139
  end
120
140
 
121
- if attributes[:'document_content']
141
+ if attributes.has_key?(:'document_content')
122
142
  self.document_content = attributes[:'document_content']
123
143
  end
124
144
 
125
- if attributes[:'document_url']
145
+ if attributes.has_key?(:'document_url')
126
146
  self.document_url = attributes[:'document_url']
127
147
  end
128
148
 
129
- if attributes[:'test']
149
+ if attributes.has_key?(:'test')
130
150
  self.test = attributes[:'test']
131
151
  else
132
152
  self.test = true
133
153
  end
134
154
 
135
- if attributes[:'strict']
155
+ if attributes.has_key?(:'strict')
136
156
  self.strict = attributes[:'strict']
137
157
  else
138
158
  self.strict = "none"
139
159
  end
140
160
 
141
- if attributes[:'ignore_resource_errors']
161
+ if attributes.has_key?(:'ignore_resource_errors')
142
162
  self.ignore_resource_errors = attributes[:'ignore_resource_errors']
143
163
  else
144
164
  self.ignore_resource_errors = true
145
165
  end
146
166
 
147
- if attributes[:'tag']
167
+ if attributes.has_key?(:'tag')
148
168
  self.tag = attributes[:'tag']
149
169
  end
150
170
 
151
- if attributes[:'help']
171
+ if attributes.has_key?(:'help')
152
172
  self.help = attributes[:'help']
153
173
  else
154
174
  self.help = false
155
175
  end
156
176
 
157
- if attributes[:'javascript']
177
+ if attributes.has_key?(:'javascript')
158
178
  self.javascript = attributes[:'javascript']
159
179
  else
160
180
  self.javascript = false
161
181
  end
162
182
 
163
- if attributes[:'referrer']
183
+ if attributes.has_key?(:'referrer')
164
184
  self.referrer = attributes[:'referrer']
165
185
  end
166
186
 
167
- if attributes[:'callback_url']
187
+ if attributes.has_key?(:'callback_url')
168
188
  self.callback_url = attributes[:'callback_url']
169
189
  end
170
190
 
171
- if attributes[:'prince_options']
191
+ if attributes.has_key?(:'prince_options')
172
192
  self.prince_options = attributes[:'prince_options']
173
193
  end
174
194
 
175
195
  end
176
196
 
197
+ # Show invalid properties with the reasons. Usually used together with valid?
198
+ # @return Array for valid properies with the reasons
199
+ def list_invalid_properties
200
+ invalid_properties = Array.new
201
+ if @name.nil?
202
+ invalid_properties.push("invalid value for 'name', name cannot be nil.")
203
+ end
204
+
205
+ if @document_type.nil?
206
+ invalid_properties.push("invalid value for 'document_type', document_type cannot be nil.")
207
+ end
208
+
209
+ if @document_content.nil?
210
+ invalid_properties.push("invalid value for 'document_content', document_content cannot be nil.")
211
+ end
212
+
213
+ return invalid_properties
214
+ end
215
+
216
+ # Check to see if the all the properties in the model are valid
217
+ # @return true if the model is valid
218
+ def valid?
219
+ return false if @name.nil?
220
+ return false if @document_type.nil?
221
+ document_type_validator = EnumAttributeValidator.new('String', ["pdf", "xls", "xlsx"])
222
+ return false unless document_type_validator.valid?(@document_type)
223
+ return false if @document_content.nil?
224
+ strict_validator = EnumAttributeValidator.new('String', ["none"])
225
+ return false unless strict_validator.valid?(@strict)
226
+ return true
227
+ end
228
+
177
229
  # Custom attribute writer method checking allowed values (enum).
230
+ # @param [Object] document_type Object to be assigned
178
231
  def document_type=(document_type)
179
- allowed_values = ["pdf", "xls", "xlsx"]
180
- if document_type && !allowed_values.include?(document_type)
181
- fail "invalid value for 'document_type', must be one of #{allowed_values}"
232
+ validator = EnumAttributeValidator.new('String', ["pdf", "xls", "xlsx"])
233
+ unless validator.valid?(document_type)
234
+ fail ArgumentError, "invalid value for 'document_type', must be one of #{validator.allowable_values}."
182
235
  end
183
236
  @document_type = document_type
184
237
  end
185
238
 
186
239
  # Custom attribute writer method checking allowed values (enum).
240
+ # @param [Object] strict Object to be assigned
187
241
  def strict=(strict)
188
- allowed_values = ["none"]
189
- if strict && !allowed_values.include?(strict)
190
- fail "invalid value for 'strict', must be one of #{allowed_values}"
242
+ validator = EnumAttributeValidator.new('String', ["none"])
243
+ unless validator.valid?(strict)
244
+ fail ArgumentError, "invalid value for 'strict', must be one of #{validator.allowable_values}."
191
245
  end
192
246
  @strict = strict
193
247
  end
194
248
 
195
- # Check equality by comparing each attribute.
249
+ # Checks equality by comparing each attribute.
250
+ # @param [Object] Object to be compared
196
251
  def ==(o)
197
252
  return true if self.equal?(o)
198
253
  self.class == o.class &&
@@ -213,35 +268,41 @@ module DocRaptor
213
268
  end
214
269
 
215
270
  # @see the `==` method
271
+ # @param [Object] Object to be compared
216
272
  def eql?(o)
217
273
  self == o
218
274
  end
219
275
 
220
- # Calculate hash code according to all attributes.
276
+ # Calculates hash code according to all attributes.
277
+ # @return [Fixnum] Hash code
221
278
  def hash
222
279
  [pipeline, name, document_type, document_content, document_url, test, strict, ignore_resource_errors, tag, help, javascript, referrer, callback_url, prince_options].hash
223
280
  end
224
281
 
225
- # build the object from hash
282
+ # Builds the object from hash
283
+ # @param [Hash] attributes Model attributes in the form of hash
284
+ # @return [Object] Returns the model itself
226
285
  def build_from_hash(attributes)
227
286
  return nil unless attributes.is_a?(Hash)
228
287
  self.class.swagger_types.each_pair do |key, type|
229
- if type =~ /^Array<(.*)>/i
288
+ if type =~ /\AArray<(.*)>/i
289
+ # check to ensure the input is an array given that the the attribute
290
+ # is documented as an array but the input is not
230
291
  if attributes[self.class.attribute_map[key]].is_a?(Array)
231
292
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
232
- else
233
- #TODO show warning in debug mode
234
293
  end
235
294
  elsif !attributes[self.class.attribute_map[key]].nil?
236
295
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
237
- else
238
- # data not found in attributes(hash), not an issue as the data can be optional
239
- end
296
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
240
297
  end
241
298
 
242
299
  self
243
300
  end
244
301
 
302
+ # Deserializes the data based on type
303
+ # @param string type Data type
304
+ # @param string value Value to be deserialized
305
+ # @return [Object] Deserialized data
245
306
  def _deserialize(type, value)
246
307
  case type.to_sym
247
308
  when :DateTime
@@ -255,7 +316,7 @@ module DocRaptor
255
316
  when :Float
256
317
  value.to_f
257
318
  when :BOOLEAN
258
- if value.to_s =~ /^(true|t|yes|y|1)$/i
319
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
259
320
  true
260
321
  else
261
322
  false
@@ -266,7 +327,7 @@ module DocRaptor
266
327
  when /\AArray<(?<inner_type>.+)>\z/
267
328
  inner_type = Regexp.last_match[:inner_type]
268
329
  value.map { |v| _deserialize(inner_type, v) }
269
- when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
330
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
270
331
  k_type = Regexp.last_match[:k_type]
271
332
  v_type = Regexp.last_match[:v_type]
272
333
  {}.tap do |hash|
@@ -275,21 +336,25 @@ module DocRaptor
275
336
  end
276
337
  end
277
338
  else # model
278
- _model = DocRaptor.const_get(type).new
279
- _model.build_from_hash(value)
339
+ temp_model = DocRaptor.const_get(type).new
340
+ temp_model.build_from_hash(value)
280
341
  end
281
342
  end
282
343
 
344
+ # Returns the string representation of the object
345
+ # @return [String] String presentation of the object
283
346
  def to_s
284
347
  to_hash.to_s
285
348
  end
286
349
 
287
- # to_body is an alias to to_body (backward compatibility))
350
+ # to_body is an alias to to_hash (backward compatibility)
351
+ # @return [Hash] Returns the object in the form of hash
288
352
  def to_body
289
353
  to_hash
290
354
  end
291
355
 
292
- # return the object in the form of hash
356
+ # Returns the object in the form of hash
357
+ # @return [Hash] Returns the object in the form of hash
293
358
  def to_hash
294
359
  hash = {}
295
360
  self.class.attribute_map.each_pair do |attr, param|
@@ -300,8 +365,10 @@ module DocRaptor
300
365
  hash
301
366
  end
302
367
 
303
- # Method to output non-array value in the form of hash
368
+ # Outputs non-array value in the form of hash
304
369
  # For object, use to_hash. Otherwise, just return the value
370
+ # @param [Object] value Any valid value
371
+ # @return [Hash] Returns the value in the form of hash
305
372
  def _to_hash(value)
306
373
  if value.is_a?(Array)
307
374
  value.compact.map{ |v| _to_hash(v) }
@@ -317,4 +384,5 @@ module DocRaptor
317
384
  end
318
385
 
319
386
  end
387
+
320
388
  end