microsoft_kiota_abstractions 0.16.0 → 0.18.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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +2 -2
  3. data/lib/microsoft_kiota_abstractions/api_client_builder.rb +12 -9
  4. data/lib/microsoft_kiota_abstractions/api_error.rb +20 -18
  5. data/lib/microsoft_kiota_abstractions/authentication/access_token_provider.rb +3 -4
  6. data/lib/microsoft_kiota_abstractions/authentication/allowed_hosts_validator.rb +1 -2
  7. data/lib/microsoft_kiota_abstractions/authentication/anonymous_authentication_provider.rb +5 -2
  8. data/lib/microsoft_kiota_abstractions/authentication/authentication_provider.rb +5 -3
  9. data/lib/microsoft_kiota_abstractions/authentication/base_bearer_token_authentication_provider.rb +4 -3
  10. data/lib/microsoft_kiota_abstractions/base_request_builder.rb +33 -33
  11. data/lib/microsoft_kiota_abstractions/http_method.rb +4 -4
  12. data/lib/microsoft_kiota_abstractions/request_adapter.rb +13 -13
  13. data/lib/microsoft_kiota_abstractions/request_configuration.rb +19 -17
  14. data/lib/microsoft_kiota_abstractions/request_headers.rb +58 -54
  15. data/lib/microsoft_kiota_abstractions/request_information.rb +63 -75
  16. data/lib/microsoft_kiota_abstractions/request_option.rb +7 -5
  17. data/lib/microsoft_kiota_abstractions/serialization/additional_data_holder.rb +6 -4
  18. data/lib/microsoft_kiota_abstractions/serialization/composed_type_wrapper.rb +2 -0
  19. data/lib/microsoft_kiota_abstractions/serialization/iso_duration.rb +64 -63
  20. data/lib/microsoft_kiota_abstractions/serialization/parsable.rb +5 -3
  21. data/lib/microsoft_kiota_abstractions/serialization/parse_node.rb +30 -30
  22. data/lib/microsoft_kiota_abstractions/serialization/parse_node_factory.rb +4 -2
  23. data/lib/microsoft_kiota_abstractions/serialization/parse_node_factory_registry.rb +27 -19
  24. data/lib/microsoft_kiota_abstractions/serialization/parse_node_helper.rb +2 -0
  25. data/lib/microsoft_kiota_abstractions/serialization/serialization_writer.rb +37 -37
  26. data/lib/microsoft_kiota_abstractions/serialization/serialization_writer_factory.rb +4 -4
  27. data/lib/microsoft_kiota_abstractions/serialization/serialization_writer_factory_registry.rb +23 -14
  28. data/lib/microsoft_kiota_abstractions/version.rb +1 -1
  29. data/lib/microsoft_kiota_abstractions.rb +24 -24
  30. data/microsoft_kiota_abstractions.gemspec +9 -10
  31. metadata +24 -45
  32. data/.github/CODEOWNERS +0 -1
  33. data/.github/copilot-instructions.md +0 -25
  34. data/.github/dependabot.yml +0 -16
  35. data/.github/policies/kiota-abstractions-ruby-branch-protection.yml +0 -40
  36. data/.github/policies/resourceManagement.yml +0 -101
  37. data/.github/release-please.yml +0 -3
  38. data/.github/workflows/auto-merge-dependabot.yml +0 -33
  39. data/.github/workflows/code-ql.yml +0 -77
  40. data/.github/workflows/conflicting-pr-label.yml +0 -39
  41. data/.github/workflows/release-please-gha.yml +0 -49
  42. data/.github/workflows/release.yml +0 -36
  43. data/.github/workflows/ruby.yml +0 -48
  44. data/.gitignore +0 -58
  45. data/.release-please-manifest.json +0 -3
  46. data/CHANGELOG.md +0 -88
  47. data/CODE_OF_CONDUCT.md +0 -10
  48. data/CONTRIBUTING.md +0 -56
  49. data/LICENSE +0 -21
  50. data/README.md +0 -51
  51. data/SECURITY.md +0 -41
  52. data/SUPPORT.md +0 -25
  53. data/release-please-config.json +0 -15
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 24c3328c6c5d94184e20d2244ed7ad1841d48674910d01edb0857ced006d4a0c
4
- data.tar.gz: c3dff37801f8505068acded22907bc786c22796f5a1362c1c0e2bc75c74881a0
3
+ metadata.gz: fbefae20343c4dfd9791a2db12c30acaa72b990cb049bfba57fc43355ed5587f
4
+ data.tar.gz: ba72ac95dcd9d2998c96323297722e4ebf9a56771d38aa01b5b8e1a8b168e173
5
5
  SHA512:
