microsoft_kiota_abstractions 0.13.0 → 0.14.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 278d9b47f5ee5386af0e047ea6d1b54ecfe7cd370591604ed6ac2ea8980b1acf
4
- data.tar.gz: 319859f7f00b664ae9e2b6134d7430015f109fee9c8d0adb410924c2cdb23012
3
+ metadata.gz: 3dc8072c534a3195a597fd816805ed6412b6265dd8eada12806c59301e463691
4
+ data.tar.gz: 0b51aa4853fcaa5016f67830a49369ebece406d7ed05681f412ff297fbac350c
5
5
  SHA512:
6
- metadata.gz: '08d217eceb07235bb8a396d265e94b8fb927e09f40b583a1ffe458e381fe0c814926311ef3c1b85c31748efac851dba308c3404eccb1ba83216c18c3fca1876b'
7
- data.tar.gz: 4297b2d100735a4fd2a9dfd5fdc44b8e1265fbfa4e3eb2e0d1c7d599a602b8fe9b93522adafa8605e8e717a171ac9e1dd2525a5a3912e6a9898f6cc5129d863e
6
+ metadata.gz: e669b6f13c8d68de0a0095d8b536afcb48b37963780c34d9542d22ffc84e2edb98e96a2cdbf85d9701b628964eaf44b0af6d1b1b238dab650691e47adcc495c5
7
+ data.tar.gz: d6b59ab16474fa28b982fda91c3a9eb47fd913478ae35f97430dfefdee4b58b8b0bdb0721b97cbf8eba840d99730ff830d62db69c367fc135ef749e58269eade
data/.github/CODEOWNERS CHANGED
@@ -1 +1 @@
1
- * @andrueastman @baywet @darrelmiller @zengin @MichaelMainer @ddyett @peombwa @nikithauc @ramsessanchez @calebkiage @Ndiritu @rkodev @gavinbarron
1
+ * @andrueastman @baywet @zengin @MichaelMainer @calebkiage @rkodev
@@ -0,0 +1,32 @@
1
+ name: Auto-merge dependabot updates
2
+
3
+ on:
4
+ pull_request:
5
+ branches: [ main ]
6
+
7
+ permissions:
8
+ pull-requests: write
9
+ contents: write
10
+
11
+ jobs:
12
+
13
+ dependabot-merge:
14
+
15
+ runs-on: ubuntu-latest
16
+
17
+ if: ${{ github.actor == 'dependabot[bot]' }}
18
+
19
+ steps:
20
+ - name: Dependabot metadata
21
+ id: metadata
22
+ uses: dependabot/fetch-metadata@v1.3.6
23
+ with:
24
+ github-token: "${{ secrets.GITHUB_TOKEN }}"
25
+
26
+ - name: Enable auto-merge for Dependabot PRs
27
+ # Only if version bump is not a major version change
28
+ if: ${{steps.metadata.outputs.update-type != 'version-update:semver-major'}}
29
+ run: gh pr merge --auto --merge "$PR_URL"
30
+ env:
31
+ PR_URL: ${{github.event.pull_request.html_url}}
32
+ GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
@@ -10,7 +10,7 @@ jobs:
10
10
  steps:
11
11
  - name: Generate token
12
12
  id: generate_token
13
- uses: tibdex/github-app-token@021a2405c7f990db57f5eae5397423dcc554159c
13
+ uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
14
14
  with:
15
15
  app_id: ${{ secrets.GRAPHBOT_APP_ID }}
16
16
  private_key: ${{ secrets.GRAPHBOT_APP_PEM }}
@@ -28,7 +28,7 @@ jobs:
28
28
  - uses: actions/checkout@v3
29
29
  - uses: ruby/setup-ruby@v1
30
30
  with:
31
- ruby-version: '3.1'
31
+ ruby-version: '3.2'
32
32
  bundler-cache: true # runs 'bundle install' and caches installed gems automatically
33
33
  bundler: 'latest'
34
34
  cache-version: 1
@@ -12,7 +12,7 @@ jobs:
12
12
  fail-fast: false
13
13
  matrix:
14
14
  os: [ubuntu-latest, macos-latest]
15
- ruby-version: ['2.7', '3.0', '3.1', head, jruby, jruby-head, truffleruby, truffleruby-head]
15
+ ruby-version: ['3.0', '3.1', '3.2', head, jruby, jruby-head, truffleruby, truffleruby-head]
16
16
  runs-on: ${{ matrix.os }}
17
17
  steps:
18
18
  - uses: actions/checkout@v3
@@ -25,7 +25,7 @@ jobs:
25
25
  - name: Run tests
26
26
  run: bundle exec rake
27
27
  - name: Upload artifacts for ruby version 3 and ubuntu
28
- if: ${{ matrix.os == 'ubuntu-latest' && matrix.ruby-version == '3.1'}}
28
+ if: ${{ matrix.os == 'ubuntu-latest' && matrix.ruby-version == '3.2'}}
29
29
  uses: actions/upload-artifact@v3
30
30
  with:
31
31
  name: drop
data/CHANGELOG.md CHANGED
@@ -11,6 +11,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
11
11
 
12
12
  ### Changed
13
13
 
14
+ ## [0.14.0] - 2023-03-14
15
+
16
+ ### Added
17
+
18
+ - Added a base request builder and request configuration class to reduce the amount of generated code.
19
+
20
+ ### Changed
21
+
22
+ - Bumped minimum required ruby version to 3.0.
23
+
14
24
  ## [0.13.0] - 2023-01-10
15
25
 
