reynard 0.6.0 → 0.7.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: 149366d0bcc24959907a263c6223a2bb75cc7004a06cf153d1ef2dc35e26b91d
4
- data.tar.gz: 8f698ffa4c958564a902d1039807324c9b1182e0a6638dedb16fc6eb3b6eb00f
3
+ metadata.gz: bb92e6d5c262256cca1fa813ac8bdb730ab427eeb227dec64475567fe65f4707
4
+ data.tar.gz: dbe5b3b93ac2fd2e702b40f738650bbec0d7feb7ee908b49eab366c2b058723c
5
5
  SHA512:
6
- metadata.gz: 5de35106aeb06b3478d807d34f5da335684530f6f4f28c789fe52d8a0aafd7f13dab27154ac39cfdc354c4e65bd6da755ea16d669603eae280c027f12d54d152
7
- data.tar.gz: ff64d0913efc4e8a2b7c5b8420f94cefcf13567633906d48459ce8a653f5a65f8bd9d8c24368c68a8445320012561a24ff42568065232703675af4944b59f301
6
+ metadata.gz: 8ce40599d474dc127b6354f55f8157cccfd26f0d3fc786eb599d4da399a4658a7ce5d3f2505c579e712a38413043f03a5f788f8ac352beb55982dbac4a644134
7
+ data.tar.gz: 79738aae0d48f599f0f123fd0eb9365ce6de15995b9b7208b516d7205ec1bb023d8b7d14d181f82c238fd3415ab5f77ab102fc7593cee2febdd1c915572604cf
@@ -14,7 +14,7 @@ class Reynard
14
14
  end
15
15
 
16
16
  def base_url(base_url)
17
- copy(base_url:)
17
+ copy(base_url: base_url)
18
18
  end
19
19
 
20
20
  def operation(operation_name)
@@ -43,7 +43,7 @@ class Reynard
43
43
  end
44
44
 
45
45
  def logger(logger)
46
- copy(logger:)
46
+ copy(logger: logger)
47
47
  end
48
48
 
49
49
  def execute
@@ -71,7 +71,7 @@ class Reynard
71
71
  Reynard::Http::Response.new(
72
72
  specification: @specification,
73
73
  request_context: @request_context,
74
- http_response:
74
+ http_response: http_response
75
75
  )
76
76
  end
77
77
  end
@@ -25,8 +25,12 @@ class Reynard
25
25
  Net::HTTP.const_get(@request_context.verb.capitalize)
26
26
  end
27
27
 
28
+ def request_headers
29
+ { 'User-Agent' => Reynard.user_agent }.merge(@request_context.headers || {})
30
+ end
31
+
28
32
  def build_request
29
- request = request_class.new(uri, @request_context.headers)
33
+ request = request_class.new(uri, request_headers)
30
34
  if @request_context.body
31
35
  @request_context.logger&.debug { @request_context.body }
32
36
  request.body = @request_context.body
@@ -69,9 +69,9 @@ class Reynard
69
69
  end
70
70
 
71
71
  def build_object_with_media_type(media_type)
72
- ::Reynard::ObjectBuilder.new(
72
+ ObjectBuilder.new(
73
73
  schema: @specification.schema(media_type.node),
74
- parsed_body:
74
+ parsed_body: parsed_body
75
75
  ).call
76
76
  end
77
77
 
data/lib/reynard/http.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Reynard
4
+ # Contains classes that wrap Net::HTTP to provide a slightly more convenient interface.
4
5
  class Http
5
6
  autoload :Request, 'reynard/http/request'
6
7
  autoload :Response, 'reynard/http/response'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Reynard
4
- VERSION = '0.6.0'
4
+ VERSION = '0.7.0'
5
5
  end
data/lib/reynard.rb CHANGED
@@ -33,7 +33,7 @@ class Reynard
33
33
  autoload :VERSION, 'reynard/version'
34
34
 
35
35
  def initialize(filename:)
36
- @specification = Specification.new(filename:)
36
+ @specification = Specification.new(filename: filename)
37
37
  end
38
38
 
39
39
  class << self
@@ -42,6 +42,12 @@ class Reynard
42
42
  attr_writer :http
43
43
  end
44
44
 
45
+ # Returns a value that will be used by default for Reynard's User-Agent headers. Please use
46
+ # the +headers+ setter on the context if you want to change this.
47
+ def self.user_agent
48
+ "Reynard/#{Reynard::VERSION}"
49
+ end
50
+
45
51
  # Returns Reynard's global request interface. This is a global object to allow persistent
46
52
  # connections, caching, and other features that need a persistent object in the process.
47
53
  def self.http
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reynard
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Manfred Stienstra
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-24 00:00:00.000000000 Z
11
+ date: 2023-03-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json
@@ -52,62 +52,6 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: minitest
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: rake
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: webmock
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: webrick
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
55
  description: |2
112
56
  Reynard is an OpenAPI client for Ruby. It operates directly on the OpenAPI specification without
113
57
  the need to generate any source code.
@@ -151,7 +95,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
151
95
  requirements:
152
96
  - - ">"
153
97
  - !ruby/object:Gem::Version
154
- version: '3.1'
98
+ version: '3.0'
155
99
  required_rubygems_version: !ruby/object:Gem::Requirement
156
100
  requirements:
157
101
  - - ">="