6
- metadata.gz: 7f203b1aba9a545821222491d604abf42dc1435bc1dc5e83fbe30b6481802d2305f6d233a327a04eba5f81cd2fdd8a632fe32425cbffa46576da7f04ce40f1bf
7
- data.tar.gz: fc1770bee71f0b757dd1406e8bbe941061334374ac161bfa004e17b9333b9a225560951c381dba0c75f8332ada0dd83c1d7be524f2d7f7d215159ba674a51411
6
+ metadata.gz: 7722d4736ef858746b4320a6dbb9fe31570892840e705b599b438231459b73a9dbdb75158e26a4c8a2f56ea2b824d4d5aa8465af948ec5909ff572329ee23d4e
7
+ data.tar.gz: 609be2adf7d3b4566cc927a0233b06e092ba04b08c928ca70730b9f3861ab4992e1d7a032a681e4cabd16aa458a5f3bbc775946a6902b1bef83a59b33aaf095e
data/Rakefile CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "bundler/gem_tasks"
4
- require "rspec/core/rake_task"
3
+ require 'bundler/gem_tasks'
4
+ require 'rspec/core/rake_task'
5
5
 
6
6
  RSpec::Core::RakeTask.new(:spec)
7
7
 
@@ -1,19 +1,22 @@
1
- require_relative "serialization/parse_node_factory"
2
- require_relative "serialization/parse_node_factory_registry"
3
- require_relative "serialization/serialization_writer_factory"
4
- require_relative "serialization/serialization_writer_factory_registry"
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'serialization/parse_node_factory'
4
+ require_relative 'serialization/parse_node_factory_registry'
5
+ require_relative 'serialization/serialization_writer_factory'
6
+ require_relative 'serialization/serialization_writer_factory_registry'
5
7
 
6
8
  module MicrosoftKiotaAbstractions
7
9
  class ApiClientBuilder
8
10
  def self.register_default_serializer(factory_class)
9
- factory = factory_class.new()
10
- MicrosoftKiotaAbstractions::SerializationWriterFactoryRegistry.default_instance.content_type_associated_factories[factory.get_valid_content_type()] = factory
11
+ factory = factory_class.new
12
+ MicrosoftKiotaAbstractions::SerializationWriterFactoryRegistry.default_instance.content_type_associated_factories[factory.get_valid_content_type] =
13
+ factory
11
14
  end
12
15
 
13
16
  def self.register_default_deserializer(factory_class)
14
- factory = factory_class.new()
15
- MicrosoftKiotaAbstractions::ParseNodeFactoryRegistry.default_instance.content_type_associated_factories[factory.get_valid_content_type()] = factory
17
+ factory = factory_class.new
18
+ MicrosoftKiotaAbstractions::ParseNodeFactoryRegistry.default_instance.content_type_associated_factories[factory.get_valid_content_type] =
19
+ factory
16
20
  end
17
21
  end
18
22
  end
19
-
@@ -1,23 +1,25 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'serialization/parsable'
2
4
  module MicrosoftKiotaAbstractions
3
- class ApiError < StandardError
4
- include MicrosoftKiotaAbstractions::Parsable
5
+ class ApiError < StandardError
6
+ include MicrosoftKiotaAbstractions::Parsable
5
7
 
