patch_ruby 1.14.0 → 1.15.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 983c0272228fcb5224e71c3004a104f5312d3288963e5915bc3d7b793b3c8f7a
4
- data.tar.gz: 83e8d6569fc5ce0cb705de13de8d5de3d2f0dfc4a2ca132167d2a1cc8f67b206
3
+ metadata.gz: a338171de1603165ff7c077c2c1607c4ed157718437c2e0b6d1661ab44d122db
4
+ data.tar.gz: 96f84e3602fb5ad9e6b22ac91873c004dcce0f1da76c93471ba323f24075e5e0
5
5
  SHA512:
6
- metadata.gz: 444ac13006a538ae0f84673b82ca88b840a57b342614d4f7e4acac672e25b6176e2ce3449a9c3fe4a4b2dd06a355f423eeb40f87c2ef12cffab93080358a846c
7
- data.tar.gz: cc20f9980d10d998f16d5db881311f3413584c119e249df48d42751f31962710131f4b422cabaa1861cd0b74592fc748db7a5058a74e97dbdefd36d5e2d1f7fd
6
+ metadata.gz: 2c20ecb8c28c1f418814c94c8d9c788658fbda38e6aada43cf909ecb8f80b3a922704ba1d3cd862c5f6f44e84c691cb2e2acc564f69e4332c4394a636fe52e71
7
+ data.tar.gz: 80e864a530bbc4d422a4c7f28cc6e6dc7471b759e8a6dd443909466214d638e0e11457007fc3349f4a4aade5c9144d33a980e5756c8e41f18be6a263d0c380d0
data/CHANGELOG.md CHANGED
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.15.0] - 2021-10-04
9
+
10
+ ### Added
11
+
12
+ - Added the ability to fetch project technology types via `Patch::TechnologyType.retrieve_technology_types()`
13
+
8
14
  ## [1.14.0] - 2021-09-21
9
15
 
10
16
  ### Added
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- patch_ruby (1.14.0)
4
+ patch_ruby (1.15.0)
5
5
  typhoeus (~> 1.0, >= 1.0.1)
6
6
 
7
7
  GEM
@@ -0,0 +1,84 @@
1
+ =begin
2
+ #Patch API V1
3
+
4
+ #The core API used to integrate with Patch's service
5
+
6
+ The version of the OpenAPI document: v1
7
+ Contact: developers@usepatch.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.2.1
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Patch
16
+ class TechnologyTypesApi
17
+ OPERATIONS = [
18
+ :retrieve_technology_types,
19
+ ]
20
+
21
+ attr_accessor :api_client
22
+
23
+ def initialize(api_client = ApiClient.default)
24
+ @api_client = api_client
25
+ end
26
+ # Retrieves the list of technology_types
27
+ # Retrieves a list of all technology_types.
28
+ # @param [Hash] opts the optional parameters
29
+ # @return [TechnologyTypeListResponse]
30
+ def retrieve_technology_types(opts = {})
31
+
32
+ data, _status_code, _headers = retrieve_technology_types_with_http_info(opts)
33
+ data
34
+ end
35
+
36
+ # Retrieves the list of technology_types
37
+ # Retrieves a list of all technology_types.
38
+ # @param [Hash] opts the optional parameters
39
+ # @return [Array<(TechnologyTypeListResponse, Integer, Hash)>] TechnologyTypeListResponse data, response status code and response headers
40
+ def retrieve_technology_types_with_http_info(opts = {})
41
+ if @api_client.config.debugging
42
+ @api_client.config.logger.debug 'Calling API: TechnologyTypesApi.retrieve_technology_types ...'
43
+ end
44
+ # resource path
45
+ local_var_path = '/v1/projects/technology_types'
46
+
47
+ # query parameters
48
+ query_params = opts[:query_params] || {}
49
+
50
+ # header parameters
51
+ header_params = opts[:header_params] || {}
52
+ # HTTP header 'Accept' (if needed)
53
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
54
+
55
+ # form parameters
56
+ form_params = opts[:form_params] || {}
57
+
58
+ # http body (model)
59
+ post_body = opts[:debug_body]
60
+
61
+ # return_type
62
+ return_type = opts[:debug_return_type] || 'TechnologyTypeListResponse'
63
+
64
+ # auth_names
65
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
66
+
67
+ new_options = opts.merge(
68
+ :operation => :"TechnologyTypesApi.retrieve_technology_types",
69
+ :header_params => header_params,
70
+ :query_params => query_params,
71
+ :form_params => form_params,
72
+ :body => post_body,
73
+ :auth_names => auth_names,
74
+ :return_type => return_type
75
+ )
76
+
77
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
78
+ if @api_client.config.debugging
79
+ @api_client.config.logger.debug "API called: TechnologyTypesApi#retrieve_technology_types\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
80
+ end
81
+ return data, status_code, headers
82
+ end
83
+ end
84
+ end
@@ -31,7 +31,7 @@ module Patch
31
31
  # @option config [Configuration] Configuration for initializing the object, default to Configuration.default