16
26
  ### Added
@@ -0,0 +1,36 @@
1
+ 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
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,22 @@
1
+ require_relative 'request_headers'
2
+
3
+ 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
16
+
17
+ def initialize
18
+ @headers = RequestHeaders.new
19
+ @options = Array.new
20
+ end
21
+ end
22
+ end
@@ -105,7 +105,7 @@ module MicrosoftKiotaAbstractions
105
105
  end
106
106
 
107
107
  def add_headers_from_raw_object(h)
108
- h.select{|x,y| @headers.add(x.to_s, y)} unless !h
108
+ h.get_all.select{|x,y| @headers.add(x.to_s, y)} unless !h
109
109
  end
110
110
 
111
111
  def set_query_string_parameters_from_raw_object(q)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MicrosoftKiotaAbstractions
4
- VERSION = "0.13.0"
4
+ VERSION = "0.14.0"
5
5
  end
@@ -5,8 +5,10 @@ require_relative "microsoft_kiota_abstractions/authentication/base_bearer_token_
5
5
  require_relative "microsoft_kiota_abstractions/authentication/anonymous_authentication_provider"
6
6
  require_relative "microsoft_kiota_abstractions/api_error"
7
7
  require_relative "microsoft_kiota_abstractions/http_method"
8
+ require_relative "microsoft_kiota_abstractions/base_request_builder"
8
9
  require_relative "microsoft_kiota_abstractions/api_client_builder"
9
10
  require_relative "microsoft_kiota_abstractions/request_adapter"
11
+ require_relative "microsoft_kiota_abstractions/request_configuration"
10
12
  require_relative "microsoft_kiota_abstractions/request_option"
11
13
  require_relative "microsoft_kiota_abstractions/request_headers"
12
14
  require_relative "microsoft_kiota_abstractions/request_information"
@@ -6,7 +6,7 @@ Gem::Specification.new do |spec|
6
6
  spec.name = 'microsoft_kiota_abstractions'
7
7
  spec.version = MicrosoftKiotaAbstractions::VERSION
8
8
  spec.authors = 'Microsoft Corporation'
9
- spec.email = 'graphsdkpub@microsoft.com'
9
+ spec.email = 'graphsdkpub+ruby@microsoft.com'
10
10
  spec.description = 'Microsoft Kiota Abstractions - Ruby abstractions for building library agnostic http client'
11
11
  spec.summary = 'The Kiota abstractions are language specific libraries defining the basic constructs Kiota projects need once an SDK has been generated from an OpenAPI definition.'
12
12
  spec.homepage = 'https://microsoft.github.io/kiota/'
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  'source_code_uri' => 'https://github.com/microsoft/kiota-abstractions-ruby',
19
19
  'github_repo' => 'ssh://github.com/microsoft/kiota-abstractions-ruby'
20
20
  }
21
- spec.required_ruby_version = '>= 2.7.0'
21
+ spec.required_ruby_version = '>= 3.0.0'
22
22
 
23
23
  # Specify which files should be added to the gem when it is released.
24
24
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: microsoft_kiota_abstractions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.0
4
+ version: 0.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Microsoft Corporation
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-10 00:00:00.000000000 Z
11
+ date: 2023-03-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -88,13 +88,14 @@ dependencies:
88
88
  version: '0'
89
89
  description: Microsoft Kiota Abstractions - Ruby abstractions for building library
90
90
  agnostic http client
91
- email: graphsdkpub@microsoft.com
91
+ email: graphsdkpub+ruby@microsoft.com
92
92
  executables: []
93
93
  extensions: []
94
94
  extra_rdoc_files: []
95
95
  files:
96
96
  - ".github/CODEOWNERS"
97
97
  - ".github/dependabot.yml"
98
+ - ".github/workflows/auto-merge-dependabot.yml"
98
99
  - ".github/workflows/code-ql.yml"
99
100
  - ".github/workflows/conflicting-pr-label.yml"
100
101
  - ".github/workflows/projectsbot.yml"
@@ -117,8 +118,10 @@ files:
117
118
  - lib/microsoft_kiota_abstractions/authentication/anonymous_authentication_provider.rb
118
119
  - lib/microsoft_kiota_abstractions/authentication/authentication_provider.rb
119
120
  - lib/microsoft_kiota_abstractions/authentication/base_bearer_token_authentication_provider.rb
121
+ - lib/microsoft_kiota_abstractions/base_request_builder.rb
120
122
  - lib/microsoft_kiota_abstractions/http_method.rb
121
123
  - lib/microsoft_kiota_abstractions/request_adapter.rb
124
+ - lib/microsoft_kiota_abstractions/request_configuration.rb
122
125
  - lib/microsoft_kiota_abstractions/request_headers.rb
123
126
  - lib/microsoft_kiota_abstractions/request_information.rb
124
127
  - lib/microsoft_kiota_abstractions/request_option.rb
@@ -150,14 +153,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
150
153
  requirements:
151
154
  - - ">="
152
155
  - !ruby/object:Gem::Version
153
- version: 2.7.0
156
+ version: 3.0.0
154
157
  required_rubygems_version: !ruby/object:Gem::Requirement
155
158
  requirements:
156
159
  - - ">="
157
160
  - !ruby/object:Gem::Version
158
161
  version: '0'
159
162
  requirements: []
160
- rubygems_version: 3.3.26
163
+ rubygems_version: 3.4.6
161
164
  signing_key:
162
165
  specification_version: 4
163
166
  summary: The Kiota abstractions are language specific libraries defining the basic