6
- ##
7
- ## The deserialization information for the current model
8
- ## @return a i_dictionary
9
- ##
10
- def get_field_deserializers()
11
- return Hash.new
12
- end
13
- ##
14
- ## Serializes information the current object
15
- ## @param writer Serialization writer to use to serialize this model
16
- ## @return a void
17
- ##
18
- def serialize(writer)
19
- raise StandardError, 'writer cannot be null' if writer.nil?
20
- end
8
+ ##
9
+ ## The deserialization information for the current model
10
+ ## @return a i_dictionary
11
+ ##
12
+ def get_field_deserializers
13
+ {}
14
+ end
21
15
 
16
+ ##
17
+ ## Serializes information the current object
18
+ ## @param writer Serialization writer to use to serialize this model
19
+ ## @return a void
20
+ ##
21
+ def serialize(writer)
22
+ raise StandardError, 'writer cannot be null' if writer.nil?
22
23
  end
23
- end
24
+ end
25
+ end
@@ -7,14 +7,13 @@ module MicrosoftKiotaAbstractions
7
7
  module AccessTokenProvider
8
8
  # This function obtains the authorization token.
9
9
  # :params
10
- # uri: a string containing the uri
10
+ # uri: a string containing the uri
11
11
  # additional_params: hash of symbols to string values, ie { response_mode: 'fragment', prompt: 'login' }
12
12
  # default is empty hash
13
- def get_authorization_token(uri, additional_properties = {})
14
- raise NotImplementedError.new
13
+ def get_authorization_token(_uri, _additional_properties = {})
14
+ raise NotImplementedError
15
15
  end
16
16
 
17
17
  attr_accessor :scopes, :host_validator
18
-
19
18
  end
20
19
  end
@@ -24,11 +24,10 @@ module MicrosoftKiotaAbstractions
24
24
 
25
25
  parsed_url = URI(url)
26
26
  return false if parsed_url.host.nil?
27
-
27
+
28
28
  return false unless parsed_url.is_a?(URI::HTTPS)
29
29
 
30
30
  @allowed_hosts.key? parsed_url.host.downcase
31
-
32
31
  rescue URI::InvalidURIError
33
32
  false
34
33
  end
@@ -1,10 +1,13 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module MicrosoftKiotaAbstractions
2
4
  class AnonymousAuthenticationProvider
3
5
  include MicrosoftKiotaAbstractions::AuthenticationProvider
4
- def authenticate_request(request, additional_properties = {})
6
+
7
+ def authenticate_request(_request, _additional_properties = {})
5
8
  # return an empty Fiber - all other authentication providers do the same, and the FaradayRequestAdapter requires it.
6
9
  Fiber.new do
7
10
  end
8
11
  end
9
12
  end
10
- end
13
+ end
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module MicrosoftKiotaAbstractions
2
4
  module AuthenticationProvider
3
- def authenticate_request(request, additional_properties = {})
4
- raise NotImplementedError.new
5
- end
5
+ def authenticate_request(_request, _additional_properties = {})
6
+ raise NotImplementedError
7
+ end
6
8
  end
7
9
  end
@@ -1,17 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative './authentication_provider'
4
- require_relative './access_token_provider'
3
+ require_relative 'authentication_provider'
4
+ require_relative 'access_token_provider'
5
5
 
6
6
  module MicrosoftKiotaAbstractions
7
7
  # Provides a base class for implementing AuthenticationProvider for Bearer token scheme
8
8
  class BaseBearerTokenAuthenticationProvider
9
9
  include MicrosoftKiotaAbstractions::AuthenticationProvider
10
+
10
11
  def initialize(access_token_provider)
11
12
  raise StandardError, 'access_token_provider parameter cannot be nil' if access_token_provider.nil?
12
13
 
13
14
  @access_token_provider = access_token_provider
14
- end
15
+ end
15
16
 
16
17
  AUTHORIZATION_HEADER_KEY = 'Authorization'
17
18
  def authenticate_request(request, additional_properties = {})