32
32
  def initialize(config = Configuration.default)
33
33
  @config = config
34
- @user_agent = "patch-ruby/1.14.0"
34
+ @user_agent = "patch-ruby/1.15.0"
35
35
  @default_headers = {
36
36
  'Content-Type' => 'application/json',
37
37
  'User-Agent' => @user_agent
@@ -14,6 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Patch
17
+ # An object containing the parent technology type's name and slug.
17
18
  class ParentTechnologyType
18
19
  # Unique identifier for this type of technology.
19
20
  attr_accessor :slug
@@ -27,10 +27,10 @@ module Patch
27
27
  # The description of the project.
28
28
  attr_accessor :description
29
29
 
30
- # The type of carbon removal project, currently available project types are Biomass, Dac, Forestry, Mineralization, Ocean, Renewables, Soil.
30
+ # Deprecated. Favor the technology_type field instead.
31
31
  attr_accessor :type
32
32
 
33
- # The mechanism of the project. removal or avoidance.
33
+ # The mechanism of the project. Either removal or avoidance.
34
34
  attr_accessor :mechanism
35
35
 
36
36
  # The country of origin of the project.
@@ -63,11 +63,11 @@ module Patch
63
63
  # An array returning the UN Sustainable Development Goals associated with this project.
64
64
  attr_accessor :sdgs
65
65
 
66
- attr_accessor :technology_type
67
-
68
- # A short description of the project
66
+ # A short description of the project.
69
67
  attr_accessor :tagline
70
68
 
69
+ attr_accessor :technology_type
70
+
71
71
  class EnumAttributeValidator
72
72
  attr_reader :datatype
73
73
  attr_reader :allowable_values
@@ -109,8 +109,8 @@ module Patch
109
109
  :'remaining_mass_g' => :'remaining_mass_g',
110
110
  :'standard' => :'standard',
111
111
  :'sdgs' => :'sdgs',
112
- :'technology_type' => :'technology_type',
113
- :'tagline' => :'tagline'
112
+ :'tagline' => :'tagline',
113
+ :'technology_type' => :'technology_type'
114
114
  }
115
115
  end
116
116
 
@@ -138,8 +138,8 @@ module Patch
138
138
  :'remaining_mass_g' => :'Integer',
139
139
  :'standard' => :'Standard',
140
140
  :'sdgs' => :'Array<Sdg>',
141
- :'technology_type' => :'TechnologyType',
142
- :'tagline' => :'String'
141
+ :'tagline' => :'String',
142
+ :'technology_type' => :'TechnologyType'
143
143
  }
144
144
  end
145
145
 
@@ -152,7 +152,6 @@ module Patch
152
152
  :'photos',
153
153
  :'standard',
154
154
  :'sdgs',
155
- :'tagline'
156
155
  ])
157
156
  end
158
157
 
@@ -251,13 +250,13 @@ module Patch
251
250
  end
252
251
  end
253
252
 
254
- if attributes.key?(:'technology_type')
255
- self.technology_type = attributes[:'technology_type']
256
- end
257
-
258
253
  if attributes.key?(:'tagline')
259
254
  self.tagline = attributes[:'tagline']
260
255
  end
256
+
257
+ if attributes.key?(:'technology_type')
258
+ self.technology_type = attributes[:'technology_type']
259
+ end
261
260
  end
262
261
 
263
262
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -296,6 +295,10 @@ module Patch
296
295
  invalid_properties.push('invalid value for "remaining_mass_g", remaining_mass_g cannot be nil.')
297
296
  end
298
297
 
298
+ if @technology_type.nil?
299
+ invalid_properties.push('invalid value for "technology_type", technology_type cannot be nil.')
300
+ end
301
+
299
302
  invalid_properties
300
303
  end
301
304
 
