request_handler 2.3.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +1 -1
  3. data/.rubocop.yml +13 -14
  4. data/.rubocop_todo.yml +105 -0
  5. data/CHANGELOG.md +7 -0
  6. data/Gemfile +1 -10
  7. data/Guardfile +4 -4
  8. data/Rakefile +7 -6
  9. data/bin/console +3 -3
  10. data/lib/request_handler/base.rb +41 -37
  11. data/lib/request_handler/body_parser.rb +5 -4
  12. data/lib/request_handler/builder/base.rb +1 -1
  13. data/lib/request_handler/builder/body_builder.rb +1 -1
  14. data/lib/request_handler/builder/fieldsets_builder.rb +2 -2
  15. data/lib/request_handler/builder/fieldsets_resource_builder.rb +1 -1
  16. data/lib/request_handler/builder/filter_builder.rb +1 -1
  17. data/lib/request_handler/builder/headers_builder.rb +1 -1
  18. data/lib/request_handler/builder/include_options_builder.rb +1 -1
  19. data/lib/request_handler/builder/multipart_builder.rb +2 -2
  20. data/lib/request_handler/builder/multipart_resource_builder.rb +1 -1
  21. data/lib/request_handler/builder/options_builder.rb +12 -10
  22. data/lib/request_handler/builder/page_builder.rb +2 -2
  23. data/lib/request_handler/builder/page_resource_builder.rb +1 -1
  24. data/lib/request_handler/builder/query_builder.rb +1 -1
  25. data/lib/request_handler/builder/sort_options_builder.rb +1 -1
  26. data/lib/request_handler/concerns/config_helper.rb +2 -2
  27. data/lib/request_handler/config.rb +3 -3
  28. data/lib/request_handler/document_parser.rb +5 -5
  29. data/lib/request_handler/error.rb +17 -1
  30. data/lib/request_handler/fieldsets_parser.rb +28 -24
  31. data/lib/request_handler/filter_parser.rb +15 -13
  32. data/lib/request_handler/header_parser.rb +10 -9
  33. data/lib/request_handler/include_option_parser.rb +18 -17
  34. data/lib/request_handler/json_api_document_parser.rb +31 -15
  35. data/lib/request_handler/json_parser.rb +4 -3
  36. data/lib/request_handler/multipart_parser.rb +20 -15
  37. data/lib/request_handler/option_parser.rb +3 -3
  38. data/lib/request_handler/page_parser.rb +33 -25
  39. data/lib/request_handler/query_parser.rb +6 -6
  40. data/lib/request_handler/schema_parser.rb +20 -17
  41. data/lib/request_handler/sort_option_parser.rb +19 -15
  42. data/lib/request_handler/validation/definition_engine.rb +7 -5
  43. data/lib/request_handler/validation/dry_engine.rb +7 -5
  44. data/lib/request_handler/validation/engine.rb +4 -3
  45. data/lib/request_handler/validation/errors.rb +2 -0
  46. data/lib/request_handler/validation/result.rb +1 -0
  47. data/lib/request_handler/version.rb +1 -1
  48. data/lib/request_handler.rb +8 -8
  49. data/request_handler.gemspec +42 -36
  50. metadata +178 -51
  51. data/lib/request_handler/base_parser.rb +0 -9
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b88d675dc64b12fded56d60d939381a1d41fa888e96ea2110a656099fb0f4c8e
4
- data.tar.gz: 4884507eced978bb57ebdd46595f7fabfde30b4d71b107c41926f0fb4de447c9
3
+ metadata.gz: 9cd60a65f2b6671656e48956fe626d577227bca6c2c6ce2b2466253c37280ec8
4
+ data.tar.gz: f9f1dd6bf0640d85d3b4a8cf866c9858efdaa81a1402dec33e0255f0e66e5d55
5
5
  SHA512:
6
- metadata.gz: 1c634f7d572ff681fb4e6576ce5a8e86105aa635591c0643eb7a42b8d71a9910d12b0bff33cf49b7b8fcd6be2a340b48491e326b7912e31753079ecada26e4cf
7
- data.tar.gz: 6bedbe868de000a1e8981907d8341cfaccf4f028580fc5f9ee10ec4497c69101d1b18618e43cfb59eb5eaaf20fceeed62402a0e1671d7b9ffb1d6587568cad1c
6
+ metadata.gz: a964f7b554f9e6f93bf35194c8218f5676e44d28478eff33406d1756ca4375da8728908fcd5d7db4d183e0d14d4a2999e57f0124ef0fc082f23b9a8204d84ab8
7
+ data.tar.gz: 8b7ff0664d168c0a69fd0fec0cf70dca96ca8848e5442b998e97226ba44f066336685ba405c2bfffd4d737ef96b0fffd1ecc9293c18b5f0777bb9a89010529d2
data/.circleci/config.yml CHANGED
@@ -53,7 +53,7 @@ jobs:
53
53
  *common_steps