@@ -1,36 +1,36 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module MicrosoftKiotaAbstractions
2
- ##
3
- # Base class for request builders. Performs basic validation and defines common properties.
4
- class BaseRequestBuilder
5
- ##
6
- # Path parameters for the request
7
- @path_parameters
8
- ##
9
- # The request adapter to use to execute the requests.
10
- @request_adapter
11
- ##
12
- # Url template to use to build the URL for the current request builder
13
- @url_template
14
- ##
15
- ## Instantiates a new BaseRequestBuilder and sets the default values.
16
- ## @param path_parameters Path parameters for the request
17
- ## @param request_adapter The request adapter to use to execute the requests.
18
- ## @param url_template Url template to use to build the URL for the current request builder
19
- ## @return a void
20
- ##
21
- def initialize(path_parameters, request_adapter, url_template)
22
- raise StandardError, 'request_adapter cannot be null' if request_adapter.nil?
23
- raise StandardError, 'url_template cannot be null' if url_template.nil? || url_template.empty?
24
- @request_adapter = request_adapter
25
- unless path_parameters.nil? then
26
- if path_parameters.is_a? Hash then
27
- @path_parameters = path_parameters.clone
28
- elsif path_parameters.is_a? String then
29
- @path_parameters = { "request-raw-url" => path_parameters }
30
- end
31
- end
32
- @path_parameters = Hash.new if path_parameters.nil?
33
- @url_template = url_template
4
+ ##
5
+ # Base class for request builders. Performs basic validation and defines common properties.
6
+ class BaseRequestBuilder
7
+ ##
8
+ # Path parameters for the request
9
+ ##
10
+ # The request adapter to use to execute the requests.
11
+ ##
12
+ # Url template to use to build the URL for the current request builder
13
+ ##
14
+ ## Instantiates a new BaseRequestBuilder and sets the default values.
15
+ ## @param path_parameters Path parameters for the request
16
+ ## @param request_adapter The request adapter to use to execute the requests.
17
+ ## @param url_template Url template to use to build the URL for the current request builder
18
+ ## @return a void
19
+ ##
20
+ def initialize(path_parameters, request_adapter, url_template)
21
+ raise StandardError, 'request_adapter cannot be null' if request_adapter.nil?
22
+ raise StandardError, 'url_template cannot be null' if url_template.nil? || url_template.empty?
23
+
24
+ @request_adapter = request_adapter
25
+ unless path_parameters.nil?
26
+ if path_parameters.is_a? Hash
27
+ @path_parameters = path_parameters.clone
28
+ elsif path_parameters.is_a? String
29
+ @path_parameters = { 'request-raw-url' => path_parameters }
34
30
  end
31
+ end
32
+ @path_parameters = {} if path_parameters.nil?
33
+ @url_template = url_template
35
34
  end
36
- end
35
+ end
36
+ end
@@ -1,6 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module MicrosoftKiotaAbstractions
2
4
  module HttpMethod
3
-
4
5
  HTTP_METHOD = {
5
6
  GET: :GET,
6
7
  POST: :POST,
@@ -11,7 +12,6 @@ module MicrosoftKiotaAbstractions
11
12
  PUT: :PUT,
12
13
  TRACE: :TRACE,
13
14
  HEAD: :HEAD
14
- }
15
-
16
- end
15
+ }.freeze
17
16
  end
17
+ end
@@ -1,30 +1,30 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'request_information'
2
4
 
3
5
  module MicrosoftKiotaAbstractions
4
6
  module RequestAdapter
5
-
6
- def send_async(request_info, factory, errors_mapping)
7
- raise NotImplementedError.new
7
+ def send_async(_request_info, _factory, _errors_mapping)
8
+ raise NotImplementedError
8
9
  end
9
10
 
10
- # TODO we're most likley missing something for enums and collections or at least at the implemenation level
11
+ # TODO: we're most likley missing something for enums and collections or at least at the implemenation level
11
12
 
12
- def get_serialization_writer_factory()
13
- raise NotImplementedError.new
13
+ def get_serialization_writer_factory
14
+ raise NotImplementedError
14
15
  end
15
16
 
16
- def set_base_url(base_url)
17
- raise NotImplementedError.new
17
+ def set_base_url(_base_url)
18
+ raise NotImplementedError
18
19
  end
