Skip to content

Commit

Permalink
Updated sources
Browse files Browse the repository at this point in the history
  • Loading branch information
product-team committed Aug 23, 2023
1 parent 9c767ef commit 18ffce1
Show file tree
Hide file tree
Showing 10 changed files with 482 additions and 16 deletions.
2 changes: 1 addition & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
PATH
remote: .
specs:
groupdocs_conversion_cloud (23.7)
groupdocs_conversion_cloud (23.8)
addressable (~> 2.8.0, >= 2.8.0)
faraday (~> 0.14.0)

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ gem install groupdocs_conversion_cloud
To add dependency to your app copy following into your Gemfile and run `bundle install`:

```
gem "groupdocs_conversion_cloud", "~> 23.7"
gem "groupdocs_conversion_cloud", "~> 23.8"
```

## Getting Started
Expand Down
4 changes: 3 additions & 1 deletion lib/groupdocs_conversion_cloud.rb
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,13 @@

# Common files
require_relative 'groupdocs_conversion_cloud/api_client'
require_relative 'groupdocs_conversion_cloud/api_error'
require_relative 'groupdocs_conversion_cloud/api_client_error'
require_relative 'groupdocs_conversion_cloud/version'
require_relative 'groupdocs_conversion_cloud/configuration'

# Models
require_relative 'groupdocs_conversion_cloud/models/api_error'
require_relative 'groupdocs_conversion_cloud/models/api_error_response'
require_relative 'groupdocs_conversion_cloud/models/consumption_result'
require_relative 'groupdocs_conversion_cloud/models/convert_options'
require_relative 'groupdocs_conversion_cloud/models/convert_settings'
Expand Down
4 changes: 2 additions & 2 deletions lib/groupdocs_conversion_cloud/api_client.rb
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
require 'mimemagic'
require 'addressable'
require_relative 'version'
require_relative 'api_error'
require_relative 'api_client_error'

module GroupDocsConversionCloud
#
Expand Down Expand Up @@ -69,7 +69,7 @@ def call_api(http_method, path, opts = {})
end

unless response.success?
raise ApiError.new(:code => response.status, :response_body => response.body)
raise ApiClientError.new(:code => response.status, :response_body => response.body)
end

data = deserialize(response, opts[:return_type]) if opts[:return_type]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,18 +25,17 @@

module GroupDocsConversionCloud
#
# ApiError class for error handling
# ApiClientError class for error handling
#
class ApiError < StandardError
class ApiClientError < StandardError
attr_reader :code
attr_reader :message

# Usage examples:
# ApiError.new
# ApiError.new(:code => 500, :response_body => "")
def initialize(arg = nil)
if arg.is_a? Hash

# ApiClientError.new
# ApiClientError.new(:code => 500, :response_body => "")
def initialize(arg = nil)
if arg.is_a? Hash
if arg.key?(:response_body) then
data = JSON.parse(arg[:response_body], :symbolize_names => true)
if !data.nil? then
Expand Down Expand Up @@ -69,3 +68,4 @@ def initialize(arg = nil)
end
end
end

244 changes: 244 additions & 0 deletions lib/groupdocs_conversion_cloud/models/api_error.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,244 @@
#
# --------------------------------------------------------------------------------------------------------------------
# <copyright company="Aspose Pty Ltd" file="api_error.rb">
# Copyright (c) 2003-2023 Aspose Pty Ltd
# </copyright>
# <summary>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
# </summary>
# --------------------------------------------------------------------------------------------------------------------
#

require 'date'

module GroupDocsConversionCloud

class ApiError
attr_accessor :code
attr_accessor :message
attr_accessor :description
attr_accessor :date_time
attr_accessor :inner_error

# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'code' => :'Code',
:'message' => :'Message',
:'description' => :'Description',
:'date_time' => :'DateTime',
:'inner_error' => :'InnerError'
}
end