@@ -306,27 +309,16 @@ module Patch
306
309
  return false if @production.nil?
307
310
  return false if @name.nil?
308
311
  return false if @description.nil?
309
- type_validator = EnumAttributeValidator.new('String', ["biomass", "dac", "forestry", "mineralization", "ocean", "renewables", "soil"])
310
- return false unless type_validator.valid?(@type)
311
312
  mechanism_validator = EnumAttributeValidator.new('String', ["removal", "avoidance"])
312
313
  return false unless mechanism_validator.valid?(@mechanism)
313
314
  return false if @country.nil?
314
315
  return false if @developer.nil?
315
316
  return false if @average_price_per_tonne_cents_usd.nil?
316
317
  return false if @remaining_mass_g.nil?
318
+ return false if @technology_type.nil?
317
319
  true
318
320
  end
319
321
 
320
- # Custom attribute writer method checking allowed values (enum).
321
- # @param [Object] type Object to be assigned
322
- def type=(type)
323
- validator = EnumAttributeValidator.new('String', ["biomass", "dac", "forestry", "mineralization", "ocean", "renewables", "soil"])
324
- unless validator.valid?(type)
325
- fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
326
- end
327
- @type = type
328
- end
329
-
330
322
  # Custom attribute writer method checking allowed values (enum).
331
323
  # @param [Object] mechanism Object to be assigned
332
324
  def mechanism=(mechanism)
@@ -358,8 +350,8 @@ module Patch
358
350
  remaining_mass_g == o.remaining_mass_g &&
359
351
  standard == o.standard &&
360
352
  sdgs == o.sdgs &&
361
- technology_type == o.technology_type &&
362
- tagline == o.tagline
353
+ tagline == o.tagline &&
354
+ technology_type == o.technology_type
363
355
  end
364
356
 
365
357
  # @see the `==` method
@@ -371,7 +363,7 @@ module Patch
371
363
  # Calculates hash code according to all attributes.
372
364
  # @return [Integer] Hash code
373
365
  def hash
374
- [id, production, name, description, type, mechanism, country, state, latitude, longitude, developer, photos, average_price_per_tonne_cents_usd, remaining_mass_g, standard, sdgs, technology_type, tagline].hash
366
+ [id, production, name, description, type, mechanism, country, state, latitude, longitude, developer, photos, average_price_per_tonne_cents_usd, remaining_mass_g, standard, sdgs, tagline, technology_type].hash
375
367
  end
376
368
 
377
369
  # Builds the object from hash
@@ -14,11 +14,12 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Patch
17
+ # An object containing the technology type's name, slug and parent_technology_type.
17
18
  class TechnologyType
18
19
  # Unique identifier for this type of technology.
19
20
  attr_accessor :slug
20
21
 
21
- # Name of this technology type.
22
+ # Display name of this technology type.
22
23
  attr_accessor :name
23
24
 
24
25
  attr_accessor :parent_technology_type
@@ -96,12 +97,22 @@ module Patch
96
97
  # @return Array for valid properties with the reasons
97
98
  def list_invalid_properties
98
99
  invalid_properties = Array.new
100
+ if @slug.nil?
101
+ invalid_properties.push('invalid value for "slug", slug cannot be nil.')
102
+ end
103
+
104
+ if @name.nil?
105
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
106
+ end
107
+
99
108
  invalid_properties
100
109
  end
101
110
 
102
111
  # Check to see if the all the properties in the model are valid
103
112
  # @return true if the model is valid
104
113
  def valid?
114
+ return false if @slug.nil?
115
+ return false if @name.nil?
105
116
  true
106
117
  end
107
118
 