19
20
 
20
- def get_base_url()
21
- raise NotImplementedError.new
21
+ def get_base_url
22
+ raise NotImplementedError
22
23
  end
23
24
 
24
25
  # Converts the given RequestInformation into a native HTTP request.
25
- def convert_to_native_request_async(request_info)
26
- raise NotImplementedError.new
26
+ def convert_to_native_request_async(_request_info)
27
+ raise NotImplementedError
27
28
  end
28
-
29
29
  end
30
30
  end
@@ -1,22 +1,24 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'request_headers'
2
4
 
3
5
  module MicrosoftKiotaAbstractions
4
- ##
5
- # Configuration for the request such as headers, query parameters, and middleware options.
6
- class RequestConfiguration
7
- ##
8
- # Request headers
9
- attr_accessor :headers
10
- ##
11
- # Request options
12
- attr_accessor :options
13
- ##
14
- # Request query parameters
15
- attr_accessor :query_parameters
6
+ ##
7
+ # Configuration for the request such as headers, query parameters, and middleware options.
8
+ class RequestConfiguration
9
+ ##
10
+ # Request headers
11
+ attr_accessor :headers
12
+ ##
13
+ # Request options
14
+ attr_accessor :options
15
+ ##
16
+ # Request query parameters
17
+ attr_accessor :query_parameters
16
18
 
17
- def initialize
18
- @headers = RequestHeaders.new
19
- @options = Array.new
20
- end
19
+ def initialize
20
+ @headers = RequestHeaders.new
21
+ @options = []
21
22
  end
22
- end
23
+ end
24
+ end
@@ -1,56 +1,60 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module MicrosoftKiotaAbstractions
2
- class RequestHeaders
3
- def initialize()
4
- @headers = Hash.new
5
- end
6
- def add(key, value)
7
- if key.nil? || key.empty? || value.nil? || value.empty? then
8
- raise ArgumentError, 'key and value cannot be nil or empty'
9
- end
10
- existing_value = @headers[key]
11
- if existing_value.nil? then
12
- if value.kind_of?(Array) then
13
- @headers[key] = value
14
- else
15
- @headers[key] = Array[value.to_s]
16
- end
17
- else
18
- if value.kind_of?(Array) then
19
- @headers[key] = existing_value | value
20
- else
21
- existing_value << value.to_s
22
- end
23
- end
24
- end
25
- def try_add(key, value)
26
- if key.nil? || key.empty? || value.nil? || value.empty? then
27
- raise ArgumentError, 'key and value cannot be nil or empty'
28
- end
29
- existing_value = @headers[key]
30
- if existing_value.nil? || existing_value.empty? then
31
- @headers[key] = Array[value.to_s]
32
- return true
33
- else
34
- return false
35
- end
36
- end
37
- def get(key)
38
- if key.nil? || key.empty? then
39
- raise ArgumentError, 'key cannot be nil or empty'
40
- end
41
- return @headers[key]
42
- end
43
- def remove(key)
44
- if key.nil? || key.empty? then
45
- raise ArgumentError, 'key cannot be nil or empty'
46
- end
47
- @headers.delete(key)
48
- end
49
- def clear()
50
- @headers.clear()
51
- end
52
- def get_all()
53
- return @headers
54
- end
4
+ class RequestHeaders
5
+ def initialize
6
+ @headers = {}
55
7
  end