54
54
  ruby-3.0:
55
55
  docker:
56
- - image: circleci/ruby:3.0
56
+ - image: circleci/ruby:3.0.3
57
57
  steps:
58
58
  *common_steps
59
59
  jruby-9.3:
data/.rubocop.yml CHANGED
@@ -1,21 +1,20 @@
1
+ inherit_from: .rubocop_todo.yml
2
+
1
3
  # minitest specifics
4
+ require:
5
+ - rubocop-rake
6
+ - rubocop-rspec
7
+ - rt_rubocop_defaults
8
+
2
9
  AllCops:
3
- TargetRubyVersion: 2.2
10
+ TargetRubyVersion: 2.6
4
11
  Exclude:
5
12
  - Dangerfile
6
- Metrics/LineLength:
7
- Max: 119
8
- Metrics/MethodLength:
9
- Exclude:
10
- - test/**/*
13
+
14
+ Gemspec/DevelopmentDependencies:
15
+ EnforcedStyle: gemspec
16
+
17
+
11
18
  Metrics/ClassLength:
12
19
  Exclude:
13
20
  - lib/request_handler/base.rb
14
- Style/ClassAndModuleChildren:
15
- Exclude:
16
- - test/**/*
17
-
18
- Metrics/BlockLength:
19
- Enabled: false
20
- Style/Documentation:
21
- Enabled: false
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,105 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2023-02-03 11:33:42 UTC using RuboCop version 1.44.1.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 1
10
+ # Configuration parameters: AllowedMethods.
11
+ # AllowedMethods: enums
12
+ Lint/ConstantDefinitionInBlock:
13
+ Exclude:
14
+ - 'spec/request_handler/schema_parser_spec.rb'
15
+
16
+ # Offense count: 18
17
+ # Configuration parameters: AllowComments, AllowEmptyLambdas.
18
+ Lint/EmptyBlock:
19
+ Exclude:
20
+ - 'spec/integration/page_parser_spec.rb'
21
+ - 'spec/request_handler/base_spec.rb'
22
+ - 'spec/request_handler/body_parser_spec.rb'
23
+ - 'spec/request_handler/filter_parser_spec.rb'
24
+ - 'spec/request_handler/json_api_document_parser_spec.rb'
25
+ - 'spec/request_handler/multipart_parser_spec.rb'
26
+ - 'spec/request_handler/query_parser_spec.rb'
27
+ - 'spec/request_handler/sidecar_parser_spec.rb'
28
+ - 'spec/request_handler_spec.rb'
29
+
30
+ # Offense count: 2
31
+ # Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
32
+ # AllowedNames: as, at, by, cc, db, id, if, in, io, ip, of, on, os, pp, to
33
+ Naming/MethodParameterName:
34
+ Exclude:
35
+ - 'lib/request_handler/schema_parser.rb'
36
+
37
+ # Offense count: 118
38
+ # Configuration parameters: Prefixes, AllowedPatterns.
39
+ # Prefixes: when, with, without
40
+ RSpec/ContextWording:
41
+ Enabled: false
42
+
43
+ # Offense count: 3
44
+ # This cop supports safe autocorrection (--autocorrect).
45
+ # Configuration parameters: CustomTransform, IgnoredWords, DisallowedExamples.
46
+ # IgnoredWords: only
47
+ # DisallowedExamples: works
48
+ RSpec/ExampleWording:
49
+ Exclude:
50
+ - 'spec/request_handler_spec.rb'
51
+
52
+ # Offense count: 3
53
+ RSpec/LeakyConstantDeclaration:
54
+ Exclude:
55
+ - 'spec/request_handler/schema_parser_spec.rb'
56
+
57
+ # Offense count: 13
58
+ # Configuration parameters: .
59
+ # SupportedStyles: have_received, receive
60
+ RSpec/MessageSpies:
61
+ EnforcedStyle: receive
62
+
63
+ # Offense count: 4
64
+ RSpec/OverwritingSetup:
65
+ Exclude:
66
+ - 'spec/request_handler/include_option_parser_spec.rb'
67
+ - 'spec/request_handler/sort_option_parser_spec.rb'
68
+
69
+ # Offense count: 2
70
+ RSpec/RepeatedExampleGroupDescription:
71
+ Exclude:
72
+ - 'spec/request_handler/sort_option_parser_spec.rb'
73
+
74
+ # Offense count: 6
75
+ RSpec/StubbedMock:
76
+ Exclude:
77
+ - 'spec/request_handler/base_spec.rb'
78
+ - 'spec/request_handler/body_parser_spec.rb'
79
+
80
+ # Offense count: 3
81
+ # Configuration parameters: IgnoreNameless, IgnoreSymbolicNames.
82
+ RSpec/VerifiedDoubles:
83
+ Exclude:
84
+ - 'spec/request_handler/base_spec.rb'
85
+
86
+ # Offense count: 1
87
+ Style/MixinUsage:
88
+ Exclude:
89
+ - 'spec/support/helper.rb'
90
+
91
+ # Offense count: 41
92
+ Style/OpenStructUse:
93
+ Exclude:
94
+ - 'lib/request_handler/builder/fieldsets_resource_builder.rb'
95
+ - 'lib/request_handler/builder/multipart_builder.rb'
96
+ - 'lib/request_handler/builder/page_builder.rb'
97
+ - 'lib/request_handler/concerns/config_helper.rb'
98
+ - 'lib/request_handler/config.rb'
99
+ - 'spec/integration/fieldsets_parser_spec.rb'
100
+ - 'spec/integration/header_parser_spec.rb'
101
+ - 'spec/integration/option_parser_spec.rb'
102
+ - 'spec/integration/page_parser_spec.rb'
103
+ - 'spec/integration/schema_parser_spec.rb'
104
+ - 'spec/request_handler/base_spec.rb'
105
+ - 'spec/request_handler_spec.rb'
data/CHANGELOG.md CHANGED
@@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5
5
  and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## ## [3.0.0] - 2023-02-07