@@ -0,0 +1,259 @@
1
+ =begin
2
+ #Patch API V1
3
+
4
+ #The core API used to integrate with Patch's service
5
+
6
+ The version of the OpenAPI document: v1
7
+ Contact: developers@usepatch.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.2.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Patch
17
+ class TechnologyTypeListResponse
18
+ attr_accessor :success
19
+
20
+ attr_accessor :error
21
+
22
+ attr_accessor :data
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'success' => :'success',
28
+ :'error' => :'error',
29
+ :'data' => :'data'
30
+ }
31
+ end
32
+
33
+ # Returns all the JSON keys this model knows about
34
+ def self.acceptable_attributes
35
+ attribute_map.values
36
+ end
37
+
38
+ # Attribute type mapping.
39
+ def self.openapi_types
40
+ {
41
+ :'success' => :'Boolean',
42
+ :'error' => :'Object',
43
+ :'data' => :'Array<TechnologyType>'
44
+ }
45
+ end
46
+
47
+ # List of attributes with nullable: true
48
+ def self.openapi_nullable
49
+ Set.new([
50
+ :'error',
51
+ ])
52
+ end
53
+
54
+
55
+ # Allows models with corresponding API classes to delegate API operations to those API classes
56
+ # Exposes Model.operation_id which delegates to ModelsApi.new.operation_id
57
+ # Eg. Order.create_order delegates to OrdersApi.new.create_order
58
+ def self.method_missing(message, *args, &block)
59
+ if Object.const_defined?('Patch::TechnologyTypeListResponsesApi::OPERATIONS') && Patch::TechnologyTypeListResponsesApi::OPERATIONS.include?(message)
60
+ Patch::TechnologyTypeListResponsesApi.new.send(message, *args)
61
+ else
62
+ super
63
+ end
64
+ end
65
+
66
+ # Initializes the object
67
+ # @param [Hash] attributes Model attributes in the form of hash
68
+ def initialize(attributes = {})
69
+ if (!attributes.is_a?(Hash))
70
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Patch::TechnologyTypeListResponse` initialize method"
71
+ end
72
+
73
+ # check to see if the attribute exists and convert string to symbol for hash key
74
+ attributes = attributes.each_with_object({}) { |(k, v), h|
75
+ if (!self.class.attribute_map.key?(k.to_sym))
76
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Patch::TechnologyTypeListResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
77
+ end
78
+ h[k.to_sym] = v
79
+ }
80
+
81
+ if attributes.key?(:'success')
82
+ self.success = attributes[:'success']
83
+ end
84
+
85
+ if attributes.key?(:'error')
86
+ self.error = attributes[:'error']
87
+ end
88
+
89
+ if attributes.key?(:'data')
90
+ if (value = attributes[:'data']).is_a?(Array)
91
+ self.data = value
92
+ end
93
+ end
94
+ end
95
+
96
+ # Show invalid properties with the reasons. Usually used together with valid?
97
+ # @return Array for valid properties with the reasons
98
+ def list_invalid_properties
99
+ invalid_properties = Array.new
100
+ if @success.nil?
101
+ invalid_properties.push('invalid value for "success", success cannot be nil.')
102
+ end
103
+
104
+ if @data.nil?
105
+ invalid_properties.push('invalid value for "data", data cannot be nil.')
106
+ end
107
+
108
+ invalid_properties
109
+ end
110
+
111
+ # Check to see if the all the properties in the model are valid
112
+ # @return true if the model is valid
113
+ def valid?
114
+ return false if @success.nil?
115
+ return false if @data.nil?
116
+ true
117
+ end
118
+
119
+ # Checks equality by comparing each attribute.
120
+ # @param [Object] Object to be compared
121
+ def ==(o)
122
+ return true if self.equal?(o)
123
+ self.class == o.class &&
124
+ success == o.success &&
125
+ error == o.error &&
126
+ data == o.data
127
+ end
128
+
129
+ # @see the `==` method
130
+ # @param [Object] Object to be compared
131
+ def eql?(o)
132
+ self == o
133
+ end
134
+
135
+ # Calculates hash code according to all attributes.
136
+ # @return [Integer] Hash code
137
+ def hash
138
+ [success, error, data].hash
139
+ end
140
+
141
+ # Builds the object from hash
142
+ # @param [Hash] attributes Model attributes in the form of hash
143
+ # @return [Object] Returns the model itself
144
+ def self.build_from_hash(attributes)
145
+ new.build_from_hash(attributes)
146
+ end
147
+
148
+ # Builds the object from hash
149
+ # @param [Hash] attributes Model attributes in the form of hash
150
+ # @return [Object] Returns the model itself
151
+ def build_from_hash(attributes)
152
+ return nil unless attributes.is_a?(Hash)
153
+ self.class.openapi_types.each_pair do |key, type|
154
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
155
+ self.send("#{key}=", nil)
156
+ elsif type =~ /\AArray<(.*)>/i
157
+ # check to ensure the input is an array given that the attribute
158
+ # is documented as an array but the input is not
159
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
160
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
161
+ end
162
+ elsif !attributes[self.class.attribute_map[key]].nil?
163
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
164
+ end
165
+ end
166
+
167
+ self
168
+ end
169
+
170
+ # Deserializes the data based on type
171
+ # @param string type Data type
172
+ # @param string value Value to be deserialized
173
+ # @return [Object] Deserialized data
174
+ def _deserialize(type, value)
175
+ case type.to_sym
176
+ when :Time
177
+ Time.parse(value)
178
+ when :Date
179
+ Date.parse(value)
180
+ when :String
181
+ value.to_s
182
+ when :Integer
183
+ value.to_i
184
+ when :Float
185
+ value.to_f
186
+ when :Boolean
187
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
188
+ true
189
+ else
190
+ false
191
+ end
192
+ when :Object
193
+ # generic object (usually a Hash), return directly
194
+ value
195
+ when /\AArray<(?<inner_type>.+)>\z/
196
+ inner_type = Regexp.last_match[:inner_type]
197
+ value.map { |v| _deserialize(inner_type, v) }
198
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
199
+ k_type = Regexp.last_match[:k_type]
200
+ v_type = Regexp.last_match[:v_type]
201
+ {}.tap do |hash|
202
+ value.each do |k, v|
203
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
204
+ end
205
+ end
206
+ else # model
207
+ # models (e.g. Pet) or oneOf
208
+ klass = Patch.const_get(type)
209
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
210
+ end
211
+ end
212
+
213
+ # Returns the string representation of the object
214
+ # @return [String] String presentation of the object
215
+ def to_s
216
+ to_hash.to_s
217
+ end
218
+
219
+ # to_body is an alias to to_hash (backward compatibility)
220
+ # @return [Hash] Returns the object in the form of hash
221
+ def to_body
222
+ to_hash
223
+ end
224
+
225
+ # Returns the object in the form of hash
226
+ # @return [Hash] Returns the object in the form of hash
227
+ def to_hash
228
+ hash = {}
229
+ self.class.attribute_map.each_pair do |attr, param|
230
+ value = self.send(attr)
231
+ if value.nil?
232
+ is_nullable = self.class.openapi_nullable.include?(attr)
233
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
234
+ end
235
+
236
+ hash[param] = _to_hash(value)
237
+ end
238
+ hash
239
+ end
240
+
241
+ # Outputs non-array value in the form of hash
242
+ # For object, use to_hash. Otherwise, just return the value
243
+ # @param [Object] value Any valid value
244
+ # @return [Hash] Returns the value in the form of hash
245
+ def _to_hash(value)
246
+ if value.is_a?(Array)
247
+ value.compact.map { |v| _to_hash(v) }
248
+ elsif value.is_a?(Hash)
249
+ {}.tap do |hash|
250
+ value.each { |k, v| hash[k] = _to_hash(v) }
251
+ end
252
+ elsif value.respond_to? :to_hash
253
+ value.to_hash
254
+ else
255
+ value
256
+ end
257
+ end
258
+ end
259
+ end
@@ -11,5 +11,5 @@ OpenAPI Generator version: 5.2.1
11
11
  =end
12
12
 
13
13
  module Patch
14
- VERSION = '1.14.0'
14
+ VERSION = '1.15.0'
15
15
  end
data/lib/patch_ruby.rb CHANGED
@@ -46,12 +46,14 @@ require 'patch_ruby/models/project_response'
46
46
  require 'patch_ruby/models/sdg'
47
47
  require 'patch_ruby/models/standard'
48
48
  require 'patch_ruby/models/technology_type'
49
+ require 'patch_ruby/models/technology_type_list_response'
49
50
 
50
51
  # APIs
51
52
  require 'patch_ruby/api/estimates_api'
52
53
  require 'patch_ruby/api/orders_api'
53
54
  require 'patch_ruby/api/preferences_api'
54
55
  require 'patch_ruby/api/projects_api'
56
+ require 'patch_ruby/api/technology_types_api'
55
57
 
56
58
  module Patch
57
59
  class << self
@@ -0,0 +1,46 @@
1
+ =begin
2
+ #Patch API V1
3
+
4
+ #The core API used to integrate with Patch's service
5
+
6
+ The version of the OpenAPI document: v1
7
+ Contact: developers@usepatch.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.2.1
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+
16
+ # Unit tests for Patch::TechnologyTypesApi
17
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
18
+ # Please update as you see appropriate
19
+ describe 'TechnologyTypesApi' do
20
+ before do
21
+ # run before each test
22
+ @api_instance = Patch::TechnologyTypesApi.new
23
+ end
24
+
25
+ after do
26
+ # run after each test
27
+ end
28
+
29
+ describe 'test an instance of TechnologyTypesApi' do
30
+ it 'should create an instance of TechnologyTypesApi' do
31
+ expect(@api_instance).to be_instance_of(Patch::TechnologyTypesApi)
32
+ end
33
+ end
34
+
35
+ # unit tests for retrieve_technology_types
36
+ # Retrieves the list of technology_types
37
+ # Retrieves a list of all technology_types.
38
+ # @param [Hash] opts the optional parameters
39
+ # @return [TechnologyTypeListResponse]
40
+ describe 'retrieve_technology_types test' do
41
+ it 'should work' do
42
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
43
+ end
44
+ end
45
+
46
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.describe "Projects TechnologyTypes Integration" do
4
+ it "returns a list of technology types and their parent types" do
5
+ technology_types = Patch::TechnologyType.retrieve_technology_types()
6
+ expect(technology_types.data.count).to be_positive
7
+ expect(technology_types.data.first.slug).to be_a(String)
8
+ expect(technology_types.data.first.name).to be_a(String)
9
+
10
+ parent = technology_types.data.first.parent_technology_type
11
+ expect(parent.slug).to be_a(String)
12
+ expect(parent.name).to be_a(String)
13
+ end
14
+ end
@@ -51,7 +51,7 @@ describe 'Project' do
51
51
  }
52
52
  }
53
53
  let(:nullable_properties) do
54
- Set.new(%i[photos standard sdgs state latitude longitude tagline])
54
+ Set.new(%i[photos standard sdgs state latitude longitude])
55
55
  end
56
56
  end
57
57
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: patch_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.14.0
4
+ version: 1.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patch Technology
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-09-24 00:00:00.000000000 Z
11
+ date: 2021-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typhoeus
@@ -97,6 +97,7 @@ files:
97
97
  - lib/patch_ruby/api/orders_api.rb
98
98
  - lib/patch_ruby/api/preferences_api.rb
99
99
  - lib/patch_ruby/api/projects_api.rb
100
+ - lib/patch_ruby/api/technology_types_api.rb
100
101
  - lib/patch_ruby/api_client.rb
101
102
  - lib/patch_ruby/api_error.rb
102
103
  - lib/patch_ruby/configuration.rb
@@ -129,12 +130,14 @@ files:
129
130
  - lib/patch_ruby/models/sdg.rb
130
131
  - lib/patch_ruby/models/standard.rb
131
132
  - lib/patch_ruby/models/technology_type.rb
133
+ - lib/patch_ruby/models/technology_type_list_response.rb
132
134
  - lib/patch_ruby/version.rb
133
135
  - patch_ruby.gemspec
134
136
  - spec/api/estimates_api_spec.rb
135
137
  - spec/api/orders_api_spec.rb
136
138
  - spec/api/preferences_api_spec.rb
137
139
  - spec/api/projects_api_spec.rb
140
+ - spec/api/technology_types_api_spec.rb
138
141
  - spec/api_client_spec.rb
139
142
  - spec/configuration_spec.rb
140
143
  - spec/constants.rb
@@ -162,6 +165,7 @@ files:
162
165
  - spec/integration/estimates_spec.rb
163
166
  - spec/integration/orders_spec.rb
164
167
  - spec/integration/preferences_spec.rb
168
+ - spec/integration/projects/technology_types_spec.rb
165
169
  - spec/integration/projects_spec.rb
166
170
  - spec/models/allocation_spec.rb
167
171
  - spec/models/create_mass_estimate_request_spec.rb
@@ -208,6 +212,7 @@ signing_key:
208
212
  specification_version: 4
209
213
  summary: Ruby wrapper for the Patch API
210
214
  test_files:
215
+ - spec/api/technology_types_api_spec.rb
211
216
  - spec/api/projects_api_spec.rb
212
217
  - spec/api/estimates_api_spec.rb
213
218
  - spec/api/preferences_api_spec.rb
@@ -239,6 +244,7 @@ test_files:
239
244
  - spec/integration/estimates_spec.rb
240
245
  - spec/integration/projects_spec.rb
241
246
  - spec/integration/preferences_spec.rb
247
+ - spec/integration/projects/technology_types_spec.rb
242
248
  - spec/integration/orders_spec.rb
243
249
  - spec/models/create_order_request_spec.rb
244
250
  - spec/models/project_list_response_spec.rb