56
- end
8
+
9
+ def add(key, value)
10
+ if key.nil? || key.empty? || value.nil? || value.empty?
11
+ raise ArgumentError, 'key and value cannot be nil or empty'
12
+ end
13
+
14
+ existing_value = @headers[key]
15
+ if existing_value.nil?
16
+ @headers[key] = if value.is_a?(Array)
17
+ value
18
+ else
19
+ [value.to_s]
20
+ end
21
+ elsif value.is_a?(Array)
22
+ @headers[key] = existing_value | value
23
+ else
24
+ existing_value << value.to_s
25
+ end
26
+ end
27
+
28
+ def try_add(key, value)
29
+ if key.nil? || key.empty? || value.nil? || value.empty?
30
+ raise ArgumentError, 'key and value cannot be nil or empty'
31
+ end
32
+
33
+ existing_value = @headers[key]
34
+ return false unless existing_value.nil? || existing_value.empty?
35
+
36
+ @headers[key] = [value.to_s]
37
+ true
38
+ end
39
+
40
+ def get(key)
41
+ raise ArgumentError, 'key cannot be nil or empty' if key.nil? || key.empty?
42
+
43
+ @headers[key]
44
+ end
45
+
46
+ def remove(key)
47
+ raise ArgumentError, 'key cannot be nil or empty' if key.nil? || key.empty?
48
+
49
+ @headers.delete(key)
50
+ end
51
+
52
+ def clear
53
+ @headers.clear
54
+ end
55
+
56
+ def get_all
57
+ @headers
58
+ end
59
+ end
60
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'uri'
2
4
  require 'stduritemplate'
3
5
  require_relative 'http_method'
@@ -7,75 +9,65 @@ module MicrosoftKiotaAbstractions
7
9
  class RequestInformation
8
10
  attr_reader :content, :http_method, :headers
9
11
  attr_accessor :url_template, :path_parameters, :query_parameters
12
+
10
13
  @@binary_content_type = 'application/octet-stream'
11
14
  @@content_type_header = 'Content-Type'
12
15
  @@raw_url_key = 'request-raw-url'
13
16
 
14
- def initialize()
17
+ def initialize
15
18
  @headers = RequestHeaders.new
16
- @query_parameters = Hash.new
17
- @path_parameters = Hash.new
19
+ @query_parameters = {}
20
+ @path_parameters = {}
18
21
  end
19
-
22
+
20
23
  def uri=(arg)
21
- if arg.nil? || arg.empty?
22
- raise ArgumentError, 'arg cannot be nil or empty'
23
- end
24
- self.path_parameters.clear()
25
- self.query_parameters.clear()
24
+ raise ArgumentError, 'arg cannot be nil or empty' if arg.nil? || arg.empty?
25
+
26
+ path_parameters.clear
27
+ query_parameters.clear
26
28
  @uri = URI(arg)
27
29
  end
28
30
 
29
31
  def uri
30
- if @uri != nil
31
- return @uri
32
- else
33
- if self.path_parameters[@@raw_url_key] != nil
34
- self.uri = self.path_parameters[@@raw_url_key]
35
- return @uri
36
- else
37
- return URI(StdUriTemplate.expand(@url_template, self.path_parameters.merge(self.query_parameters)))
38
- end
32
+ return @uri unless @uri.nil?
33
+
34
+ if path_parameters[@@raw_url_key].nil?
35
+ return URI(StdUriTemplate.expand(@url_template, path_parameters.merge(query_parameters)))
39
36
  end
37
+
38
+ self.uri = path_parameters[@@raw_url_key]
39
+ @uri
40
40
  end
41
41
 
42
42
  def add_request_options(request_options_to_add)
43
- unless request_options_to_add.nil? then
44
- @request_options ||= Hash.new
45
- unless request_options_to_add.kind_of?(Array) then
46
- request_options_to_add = [request_options_to_add]
47
- end
48
- request_options_to_add.each do |request_option|
49
- key = request_option.get_key
50
- @request_options[key] = request_option
51
- end
43
+ return if request_options_to_add.nil?
44
+
45
+ @request_options ||= {}
46
+ request_options_to_add = [request_options_to_add] unless request_options_to_add.is_a?(Array)
47
+ request_options_to_add.each do |request_option|
48
+ key = request_option.get_key
49
+ @request_options[key] = request_option
52
50
  end
53
51
  end
54
52
 
55
- def get_request_options()
56
- if @request_options.nil? then
57
- return []
58
- else
59
- return @request_options.values
60
- end
53
+ def get_request_options
54
+ return [] if @request_options.nil?
55
+
56
+ @request_options.values
61
57
  end
