apimatic_core 0.1.0

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.
Files changed (35) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +26 -0
  3. data/README.md +101 -0
  4. data/lib/apimatic-core/api_call.rb +103 -0
  5. data/lib/apimatic-core/authentication/header_auth.rb +21 -0
  6. data/lib/apimatic-core/authentication/multiple/and_auth_group.rb +28 -0
  7. data/lib/apimatic-core/authentication/multiple/auth_group.rb +45 -0
  8. data/lib/apimatic-core/authentication/multiple/or_auth_group.rb +29 -0
  9. data/lib/apimatic-core/authentication/multiple/single_auth.rb +48 -0
  10. data/lib/apimatic-core/authentication/query_auth.rb +21 -0
  11. data/lib/apimatic-core/configurations/global_configuration.rb +149 -0
  12. data/lib/apimatic-core/exceptions/invalid_auth_credential.rb +5 -0
  13. data/lib/apimatic-core/factories/http_response_factory.rb +14 -0
  14. data/lib/apimatic-core/http/configurations/http_client_configuration.rb +32 -0
  15. data/lib/apimatic-core/http/request/http_request.rb +50 -0
  16. data/lib/apimatic-core/http/response/api_response.rb +35 -0
  17. data/lib/apimatic-core/http/response/http_response.rb +24 -0
  18. data/lib/apimatic-core/logger/endpoint_logger.rb +28 -0
  19. data/lib/apimatic-core/request_builder.rb +361 -0
  20. data/lib/apimatic-core/response_handler.rb +269 -0
  21. data/lib/apimatic-core/types/error_case.rb +37 -0
  22. data/lib/apimatic-core/types/parameter.rb +116 -0
  23. data/lib/apimatic-core/types/sdk/api_exception.rb +15 -0
  24. data/lib/apimatic-core/types/sdk/base_model.rb +22 -0
  25. data/lib/apimatic-core/types/sdk/file_wrapper.rb +11 -0
  26. data/lib/apimatic-core/types/sdk/validation_exception.rb +10 -0
  27. data/lib/apimatic-core/types/xml_attributes.rb +37 -0
  28. data/lib/apimatic-core/utilities/api_helper.rb +551 -0
  29. data/lib/apimatic-core/utilities/auth_helper.rb +49 -0
  30. data/lib/apimatic-core/utilities/comparison_helper.rb +77 -0
  31. data/lib/apimatic-core/utilities/date_time_helper.rb +126 -0
  32. data/lib/apimatic-core/utilities/file_helper.rb +21 -0
  33. data/lib/apimatic-core/utilities/xml_helper.rb +215 -0
  34. data/lib/apimatic_core.rb +44 -0
  35. metadata +215 -0