8
+ ### Added
9
+ - JSONAPI data member validation
10
+
11
+ ### Changed
12
+ - Update rubocop to 1.44
13
+
7
14
  ## [2.3.0] - 2022-06-29
8
15
  ### Changed
9
16
  - Explicitly pass kwargs to support ruby 3.0
data/Gemfile CHANGED
@@ -1,15 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- source 'https://rubygems.org'
3
+ source "https://rubygems.org"
4
4
 
5
5
  # Specify your gem's dependencies in dry-request_handler.gemspec
6
6
  gemspec
7
-
8
- group :development, :test do
9
- gem 'danger'
10
- gem 'danger-commit_lint'
11
- gem 'danger-rubocop'
12
- gem 'dry-types', '~> 1.0'
13
- gem 'dry-validation', '~> 1.0'
14
- gem 'rspec_junit_formatter'
15
- end
data/Guardfile CHANGED
@@ -18,8 +18,8 @@
18
18
  # and, you'll have to watch "config/Guardfile" instead of "Guardfile"
19
19
 
20
20
  group :red_green_refactor, halt_on_fail: true do
21
- guard :rspec, cmd: 'bundle exec rspec', all_after_pass: true do
22
- require 'guard/rspec/dsl'
21
+ guard :rspec, cmd: "bundle exec rspec", all_after_pass: true do
22
+ require "guard/rspec/dsl"
23
23
  dsl = Guard::RSpec::Dsl.new(self)
24
24
 
25
25
  # Feel free to open issues for suggestions and improvements
@@ -37,11 +37,11 @@ group :red_green_refactor, halt_on_fail: true do
37
37
  # Turnip features and steps
38
38
  watch(%r{^spec/acceptance/(.+)\.feature$})
39
39
  watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) do |m|
40
- Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance'
40
+ Dir[File.join("**/#{m[1]}.feature")][0] || "spec/acceptance"
41
41
  end
42
42
  end
43
43
 
44
- guard :rubocop, all_on_start: false, cli: ['--auto-correct'] do
44
+ guard :rubocop, all_on_start: false, cli: ["--auto-correct"] do
45
45
  watch(/.+\.rb$/)
46
46
  watch(%r{(?:.+/)?\.rubocop\.yml$}) { |m| File.dirname(m[0]) }
47
47
  end
data/Rakefile CHANGED
@@ -1,22 +1,23 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'bundler/gem_tasks'
3
+ require "bundler/gem_tasks"
4
4
 