62
58
 
63
59
  def get_request_option(key)
64
- if @request_options.nil? || key.nil? || key.empty? then
65
- return nil
66
- else
67
- return @request_options[key]
68
- end
60
+ return nil if @request_options.nil? || key.nil? || key.empty?
61
+
62
+ @request_options[key]
69
63
  end
70
64
 
71
65
  def remove_request_options(keys)
72
- unless keys.nil? || @request_options.nil? then
73
- unless keys.kind_of?(Array) then
74
- keys = [keys]
75
- end
76
- keys.each do |key|
77
- @request_options.delete(key)
78
- end
66
+ return if keys.nil? || @request_options.nil?
67
+
68
+ keys = [keys] unless keys.is_a?(Array)
69
+ keys.each do |key|
70
+ @request_options.delete(key)
79
71
  end
80
72
  end
81
73
 
@@ -85,48 +77,44 @@ module MicrosoftKiotaAbstractions
85
77
 
86
78
  def set_stream_content(value = $stdin, content_type)
87
79
  @content = value
88
- if content_type.nil? || content_type.empty?
89
- content_type = @@binary_content_type
90
- end
80
+ content_type = @@binary_content_type if content_type.nil? || content_type.empty?
91
81
  @headers.try_add(@@content_type_header, content_type)
92
82
  end
93
83
 
94
84
  def set_content_from_parsable(request_adapter, content_type, values)
95
- begin
96
- writer = request_adapter.get_serialization_writer_factory().get_serialization_writer(content_type)
97
- @headers.try_add(@@content_type_header, content_type)
98
- if values != nil && values.kind_of?(Array)
99
- writer.write_collection_of_object_values(nil, values)
100
- else
101
- writer.write_object_value(nil, values);
102
- end
103
- @content = writer.get_serialized_content();
104
- rescue => exception
105
- raise Exception.new "could not serialize payload"
85
+ writer = request_adapter.get_serialization_writer_factory.get_serialization_writer(content_type)
86
+ @headers.try_add(@@content_type_header, content_type)
87
+ if !values.nil? && values.is_a?(Array)
88
+ writer.write_collection_of_object_values(nil, values)
89
+ else
90
+ writer.write_object_value(nil, values)
106
91
  end
92
+ @content = writer.get_serialized_content
93
+ rescue StandardError
94
+ raise StandardError, 'could not serialize payload'
107
95
  end
108
96
 
109
97
  def add_headers_from_raw_object(h)
110
- h.get_all.select{|x,y| @headers.add(x.to_s, y)} unless !h
98
+ h&.get_all&.select { |x, y| @headers.add(x.to_s, y) }
111
99
  end
112
-
100
+
113
101
  def set_query_string_parameters_from_raw_object(q)
114
- if !q || q.is_a?(Hash) || q.is_a?(Array)
115
- return
116
- end
117
- q.class.instance_methods(false).select{|x|
102
+ return if !q || q.is_a?(Hash) || q.is_a?(Array)
103
+
104
+ q.class.instance_methods(false).select do |x|
118
105
  method_name = x.to_s
119
- unless method_name == "compare_by_identity" || method_name == "get_query_parameter" || method_name.end_with?("=") || method_name.end_with?("?") || method_name.end_with?("!") then
120
- begin
121
- key = q.get_query_parameter(method_name)
122
- rescue => exception
123
- key = method_name
124
- end
125
- value = eval("q.#{method_name}")
126
- self.query_parameters[key] = value unless value.nil?
106
+ if method_name == 'compare_by_identity' || method_name == 'get_query_parameter' || method_name.end_with?('=') || method_name.end_with?('?') || method_name.end_with?('!')
107
+ next
127
108
  end
128
- }
129
- end
130
109
 
110
+ begin
111
+ key = q.get_query_parameter(method_name)
112
+ rescue StandardError
113
+ key = method_name
114
+ end
115
+ value = eval("q.#{method_name}")
116
+ query_parameters[key] = value unless value.nil?
117
+ end
118
+ end
131
119
  end
132
120
  end