# Attribute type mapping.
def self.swagger_types
{
:'code' => :'String',
:'message' => :'String',
:'description' => :'String',
:'date_time' => :'DateTime',
:'inner_error' => :'ApiError'
}
end

# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
return unless attributes.is_a?(Hash)

# convert string to symbol for hash key
attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }

if attributes.key?(:'Code')
self.code = attributes[:'Code']
end

if attributes.key?(:'Message')
self.message = attributes[:'Message']
end

if attributes.key?(:'Description')
self.description = attributes[:'Description']
end

if attributes.key?(:'DateTime')
self.date_time = attributes[:'DateTime']
end

if attributes.key?(:'InnerError')
self.inner_error = attributes[:'InnerError']
end

end

# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properies with the reasons
def list_invalid_properties
invalid_properties = []
return invalid_properties
end

# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
return true
end

# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(other)
return true if self.equal?(other)
self.class == other.class &&
code == other.code &&
message == other.message &&
description == other.description &&
date_time == other.date_time &&
inner_error == other.inner_error
end

# @see the `==` method
# @param [Object] Object to be compared
def eql?(other)
self == other
end

# Calculates hash code according to all attributes.
# @return [Fixnum] Hash code
def hash
[code, message, description, date_time, inner_error].hash
end

# Downcases first letter.
# @return downcased string
def uncap(str)
str[0, 1].downcase + str[1..-1]
end

# Builds the object from hash
# @param [Hash] attributes Model attributes in the form of hash
# @return [Object] Returns the model itself
def build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
self.class.swagger_types.each_pair do |key, type|
pname = uncap(self.class.attribute_map[key]).intern
value = attributes[pname]
if type =~ /\AArray<(.*)>/i
# check to ensure the input is an array given that the the attribute
# is documented as an array but the input is not
if value.is_a?(Array)
self.send("#{key}=", value.map { |v| _deserialize($1, v) })
end
elsif !value.nil?
self.send("#{key}=", _deserialize(type, value))
end
# or else data not found in attributes(hash), not an issue as the data can be optional
end

self
end

# Deserializes the data based on type
# @param string type Data type
# @param string value Value to be deserialized
# @return [Object] Deserialized data
def _deserialize(type, value)
case type.to_sym
when :DateTime
Date.parse value
when :Date
Date.parse value
when :String
value.to_s
when :Integer
value.to_i
when :Float
value.to_f
when :BOOLEAN
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
true
else
false
end
when :Object
# generic object (usually a Hash), return directly
value
when /\AArray<(?<inner_type>.+)>\z/
inner_type = Regexp.last_match[:inner_type]
value.map { |v| _deserialize(inner_type, v) }
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
k_type = Regexp.last_match[:k_type]
v_type = Regexp.last_match[:v_type]
{}.tap do |hash|
value.each do |k, v|
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
end
end
else
# model
temp_model = GroupDocsConversionCloud.const_get(type).new
temp_model.build_from_hash(value)
end
end

# Returns the string representation of the object
# @return [String] String presentation of the object
def to_s
to_hash.to_s
end

# to_body is an alias to to_hash (backward compatibility)
# @return [Hash] Returns the object in the form of hash
def to_body
to_hash
end

# Returns the object in the form of hash
# @return [Hash] Returns the object in the form of hash
def to_hash
hash = {}
self.class.attribute_map.each_pair do |attr, param|
value = self.send(attr)
next if value.nil?
hash[param] = _to_hash(value)
end
hash
end

# Outputs non-array value in the form of hash
# For object, use to_hash. Otherwise, just return the value
# @param [Object] value Any valid value
# @return [Hash] Returns the value in the form of hash
def _to_hash(value)
if value.is_a?(Array)
value.compact.map { |v| _to_hash(v) }
elsif value.is_a?(Hash)
{}.tap do |hash|
value.each { |k, v| hash[k] = _to_hash(v) }
end
elsif value.respond_to? :to_hash
value.to_hash
else
value
end
end

end

end
Loading

0 comments on commit 18ffce1

Please sign in to comment.