5
+ desc "Init repo"
5
6
  task :init do
6
- Rake::Task['rubocop:install'].execute
7
+ Rake::Task["rubocop:install"].execute
7
8
  end
8
9
 
9
- require 'rubocop/rake_task'
10
+ require "rubocop/rake_task"
10
11
  RuboCop::RakeTask.new
11
12
  namespace :rubocop do
12
- desc 'Install Rubocop as pre-commit hook'
13
+ desc "Install Rubocop as pre-commit hook"
13
14
  task :install do
14
- require 'rubocop_runner'
15
+ require "rubocop_runner"
15
16
  RubocopRunner.install
16
17
  end
17
18
  end
18
19
 
19
- require 'rspec/core/rake_task'
20
+ require "rspec/core/rake_task"
20
21
  RSpec::Core::RakeTask.new(:spec)
21
22
 
22
23
  task default: :spec
data/bin/console CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
3
 
4
- require 'bundler/setup'
5
- require 'request_handler'
4
+ require "bundler/setup"
5
+ require "request_handler"
6
6
 
7
7
  # You can add fixtures and/or initialization code here to make experimenting
8
8
  # with your gem easier. You can also use a different console, if you like.
@@ -11,5 +11,5 @@ require 'request_handler'
11
11
  # require "pry"
12
12
  # Pry.start
13
13
 
14
- require 'irb'
14
+ require "irb"
15
15
  IRB.start
@@ -1,18 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'request_handler/filter_parser'
4
- require 'request_handler/page_parser'
5
- require 'request_handler/include_option_parser'
6
- require 'request_handler/sort_option_parser'
7
- require 'request_handler/header_parser'
8
- require 'request_handler/body_parser'
9
- require 'request_handler/multipart_parser'
10
- require 'request_handler/fieldsets_parser'
11
- require 'request_handler/query_parser'
12
- require 'request_handler/helper'
13
- require 'request_handler/builder/options_builder'
14
- require 'request_handler/concerns/config_helper'
15
- require 'request_handler/config'
3
+ require "request_handler/filter_parser"
4
+ require "request_handler/page_parser"
5
+ require "request_handler/include_option_parser"
6
+ require "request_handler/sort_option_parser"
7
+ require "request_handler/header_parser"
8
+ require "request_handler/body_parser"
9
+ require "request_handler/multipart_parser"
10
+ require "request_handler/fieldsets_parser"
11
+ require "request_handler/query_parser"
12
+ require "request_handler/helper"
13
+ require "request_handler/builder/options_builder"
14
+ require "request_handler/concerns/config_helper"
15
+ require "request_handler/config"
16
16
 
17
17
  module RequestHandler
18
18
  class Base
@@ -27,7 +27,8 @@ module RequestHandler
27
27
  end
28
28
 
29
29
  def initialize(request:)
30
- raise MissingArgumentError, request: 'is missing' if request.nil?
30
+ raise MissingArgumentError.new(request: "is missing") if request.nil?
31
+
31
32
  @request = request
32
33
  end
33
34
 
@@ -38,7 +39,7 @@ module RequestHandler
38
39
  def page_params
39
40
  @page_params ||= PageParser.new(
40
41
  params: params,
41
- page_config: config.lookup!('page')
42
+ page_config: config.lookup!("page")
42
43
  ).run
43
44
  end
44
45
 
@@ -79,21 +80,21 @@ module RequestHandler
79
80
  attr_reader :request
80
81
 
81
82
  def parse_filter_params
82
- defaults = fetch_defaults('filter.defaults', {})
83
+ defaults = fetch_defaults("filter.defaults", {})
83
84
  defaults.merge(FilterParser.new(
84
85
  params: params,
85
- schema: config.lookup!('filter.schema'),
86
- additional_url_filter: config.lookup('filter.additional_url_filter'),
87
- schema_options: execute_options(config.lookup('filter.options'))
86
+ schema: config.lookup!("filter.schema"),
87
+ additional_url_filter: config.lookup("filter.additional_url_filter"),
88
+ schema_options: execute_options(config.lookup("filter.options"))
88
89
  ).run)
89
90
  end
90
91
 
91
92
  def parse_include_params
92
- parse_options(type: 'include_options', parser: IncludeOptionParser)
93
+ parse_options(type: "include_options", parser: IncludeOptionParser)
93
94
  end
94
95
 
