microsoft_kiota_abstractions 0.12.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: b52a44f65735fe060086cf7e71a1294ae4344e0f99f8f6c648588c1239960c9f
4
- data.tar.gz: 20e1bd2c661446d9e445d7f2ec57defce3723780523a1a5a3b5600eb19cbf403
3
+ metadata.gz: 3dc8072c534a3195a597fd816805ed6412b6265dd8eada12806c59301e463691
4
+ data.tar.gz: 0b51aa4853fcaa5016f67830a49369ebece406d7ed05681f412ff297fbac350c
5
5
  SHA512:
6
- metadata.gz: 671e9274c033862c67b865e86226e5c6d9731bafd64dc9b31ff715d01e17ee318362056699ef53247adc21898e95c8fcba115cb95875d9f629ad20917dbcb3f5
7
- data.tar.gz: 0ad38aaa8fc6e3d8c870f7ecd9e59c4ffe0a38637122fb84f72d0b92f66fd4d6f0376ab70341a56c72e05b348003295eee6f51aa2ae43c545c69600519c761b3
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}}
@@ -13,10 +13,10 @@ name: "CodeQL"
13
13
 
14
14
  on:
15
15
  push:
16
- branches: [ "master", main ]
16
+ branches: [ main ]
17
17
  pull_request:
18
18
  # The branches below must be a subset of the branches above
19
- branches: [ "master" ]
19
+ branches: [ main ]
20
20
  schedule:
21
21
  - cron: '41 2 * * 0'
22
22
 
@@ -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,22 @@ 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
+
24
+ ## [0.13.0] - 2023-01-10
25
+
26
+ ### Added
27
+
28
+ - Added a method to convert abstract requests to native requests in the request adapter interface.
29
+
14
30
  ## [0.12.0] - 2022-12-30
15
31
 
16
32
  ### Added
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Kiota Abstractions Library for Ruby
2
2
 
3
- ![Ruby](https://github.com/microsoft/kiota/actions/workflows/ruby.yml/badge.svg)
3
+ ![Ruby](https://github.com/microsoft/kiota-abstractions-ruby/actions/workflows/ruby.yml/badge.svg)
4
4
 
5
5
  The Kiota abstractions Library for go is the go library defining the basic constructs Kiota projects need once an SDK has been generated from an OpenAPI definition.
6
6
 
@@ -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
@@ -21,5 +21,10 @@ module MicrosoftKiotaAbstractions
21
21
  raise NotImplementedError.new
22
22
  end
23
23
 
24
+ # Converts the given RequestInformation into a native HTTP request.
25
+ def convert_to_native_request_async(request_info)
26
+ raise NotImplementedError.new
27
+ end
28
+
24
29
  end
25
30
  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.12.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.12.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: 2022-12-30 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