@@ -0,0 +1,126 @@
1
+ module CoreLibrary
2
+ # A utility that supports dateTime conversion to different formats.
3
+ class DateTimeHelper
4
+ # Safely converts a DateTime object into a rfc1123 format string.
5
+ # @param [DateTime] date_time The DateTime object.
6
+ # @return [String] The rfc1123 formatted datetime string.
7
+ def self.to_rfc1123(date_time)
8
+ date_time&.httpdate
9
+ end
10
+
11
+ # Safely converts a map of DateTime objects into a map of rfc1123 format string.
12
+ # @param [hash] date_time A map of DateTime objects.
13
+ # @return [hash] A map of rfc1123 formatted datetime string.
14
+ def self.to_rfc1123_map(date_time, hash, key)
15
+ return if date_time.nil?
16
+
17
+ hash[key] = {}
18
+ date_time.each do |k, v|
19
+ hash[key][k] =
20
+ v.is_a?(DateTime) ? DateTimeHelper.to_rfc1123(v) : v
21
+ end
22
+ hash[key]
23
+ end
24
+
25
+ # Safely converts an array of DateTime objects into an array of rfc1123 format string.
26
+ # @param [Array] date_time An array of DateTime objects.
27
+ # @return [Array] An array of rfc1123 formatted datetime string.
28
+ def self.to_rfc1123_array(date_time, hash, key)
29
+ return if date_time.nil?
30
+
31
+ hash[key] = date_time.map do |v|
32
+ v.is_a?(DateTime) ? DateTimeHelper.to_rfc1123(v) : v
33
+ end
34
+ end
35
+
36
+ # Safely converts a DateTime object into a unix format string.
37
+ # @param [DateTime] date_time The DateTime object.
38
+ # @return [String] The unix formatted datetime string.
39
+ def self.to_unix(date_time)
40
+ date_time.to_time.utc.to_i unless date_time.nil?
41
+ end
42
+
43
+ # Safely converts a map of DateTime objects into a map of unix format string.
44
+ # @param [hash] date_time A map of DateTime objects.
45
+ # @return [hash] A map of unix formatted datetime string.
46
+ def self.to_unix_map(date_time, hash, key)
47
+ return if date_time.nil?
48
+
49
+ hash[key] = {}
50
+ date_time.each do |k, v|
51
+ hash[key][k] =
52
+ v.is_a?(DateTime) ? DateTimeHelper.to_unix(v) : v
53
+ end
54
+ hash[key]
55
+ end
56
+
57
+ # Safely converts an array of DateTime objects into a map of unix format string.
58
+ # @param [hash] date_time An array of DateTime objects.
59
+ # @return [hash] An array of unix formatted datetime string.
60
+ def self.to_unix_array(date_time, hash, key)
61
+ return if date_time.nil?
62
+
63
+ hash[key] = date_time.map do |v|
64
+ v.is_a?(DateTime) ? DateTimeHelper.to_unix(v) : v
65
+ end
66
+ end
67
+
68
+ # Safely converts a DateTime object into a rfc3339 format string.
69
+ # @param [DateTime] date_time The DateTime object.
70
+ # @return [String] The rfc3339 formatted datetime string.
71
+ def self.to_rfc3339(date_time)
72
+ date_time&.rfc3339
73
+ end
74
+
75
+ # Safely converts a map of DateTime objects into a map of rfc1123 format string.
76
+ # @param [hash] date_time A map of DateTime objects.
77
+ # @return [hash] A map of rfc1123 formatted datetime string.
78
+ def self.to_rfc3339_map(date_time, hash, key)
79
+ return if date_time.nil?
80
+
81
+ hash[key] = {}
82
+ date_time.each do |k, v|
83
+ hash[key][k] =
84
+ v.is_a?(DateTime) ? DateTimeHelper.to_rfc3339(v) : v
85
+ end
86
+ hash[key]
87
+ end
88
+
89
+ # Safely converts an array of DateTime objects into an array of rfc1123 format string.
90
+ # @param [Array] date_time An array of DateTime objects.
91
+ # @return [Array] An array of rfc1123 formatted datetime string.
92
+ def self.to_rfc3339_array(date_time, hash, key)
93
+ return if date_time.nil?
94
+
95
+ hash[key] = date_time.map do |v|
96
+ v.is_a?(DateTime) ? DateTimeHelper.to_rfc3339(v) : v
97
+ end
98
+ end
99
+
100
+ # Safely converts a rfc1123 format string into a DateTime object.
101
+ # @param [String] date_time The rfc1123 formatted datetime string.
102
+ # @return [DateTime] A DateTime object.
103
+ def self.from_rfc1123(date_time)
104
+ DateTime.httpdate(date_time)
105
+ end
106
+
107
+ # Safely converts a unix format string into a DateTime object.
108
+ # @param [String] date_time The unix formatted datetime string.
109
+ # @return [DateTime] A DateTime object.
110
+ def self.from_unix(date_time)
111
+ Time.at(date_time.to_i).utc.to_datetime
112
+ end
113
+
114
+ # Safely converts a rfc3339 format string into a DateTime object.
115
+ # @param [String] date_time The rfc3339 formatted datetime string.
116
+ # @return [DateTime] A DateTime object.
117
+ def self.from_rfc3339(date_time)
118
+ # missing timezone information
119
+ if date_time.end_with?('Z') || date_time.index('+')
120
+ DateTime.rfc3339(date_time)
121
+ else
122
+ DateTime.rfc3339("#{date_time}Z")
123
+ end
124
+ end
125
+ end
126
+ end
@@ -0,0 +1,21 @@
1
+ require 'tempfile'
2
+ require 'open-uri'
3
+ module CoreLibrary
4
+ # A utility for file specific operations.
5
+ class FileHelper
6
+ @cache = {}
7
+
8
+ # Class method which takes a URL, downloads the file (if not already downloaded.
9
+ # for this test session) and returns the path of the file.
10
+ # @param [String] url The URL of the required file.
11
+ def self.get_file(url)
12
+ unless @cache.keys.include? url
13
+ @cache[url] = Tempfile.new('APIMatic')
14
+ @cache[url].binmode
15
+ @cache[url].write(URI.parse(url).open({ ssl_ca_cert: Certifi.where }).read)
16
+ end
17
+ @cache[url].rewind
18
+ @cache[url].path
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,215 @@
1
+ require 'nokogiri'
2
+
3
+ module CoreLibrary
4
+ # A utility class for handling xml parsing.
5
+ class XmlHelper
6
+ class << self
7
+ # Serialized the provided value to XML.
8
+ # @param root_element_name Root element for the XML provided.
9
+ # @param value Value to convert to XML.
10
+ def serialize_to_xml(root_element_name, value, datetime_format: nil)
11
+ doc = Nokogiri::XML::Document.new
12
+ add_as_subelement(doc, doc, root_element_name, value,
13
+ datetime_format: datetime_format)
14
+ doc.to_xml
15
+ end
16
+
17
+ # Serialized the provided array value to XML.
18
+ # @param root_element_name Root element for the xml provided.
19
+ # @param item_name Item name for XML.
20
+ # @param value Value to convert to XML.
21
+ def serialize_array_to_xml(root_element_name, item_name, value,
22
+ datetime_format: nil)
23
+ doc = Nokogiri::XML::Document.new
24
+ add_array_as_subelement(doc, doc, item_name, value,
25
+ wrapping_element_name: root_element_name,
26
+ datetime_format: datetime_format)
27
+ doc.to_xml
28
+ end
29
+
30
+ # Serialized the provided hash to XML.
31
+ # @param root_element_name Root element for the XML provided.
32
+ def serialize_hash_to_xml(root_element_name, entries,
33
+ datetime_format: nil)
34
+ doc = Nokogiri::XML::Document.new
35
+ add_hash_as_subelement(doc, doc, root_element_name, entries,
36
+ datetime_format: datetime_format)
37
+ doc.to_xml
38
+ end
39
+
40
+ # Adds the value as an attribute.
41
+ def add_as_attribute(root, name, value, datetime_format: nil)
42
+ return if value.nil?
43
+
44
+ value = datetime_to_s(value, datetime_format) if value.instance_of?(DateTime)
45
+
46
+ root[name] = value
47
+ end
48
+
49
+ # Adds hash as a sub-element.
50
+ def add_hash_as_subelement(doc, root, name, entries,
51
+ datetime_format: nil)
52
+ return if entries.nil?
53
+
54
+ parent = doc.create_element(name)
55
+ root.add_child(parent)
56
+
57
+ entries.each do |key, value|
58
+ add_as_subelement(doc, parent, key, value,
59
+ datetime_format: datetime_format)
60
+ end
61
+ end
62
+
63
+ # Adds array as a sub-element.
64
+ def add_array_as_subelement(doc, root, item_name, items,
65
+ wrapping_element_name: nil,
66
+ datetime_format: nil)
67
+ return if items.nil?
68
+
69
+ if wrapping_element_name.nil?
70
+ parent = root
71
+ else
72
+ parent = doc.create_element(wrapping_element_name)
73
+ root.add_child(parent)
74
+ end
75
+
76
+ items.each do |item|
77
+ add_as_subelement(doc, parent, item_name, item,
78
+ datetime_format: datetime_format)
79
+ end
80
+ end
81
+
82
+ # Adds as a sub-element.
83
+ def add_as_subelement(doc, root, name, value, datetime_format: nil)
84
+ return if value.nil?
85
+
86
+ value = datetime_to_s(value, datetime_format) if value.instance_of?(DateTime)
87
+
88
+ element = if value.respond_to? :to_xml_element
89
+ value.to_xml_element(doc, name)
90
+ else
91
+ doc.create_element(name, value)
92
+ end
93
+
94
+ root.add_child(element)
95
+ end
96
+
97
+ # Converts datetime to string of a specific format.
98
+ # @param value Value to convert to string.
99
+ # @param datetime_format Datetime format for the converted string.
100
+ def datetime_to_s(value, datetime_format)
101
+ case datetime_format
102
+ when 'UnixDateTime'
103
+ value.to_time.to_i
104
+ when 'HttpDateTime'
105
+ value.httpdate
106
+ else
107
+ value
108
+ end
109
+ end
110
+
111
+ # Deserializes XML to a specific class.
112
+ # @param xml The XML value to deserialize.
113
+ # @param root_element_name Root element name for the XML provided.
114
+ # @param clazz The class to convert the XML into.
115
+ def deserialize_xml(xml, root_element_name, clazz, datetime_format = nil)
116
+ doc = Nokogiri::XML::Document.parse xml
117
+ from_element(doc, root_element_name, clazz,
118
+ datetime_format: datetime_format)
119
+ end
120
+
121
+ # Deserializes XML to an array of a specific class.
122
+ # @param xml The XML value to deserialize.
123
+ # @param root_element_name Root element name for the XML provided.
124
+ # @param item_name Item name for XML.
125
+ # @param clazz The class to convert the XML into.
126
+ def deserialize_xml_to_array(xml, root_element_name, item_name, clazz,
127
+ datetime_format = nil)
128
+ doc = Nokogiri::XML::Document.parse xml
129
+ from_element_to_array(doc, item_name, clazz,
130
+ wrapping_element_name: root_element_name,
131
+ datetime_format: datetime_format)
132
+ end
133
+
134
+ # Deserializes XML to an array of a specific class.
135
+ # @param xml The XML value to deserialize.
136
+ # @param root_element_name Root element name for the XML provided.
137
+ def deserialize_xml_to_hash(xml, root_element_name, clazz,
138
+ datetime_format = nil)
139
+ doc = Nokogiri::XML::Document.parse xml
140
+ from_element_to_hash(doc, root_element_name, clazz,
141
+ datetime_format: datetime_format)
142
+ end
143
+
144
+ # Converts attribute to a specific class.
145
+ def from_attribute(parent, name, clazz, datetime_format: nil)
146
+ attribute = parent[name]
147
+ return nil if attribute.nil?
148
+
149
+ convert(attribute, clazz, datetime_format)
150
+ end
151
+
152
+ # Converts element to a specific class.
153
+ def from_element(parent, name, clazz, datetime_format: nil)
154
+ element = parent.at_xpath(name)
155
+ return nil if element.nil?
156
+ return clazz.from_element element if clazz.respond_to? :from_element
157
+
158
+ convert(element.text, clazz, datetime_format)
159
+ end
160
+
161
+ # Converts element to an array.
162
+ def from_element_to_array(parent, item_name, clazz,
163
+ wrapping_element_name: nil,
164
+ datetime_format: nil)
165
+ elements = if wrapping_element_name.nil?
166
+ parent.xpath(item_name)
167
+ elsif parent.at_xpath(wrapping_element_name).nil?
168
+ nil
169
+ else
170
+ parent.at_xpath(wrapping_element_name).xpath(item_name)
171
+ end
172
+
173
+ return nil if elements.nil?
174
+
175
+ if clazz.respond_to? :from_element
176
+ elements.map { |element| clazz.from_element element }
177
+ else
178
+ elements.map do |element|
179
+ convert(element.text, clazz, datetime_format)
180
+ end
181
+ end
182
+ end
183
+
184
+ # Converts element to hash.
185
+ def from_element_to_hash(parent, name, clazz,
186
+ datetime_format: nil)
187
+ entries = parent.at_xpath(name)
188
+ return nil if entries.nil? || entries.children.nil?
189
+
190
+ hash = {}
191
+
192
+ entries.element_children.each do |element|
193
+ hash[element.name] = convert(element.text, clazz, datetime_format)
194
+ end
195
+
196
+ hash
197
+ end
198
+
199
+ # Basic convert method.
200
+ def convert(value, clazz, datetime_format)
201
+ if clazz == DateTime
202
+ return DateTime.rfc3339(value) if datetime_format == 'RFC3339DateTime'
203
+ return DateTime.httpdate(value) if datetime_format == 'HttpDateTime'
204
+ return DateTime.strptime(value, '%s') if datetime_format == 'UnixDateTime'
205
+ end
206
+
207
+ return value.to_f if clazz == Float
208
+ return value.to_i if clazz == Integer
209
+ return value.casecmp('true').zero? if clazz == TrueClass
210
+
211
+ value
212
+ end
213
+ end
214
+ end
215
+ end
@@ -0,0 +1,44 @@
1
+ require 'date'
2
+ require 'json'
3
+ require 'certifi'
4
+ require 'apimatic_core_interfaces'
5
+ require 'cgi'
6
+
7
+ require_relative 'apimatic-core/request_builder'
8
+ require_relative 'apimatic-core/response_handler'
9
+ require_relative 'apimatic-core/api_call'
10
+
11
+ require_relative 'apimatic-core/factories/http_response_factory'
12
+
13
+ require_relative 'apimatic-core/configurations/global_configuration'
14
+
15
+ require_relative 'apimatic-core/exceptions/invalid_auth_credential'
16
+
17
+ require_relative 'apimatic-core/logger/endpoint_logger'
18
+
19
+ require_relative 'apimatic-core/http/configurations/http_client_configuration'
20
+ require_relative 'apimatic-core/http/request/http_request'
21
+ require_relative 'apimatic-core/http/response/http_response'
22
+ require_relative 'apimatic-core/http/response/api_response'
23
+
24
+ require_relative 'apimatic-core/types/parameter'
25
+ require_relative 'apimatic-core/types/error_case'
26
+ require_relative 'apimatic-core/types/sdk/base_model'
27
+ require_relative 'apimatic-core/types/sdk/file_wrapper'
28
+ require_relative 'apimatic-core/types/sdk/validation_exception'
29
+ require_relative 'apimatic-core/types/sdk/api_exception'
30
+ require_relative 'apimatic-core/types/xml_attributes'
31
+
32
+ require_relative 'apimatic-core/utilities/api_helper'
33
+ require_relative 'apimatic-core/utilities/date_time_helper'
34
+ require_relative 'apimatic-core/utilities/comparison_helper'
35
+ require_relative 'apimatic-core/utilities/file_helper'
36
+ require_relative 'apimatic-core/utilities/xml_helper'
37
+ require_relative 'apimatic-core/utilities/auth_helper'
38
+
39
+ require_relative 'apimatic-core/authentication/header_auth'
40
+ require_relative 'apimatic-core/authentication/query_auth'
41
+ require_relative 'apimatic-core/authentication/multiple/auth_group'
42
+ require_relative 'apimatic-core/authentication/multiple/and_auth_group'
43
+ require_relative 'apimatic-core/authentication/multiple/or_auth_group'
44
+ require_relative 'apimatic-core/authentication/multiple/single_auth'
metadata ADDED
@@ -0,0 +1,215 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: apimatic_core
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - APIMatic Ltd.
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2022-12-28 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: apimatic_core_interfaces
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.1.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.1.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: nokogiri
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.10'
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: 1.10.10
37
+ type: :runtime
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: '1.10'
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 1.10.10
47
+ - !ruby/object:Gem::Dependency
48
+ name: certifi
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '2018.1'
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: 2018.01.18
57
+ type: :runtime
58
+ prerelease: false
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: '2018.1'
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: 2018.01.18
67
+ - !ruby/object:Gem::Dependency
68
+ name: faraday-multipart
69
+ requirement: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: '1.0'
74
+ type: :runtime
75
+ prerelease: false
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: '1.0'
81
+ - !ruby/object:Gem::Dependency
82
+ name: faraday
83
+ requirement: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '2.0'
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: 2.0.1
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: '2.0'
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: 2.0.1
101
+ - !ruby/object:Gem::Dependency
102
+ name: minitest
103
+ requirement: !ruby/object:Gem::Requirement
104
+ requirements:
105
+ - - "~>"
106
+ - !ruby/object:Gem::Version
107
+ version: '5.14'
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: 5.14.1
111
+ type: :development
112
+ prerelease: false
113
+ version_requirements: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '5.14'
118
+ - - ">="
119
+ - !ruby/object:Gem::Version
120
+ version: 5.14.1
121
+ - !ruby/object:Gem::Dependency
122
+ name: minitest-proveit
123
+ requirement: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - "~>"
126
+ - !ruby/object:Gem::Version
127
+ version: '1.0'
128
+ type: :development
129
+ prerelease: false
130
+ version_requirements: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - "~>"
133
+ - !ruby/object:Gem::Version
134
+ version: '1.0'
135
+ - !ruby/object:Gem::Dependency
136
+ name: simplecov
137
+ requirement: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - "~>"
140
+ - !ruby/object:Gem::Version
141
+ version: 0.21.2
142
+ type: :development
143
+ prerelease: false
144
+ version_requirements: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - "~>"
147
+ - !ruby/object:Gem::Version
148
+ version: 0.21.2
149
+ description: The APIMatic Core libraries provide a stable runtime that powers all
150
+ the functionality of SDKs. This includes functionality like the ability to create
151
+ HTTP requests, handle responses, apply authentication schemes, convert API responses
152
+ back to object instances, and validate user and server data.
153
+ email: support@apimatic.io
154
+ executables: []
155
+ extensions: []
156
+ extra_rdoc_files: []
157
+ files:
158
+ - LICENSE
159
+ - README.md
160
+ - lib/apimatic-core/api_call.rb
161
+ - lib/apimatic-core/authentication/header_auth.rb
162
+ - lib/apimatic-core/authentication/multiple/and_auth_group.rb
163
+ - lib/apimatic-core/authentication/multiple/auth_group.rb
164
+ - lib/apimatic-core/authentication/multiple/or_auth_group.rb
165
+ - lib/apimatic-core/authentication/multiple/single_auth.rb
166
+ - lib/apimatic-core/authentication/query_auth.rb
167
+ - lib/apimatic-core/configurations/global_configuration.rb
168
+ - lib/apimatic-core/exceptions/invalid_auth_credential.rb
169
+ - lib/apimatic-core/factories/http_response_factory.rb
170
+ - lib/apimatic-core/http/configurations/http_client_configuration.rb
171
+ - lib/apimatic-core/http/request/http_request.rb
172
+ - lib/apimatic-core/http/response/api_response.rb
173
+ - lib/apimatic-core/http/response/http_response.rb
174
+ - lib/apimatic-core/logger/endpoint_logger.rb
175
+ - lib/apimatic-core/request_builder.rb
176
+ - lib/apimatic-core/response_handler.rb
177
+ - lib/apimatic-core/types/error_case.rb
178
+ - lib/apimatic-core/types/parameter.rb
179
+ - lib/apimatic-core/types/sdk/api_exception.rb
180
+ - lib/apimatic-core/types/sdk/base_model.rb
181
+ - lib/apimatic-core/types/sdk/file_wrapper.rb
182
+ - lib/apimatic-core/types/sdk/validation_exception.rb
183
+ - lib/apimatic-core/types/xml_attributes.rb
184
+ - lib/apimatic-core/utilities/api_helper.rb
185
+ - lib/apimatic-core/utilities/auth_helper.rb
186
+ - lib/apimatic-core/utilities/comparison_helper.rb
187
+ - lib/apimatic-core/utilities/date_time_helper.rb
188
+ - lib/apimatic-core/utilities/file_helper.rb
189
+ - lib/apimatic-core/utilities/xml_helper.rb
190
+ - lib/apimatic_core.rb
191
+ homepage: https://apimatic.io
192
+ licenses:
193
+ - APIMATIC REFERENCE SOURCE LICENSE
194
+ metadata: {}
195
+ post_install_message:
196
+ rdoc_options: []
197
+ require_paths:
198
+ - lib
199
+ required_ruby_version: !ruby/object:Gem::Requirement
200
+ requirements:
201
+ - - ">="
202
+ - !ruby/object:Gem::Version
203
+ version: '2.6'
204
+ required_rubygems_version: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ requirements: []
210
+ rubygems_version: 3.4.1
211
+ signing_key:
212
+ specification_version: 4
213
+ summary: A library that contains apimatic-apimatic-core logic and utilities for consuming
214
+ REST APIs using Python SDKs generated by APIMatic.
215
+ test_files: []