95
96
  def parse_sort_params
96
- parse_options(type: 'sort_options', parser: SortOptionParser)
97
+ parse_options(type: "sort_options", parser: SortOptionParser)
97
98
  end
98
99
 
99
100
  def parse_options(type:, parser:)
@@ -115,38 +116,38 @@ module RequestHandler
115
116
  return params if config.nil?
116
117
 
117
118
  params.merge(
118
- schema: config.lookup('headers.schema'),
119
- schema_options: execute_options(config.lookup('headers.options'))
119
+ schema: config.lookup("headers.schema"),
120
+ schema_options: execute_options(config.lookup("headers.options"))
120
121
  )
121
122
  end
122
123
 
123
124
  def parse_body_params
124
125
  BodyParser.new(
125
- request: request,
126
- schema: config.lookup!('body.schema'),
127
- schema_options: execute_options(config.lookup('body.options')),
128
- type: config.lookup('body.type')
126
+ request: request,
127
+ schema: config.lookup!("body.schema"),
128
+ schema_options: execute_options(config.lookup("body.options")),
129
+ type: config.lookup("body.type")
129
130
  ).run
130
131
  end
131
132
 
132
133
  def parse_multipart_params
133
134
  MultipartsParser.new(
134
- request: request,
135
- multipart_config: config.lookup!('multipart').to_h
135
+ request: request,
136
+ multipart_config: config.lookup!("multipart").to_h
136
137
  ).run
137
138
  end
138
139
 
139
140
  def parse_fieldsets_params
140
141
  FieldsetsParser.new(params: params,
141
- allowed: config.lookup!('fieldsets.allowed'),
142
- required: config.lookup('fieldsets.required') || []).run
142
+ allowed: config.lookup!("fieldsets.allowed"),
143
+ required: config.lookup("fieldsets.required") || []).run
143
144
  end
144
145
 
145
146
  def parse_query_params
146
147
  QueryParser.new(
147
148
  params: params,
148
- schema: config.lookup!('query.schema'),
149
- schema_options: execute_options(config.lookup('query.options'))
149
+ schema: config.lookup!("query.schema"),
150
+ schema_options: execute_options(config.lookup("query.options"))
150
151
  ).run
151
152
  end
152
153
 
@@ -154,25 +155,28 @@ module RequestHandler
154
155
  value = config.lookup(key)
155
156
  return default if value.nil?
156
157
  return value unless value.respond_to?(:call)
158
+
157
159
  value.call(request)
158
160
  end
159
161
 
160
162
  def execute_options(options)
161
163
  return {} if options.nil?
162
164
  return options unless options.respond_to?(:call)
165
+
163
166
  options.call(self, request)
164
167
  end
165
168
 
166
169
  def params
167
- raise MissingArgumentError, params: 'is missing' if request.params.nil?
168
- raise ExternalArgumentError, [] unless request.params.is_a?(Hash)
170
+ raise MissingArgumentError.new(params: "is missing") if request.params.nil?
171
+ raise ExternalArgumentError.new([]) unless request.params.is_a?(Hash)
172
+
169
173
  @params ||= Helper.deep_transform_keys_in_object(request.params) do |k|
170
- k.to_s.gsub('.', separator)
174
+ k.to_s.gsub(".", separator)
171
175
  end
172
176
  end
173
177
 
174
178
  def config
175
- self.class.instance_variable_get('@config')
179
+ self.class.instance_variable_get("@config")
176
180
  end
177
181
 
178
182
  def separator
@@ -1,13 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'request_handler/schema_parser'
4
- require 'request_handler/error'
5
- require 'request_handler/document_parser'
3
+ require "request_handler/schema_parser"
4
+ require "request_handler/error"
5
+ require "request_handler/document_parser"
6
6
 
7
7
  module RequestHandler
8
8
  class BodyParser
9
9
  def initialize(request:, schema:, type: nil, schema_options: {})
10
- raise MissingArgumentError, "request.body": 'is missing' if request.body.nil?
10
+ raise MissingArgumentError.new("request.body": "is missing") if request.body.nil?
11
+
11
12
  @request = request
12
13
  @schema = schema
13
14
  @schema_options = schema_options
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ostruct'
3
+ require "ostruct"
4
4
 
5
5
  module RequestHandler
6
6
  module Builder
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'request_handler/builder/base'
3
+ require "request_handler/builder/base"
4
4
 
5
5
  module RequestHandler
6
6
  module Builder
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'request_handler/builder/base'
4
- require 'request_handler/builder/fieldsets_resource_builder'
3
+ require "request_handler/builder/base"
4
+ require "request_handler/builder/fieldsets_resource_builder"
5
5
 
6
6
  module RequestHandler
7
7
  module Builder
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'request_handler/builder/base'
3
+ require "request_handler/builder/base"
4
4
 
5
5
  module RequestHandler
6
6
  module Builder
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'request_handler/builder/base'
3
+ require "request_handler/builder/base"
4
4
 
5
5
  module RequestHandler
6
6
  module Builder
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'request_handler/builder/base'
3
+ require "request_handler/builder/base"
4
4
 
5
5
  module RequestHandler
6
6
  module Builder
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'request_handler/builder/base'
3
+ require "request_handler/builder/base"
4
4
 
5
5
  module RequestHandler
6
6
  module Builder
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'request_handler/builder/base'
4
- require 'request_handler/builder/multipart_resource_builder'
3
+ require "request_handler/builder/base"
4
+ require "request_handler/builder/multipart_resource_builder"
5
5
 
6
6
  module RequestHandler
7
7
  module Builder
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'request_handler/builder/base'
3
+ require "request_handler/builder/base"
4
4
 
5
5
  module RequestHandler
6
6
  module Builder
@@ -1,18 +1,19 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'request_handler/builder/base'
4
- require 'request_handler/builder/headers_builder'
5
- require 'request_handler/builder/page_builder'
6
- require 'request_handler/builder/include_options_builder'
7
- require 'request_handler/builder/sort_options_builder'
8
- require 'request_handler/builder/filter_builder'
9
- require 'request_handler/builder/query_builder'
10
- require 'request_handler/builder/body_builder'
11
- require 'request_handler/builder/multipart_builder'
12
- require 'request_handler/builder/fieldsets_builder'
3
+ require "request_handler/builder/base"
4
+ require "request_handler/builder/headers_builder"
5
+ require "request_handler/builder/page_builder"
6
+ require "request_handler/builder/include_options_builder"
7
+ require "request_handler/builder/sort_options_builder"
8
+ require "request_handler/builder/filter_builder"
9
+ require "request_handler/builder/query_builder"
10
+ require "request_handler/builder/body_builder"
11
+ require "request_handler/builder/multipart_builder"
12
+ require "request_handler/builder/fieldsets_builder"
13
13
 
14
14
  module RequestHandler
15
15
  module Builder
16
+ # rubocop:disable Lint/StructNewOverride
16
17
  class OptionsBuilder < Base
17
18
  Options = Struct.new(:page, :include_options, :sort_options, :filter, :query, :body,
18
19
  :multipart, :fieldsets, :headers)
@@ -93,5 +94,6 @@ module RequestHandler
93
94
  Docile.dsl_eval(HeadersBuilder.new, &block).build
94
95
  end
95
96
  end
97
+ # rubocop:enable Lint/StructNewOverride
96
98
  end
97
99
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'request_handler/builder/base'
4
- require 'request_handler/builder/page_resource_builder'
3
+ require "request_handler/builder/base"
4
+ require "request_handler/builder/page_resource_builder"
5
5
 
6
6
  module RequestHandler
7
7
  module Builder
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'request_handler/builder/base'
3
+ require "request_handler/builder/base"
4
4
 
5
5
  module RequestHandler
6
6
  module Builder
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'request_handler/builder/base'
3
+ require "request_handler/builder/base"
4
4
 
5
5
  module RequestHandler
6
6
  module Builder
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'request_handler/builder/base'
3
+ require "request_handler/builder/base"
4
4
 
5
5
  module RequestHandler
6
6
  module Builder
@@ -4,7 +4,7 @@ module RequestHandler
4
4
  module Concerns
5
5
  module ConfigHelper
6
6
  def lookup!(hash, key)
7
- lookup(hash, key) || (raise NoConfigAvailableError, key.to_sym => 'is not configured')
7
+ lookup(hash, key) || (raise NoConfigAvailableError.new(key.to_sym => "is not configured"))
8
8
  end
9
9
 
10
10
  def lookup(config, key)
@@ -12,7 +12,7 @@ module RequestHandler
12
12
  end
13
13
 
14
14
  def symbolize_key(key)
15
- key.split('.').map(&:to_sym)
15
+ key.split(".").map(&:to_sym)
16
16
  end
17
17
 
18
18
  def deep_to_h(obj)