stub_requests 0.1.1 → 0.1.2

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 (93) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +5 -2
  3. data/.reek.yml +1 -0
  4. data/.rubocop.yml +33 -35
  5. data/.simplecov +14 -8
  6. data/.yardopts +1 -1
  7. data/CHANGELOG.md +4 -1
  8. data/README.md +19 -11
  9. data/Rakefile +1 -3
  10. data/bin/update_docs.sh +16 -0
  11. data/gemfiles/webmock_2.3.gemfile.lock +1 -1
  12. data/gemfiles/webmock_3.5.gemfile.lock +1 -1
  13. data/gemfiles/webmock_develop.gemfile.lock +1 -1
  14. data/lib/rspec/subject_as_lambda.rb +138 -0
  15. data/lib/stub_requests/api.rb +42 -8
  16. data/lib/stub_requests/argument_validation.rb +17 -6
  17. data/lib/stub_requests/configuration.rb +21 -0
  18. data/lib/stub_requests/core_ext/all.rb +4 -0
  19. data/lib/stub_requests/core_ext/array/extract_options.rb +32 -0
  20. data/lib/stub_requests/core_ext/class/attribute.rb +61 -0
  21. data/lib/stub_requests/core_ext/kernel/singleton_class.rb +12 -0
  22. data/lib/stub_requests/core_ext/module/redefine_method.rb +44 -0
  23. data/lib/stub_requests/core_ext/object/blank.rb +99 -155
  24. data/lib/stub_requests/endpoint.rb +28 -30
  25. data/lib/stub_requests/endpoint_registry.rb +18 -16
  26. data/lib/stub_requests/exceptions.rb +84 -0
  27. data/lib/stub_requests/hash_util.rb +2 -0
  28. data/lib/stub_requests/metrics/endpoint_stat.rb +97 -0
  29. data/lib/stub_requests/metrics/registry.rb +132 -0
  30. data/lib/stub_requests/metrics/stub_stat.rb +80 -0
  31. data/lib/stub_requests/metrics.rb +32 -0
  32. data/lib/stub_requests/property/validator.rb +136 -0
  33. data/lib/stub_requests/property.rb +99 -0
  34. data/lib/stub_requests/service.rb +12 -53
  35. data/lib/stub_requests/service_registry.rb +8 -9
  36. data/lib/stub_requests/stub_requests.rb +23 -51
  37. data/lib/stub_requests/uri/builder.rb +5 -1
  38. data/lib/stub_requests/uri/scheme.rb +3 -1
  39. data/lib/stub_requests/uri/suffix.rb +5 -0
  40. data/lib/stub_requests/uri/validator.rb +3 -1
  41. data/lib/stub_requests/uri.rb +34 -0
  42. data/lib/stub_requests/version.rb +1 -1
  43. data/lib/stub_requests/webmock/builder.rb +116 -0
  44. data/lib/stub_requests/webmock/stub_registry_extension.rb +46 -0
  45. data/lib/stub_requests.rb +21 -3
  46. metadata +19 -49
  47. data/docs/.gitkeep +0 -0
  48. data/docs/Array.html +0 -137
  49. data/docs/FalseClass.html +0 -232
  50. data/docs/Hash.html +0 -137
  51. data/docs/NilClass.html +0 -232
  52. data/docs/Numeric.html +0 -233
  53. data/docs/Object.html +0 -396
  54. data/docs/String.html +0 -298
  55. data/docs/StubRequests/API.html +0 -651
  56. data/docs/StubRequests/ArgumentValidation.html +0 -309
  57. data/docs/StubRequests/Endpoint.html +0 -1187
  58. data/docs/StubRequests/EndpointNotFound.html +0 -157
  59. data/docs/StubRequests/EndpointRegistry.html +0 -1527
  60. data/docs/StubRequests/Error.html +0 -153
  61. data/docs/StubRequests/HashUtil.html +0 -304
  62. data/docs/StubRequests/InvalidType.html +0 -252
  63. data/docs/StubRequests/InvalidUri.html +0 -252
  64. data/docs/StubRequests/Service.html +0 -1307
  65. data/docs/StubRequests/ServiceHaveEndpoints.html +0 -244
  66. data/docs/StubRequests/ServiceNotFound.html +0 -252
  67. data/docs/StubRequests/ServiceRegistry.html +0 -1031
  68. data/docs/StubRequests/URI/Builder.html +0 -1194
  69. data/docs/StubRequests/URI/Scheme.html +0 -315
  70. data/docs/StubRequests/URI/Suffix.html +0 -315
  71. data/docs/StubRequests/URI/Validator.html +0 -770
  72. data/docs/StubRequests/URI.html +0 -144
  73. data/docs/StubRequests/UriSegmentMismatch.html +0 -157
  74. data/docs/StubRequests/WebMockBuilder.html +0 -887
  75. data/docs/StubRequests.html +0 -452
  76. data/docs/Time.html +0 -232
  77. data/docs/TrueClass.html +0 -232
  78. data/docs/_config.yml +0 -1
  79. data/docs/_index.html +0 -391
  80. data/docs/class_list.html +0 -51
  81. data/docs/css/common.css +0 -1
  82. data/docs/css/full_list.css +0 -58
  83. data/docs/css/style.css +0 -496
  84. data/docs/file.README.html +0 -225
  85. data/docs/file_list.html +0 -56
  86. data/docs/frames.html +0 -17
  87. data/docs/index.html +0 -225
  88. data/docs/js/app.js +0 -292
  89. data/docs/js/full_list.js +0 -216
  90. data/docs/js/jquery.js +0 -4
  91. data/docs/method_list.html +0 -707
  92. data/docs/top-level-namespace.html +0 -112
  93. data/lib/stub_requests/webmock_builder.rb +0 -108
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "singleton"
4
- require "concurrent/map"
5
-
6
3
  #
7
4
  # Abstraction over WebMock to reduce duplication
8
5
  #
@@ -13,6 +10,8 @@ module StubRequests
13
10
  #
14
11
  # Class ServiceRegistry provides registration of services
15
12
  #
13
+ # @author Mikael Henriksson <mikael@zoolutions.se>
14
+ #
16
15
  class ServiceRegistry
17
16
  include Singleton
18
17
  include Enumerable
@@ -56,8 +55,8 @@ module StubRequests
56
55
  #
57
56
  # @return [Service] the service that was just registered
58
57
  #
59
- def register_service(service_id, service_uri)
60
- if (service = get_service(service_id))
58
+ def register(service_id, service_uri)
59
+ if (service = find(service_id))
61
60
  StubRequests.logger.warn("Service already registered #{service}")
62
61
  raise ServiceHaveEndpoints, service if service.endpoints?
63
62
  end
@@ -72,7 +71,7 @@ module StubRequests
72
71
  #
73
72
  # @raise [ServiceNotFound] when the service was not removed
74
73
  #
75
- def remove_service(service_id)
74
+ def remove(service_id)
76
75
  services.delete(service_id) || raise(ServiceNotFound, service_id)
77
76
  end
78
77
 
@@ -84,7 +83,7 @@ module StubRequests
84
83
  #
85
84
  # @return [Service] the found service
86
85
  #
87
- def get_service(service_id)
86
+ def find(service_id)
88
87
  services[service_id]
89
88
  end
90
89
 
@@ -98,8 +97,8 @@ module StubRequests
98
97
  #
99
98
  # @return [Endpoint]
100
99
  #
101
- def get_service!(service_id)
102
- get_service(service_id) || raise(ServiceNotFound, service_id)
100
+ def find!(service_id)
101
+ find(service_id) || raise(ServiceNotFound, service_id)
103
102
  end
104
103
  end
105
104
  end
@@ -7,57 +7,6 @@
7
7
  # @since 0.1.0
8
8
  #
9
9
  module StubRequests
10
- #
11
- # Error is a base class for all gem errors
12
- #
13
- class Error < StandardError; end
14
-
15
- #
16
- # ServiceHaveEndpoints is raised to prevent overwriting a registered service's endpoints
17
- #
18
- class ServiceHaveEndpoints < StandardError
19
- def initialize(service)
20
- super("Service with id #{service.id} have already been registered. #{service}")
21
- end
22
- end
23
-
24
- #
25
- # InvalidType is raised when an argument is invalid
26
- #
27
- class InvalidType < Error
28
- def initialize(actual:, expected:)
29
- super("Expected `#{actual}` to be any of [#{expected}]")
30
- end
31
- end
32
-
33
- #
34
- # EndpointNotFound is raised when an endpoint cannot be found
35
- #
36
- class EndpointNotFound < Error; end
37
-
38
- #
39
- # ServiceNotFound is raised when a service cannot be found
40
- #
41
- class ServiceNotFound < Error
42
- def initialize(service_id)
43
- super("Couldn't find a service with id=:#{service_id}")
44
- end
45
- end
46
-
47
- #
48
- # UriSegmentMismatch is raised when a segment cannot be replaced
49
- #
50
- class UriSegmentMismatch < Error; end
51
-
52
- #
53
- # InvalidUri is raised when a URI is invalid
54
- #
55
- class InvalidUri < Error
56
- def initialize(uri)
57
- super("'#{uri}' is not a valid URI.")
58
- end
59
- end
60
-
61
10
  # extends "self"
62
11
  # @!parse extend self
63
12
  extend self
@@ -78,6 +27,29 @@ module StubRequests
78
27
  # @return [Logger] the logger to use in the gem
79
28
  attr_accessor :logger
80
29
 
30
+ #
31
+ # Allows the gem to be configured
32
+ #
33
+ #
34
+ # @return [Configuration] <description>
35
+ #
36
+ # @yieldparam [Configuration] config <description>
37
+ # @yieldreturn [<type>] <describe what yield should return>
38
+ def configure
39
+ yield(config) if block_given?
40
+ config
41
+ end
42
+
43
+ #
44
+ # Contains gem configuration
45
+ #
46
+ #
47
+ # @return [Configuration]
48
+ #
49
+ def config
50
+ @config ||= Configuration.new
51
+ end
52
+
81
53
  #
82
54
  # The current version of the gem
83
55
  #
@@ -8,12 +8,16 @@
8
8
  #
9
9
  module StubRequests
10
10
  #
11
- # Builds a URI from a #host, #template and #replacements
11
+ # Module URI organizes all gem logic regarding URI
12
+ #
13
+ # @author Mikael Henriksson <mikael@zoolutions.se>
12
14
  #
13
15
  module URI
14
16
  #
15
17
  # Builder constructs and validates URIs
16
18
  #
19
+ # @author Mikael Henriksson <mikael@zoolutions.se>
20
+ #
17
21
  # :reek:TooManyInstanceVariables { max_instance_variables: 6 }
18
22
  class Builder
19
23
  #
@@ -8,7 +8,9 @@
8
8
  #
9
9
  module StubRequests
10
10
  #
11
- # Provides convenience methods for URI
11
+ # Module URI organizes all gem logic regarding URI
12
+ #
13
+ # @author Mikael Henriksson <mikael@zoolutions.se>
12
14
  #
13
15
  module URI
14
16
  #
@@ -7,6 +7,11 @@
7
7
  # @since 0.1.0
8
8
  #
9
9
  module StubRequests
10
+ #
11
+ # Module URI organizes all gem logic regarding URI
12
+ #
13
+ # @author Mikael Henriksson <mikael@zoolutions.se>
14
+ #
10
15
  module URI
11
16
  #
12
17
  # Module Suffix deals with validating {URI} suffix
@@ -8,7 +8,9 @@
8
8
  #
9
9
  module StubRequests
10
10
  #
11
- # Provides convenience methods for URI
11
+ # Module URI organizes all gem logic regarding URI
12
+ #
13
+ # @author Mikael Henriksson <mikael@zoolutions.se>
12
14
  #
13
15
  module URI
14
16
  #
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ #
4
+ # Abstraction over WebMock to reduce duplication
5
+ #
6
+ # @author Mikael Henriksson <mikael@zoolutions.se>
7
+ # @since 0.1.0
8
+ #
9
+ module StubRequests
10
+ #
11
+ # Module URI organizes all gem logic regarding URI
12
+ #
13
+ # @author Mikael Henriksson <mikael@zoolutions.se>
14
+ # @since 0.1.2
15
+ #
16
+ module URI
17
+ #
18
+ # UtilityFunction to construct the full URI for a service endpoint
19
+ #
20
+ # @param [Symbol] service_id the id of a service
21
+ # @param [Symbol] endpoint_id the id of an endpoint
22
+ # @param [Hash<Symbol>] replacements hash with replacements
23
+ #
24
+ # @return [Array<Service, Endpoint, String] the service, endpoint and full URI
25
+ #
26
+ def self.for_service_endpoint(service_id, endpoint_id, replacements)
27
+ service = ServiceRegistry.instance.find!(service_id)
28
+ endpoint = service.endpoints.find!(endpoint_id)
29
+ uri = URI::Builder.build(service.uri, endpoint.uri_template, replacements)
30
+
31
+ [service, endpoint, uri]
32
+ end
33
+ end
34
+ end
@@ -9,5 +9,5 @@
9
9
  module StubRequests
10
10
  #
11
11
  # @return [String] a version string
12
- VERSION = "0.1.1"
12
+ VERSION = "0.1.2"
13
13
  end
@@ -0,0 +1,116 @@
1
+ # frozen_string_literal: true
2
+
3
+ #
4
+ # Abstraction over WebMock to reduce duplication
5
+ #
6
+ # @author Mikael Henriksson <mikael@zoolutions.se>
7
+ # @since 0.1.0
8
+ #
9
+ module StubRequests
10
+ #
11
+ # Module WebMock extends WebMock with more functionality
12
+ #
13
+ # @author Mikael Henriksson <mikael@zoolutions.se>
14
+ # @since 0.1.2
15
+ #
16
+ module WebMock
17
+ #
18
+ # Module Builder is responsible for building WebMock::RequestStub's
19
+ #
20
+ # @author Mikael Henriksson <mikael@zoolutions.se>
21
+ # @since 0.1.2
22
+ #
23
+ class Builder
24
+ include HashUtil
25
+
26
+ #
27
+ # Builds and registers a WebMock::RequestStub
28
+ #
29
+ #
30
+ # @param [Symbol] verb a HTTP verb/method
31
+ # @param [String] uri a URI to call
32
+ # @param [Hash<Symbol>] options request/response options for Webmock::RequestStub
33
+ #
34
+ # @yield a callback to eventually yield to the caller
35
+ #
36
+ # @return [WebMock::RequestStub] the registered stub
37
+ #
38
+ def self.build(verb, uri, options = {}, &callback)
39
+ new(verb, uri, options, &callback).build
40
+ end
41
+
42
+ #
43
+ # @!attribute [r] request_stub
44
+ # @return [WebMock::RequestStub] a stubbed webmock request
45
+ attr_reader :request_stub
46
+ #
47
+ # @!attribute [r] options
48
+ # @return [Hash<Symbol>] options for the stub_request
49
+ attr_reader :options
50
+ #
51
+ # @!attribute [r] callback
52
+ # @return [Block] call back when given a block
53
+ attr_reader :callback
54
+
55
+ #
56
+ # Initializes a new instance of
57
+ #
58
+ #
59
+ # @param [Symbol] verb a HTTP verb/method
60
+ # @param [String] uri a URI to call
61
+ # @param [Hash<Symbol>] options request/response options for Webmock::RequestStub
62
+ #
63
+ # @yield a block to eventually yield to the caller
64
+ #
65
+ def initialize(verb, uri, options = {}, &callback)
66
+ @request_stub = ::WebMock::RequestStub.new(verb, uri)
67
+ @options = options
68
+ @callback = callback
69
+ end
70
+
71
+ #
72
+ # Prepares a WebMock::RequestStub and registers it in WebMock
73
+ #
74
+ #
75
+ # @return [WebMock::RequestStub] the registered stub
76
+ #
77
+ def build
78
+ if callback.present?
79
+ Docile.dsl_eval(request_stub, &callback)
80
+ else
81
+ prepare_mock_request
82
+ end
83
+
84
+ request_stub
85
+ end
86
+
87
+ private
88
+
89
+ def prepare_mock_request
90
+ prepare_with
91
+ prepare_to_return
92
+ prepare_to_raise
93
+ request_stub.to_timeout if options[:timeout]
94
+ request_stub
95
+ end
96
+
97
+ def prepare_with
98
+ HashUtil.compact(options[:request]) do |request_options|
99
+ request_stub.with(request_options)
100
+ end
101
+ end
102
+
103
+ def prepare_to_return
104
+ HashUtil.compact(options[:response]) do |response_options|
105
+ request_stub.to_return(response_options)
106
+ end
107
+ end
108
+
109
+ def prepare_to_raise
110
+ return unless (error = options[:error])
111
+
112
+ request_stub.to_raise(*Array(error))
113
+ end
114
+ end
115
+ end
116
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ #
4
+ # Abstraction over WebMock to reduce duplication
5
+ #
6
+ # @author Mikael Henriksson <mikael@zoolutions.se>
7
+ # @since 0.1.0
8
+ #
9
+ module StubRequests
10
+ #
11
+ # Module WebMock extends WebMock with more functionality
12
+ #
13
+ # @author Mikael Henriksson <mikael@zoolutions.se>
14
+ # @since 0.1.2
15
+ #
16
+ module WebMock
17
+ #
18
+ # Module StubRegistryExtension extends WebMock::StubRegistry with
19
+ # recording of when a response was found and used for a WebMock::RequestStub
20
+ #
21
+ # @author Mikael Henriksson <mikael@zoolutions.se>
22
+ # @since 0.1.2
23
+ #
24
+ module StubRegistryExtension
25
+ # :nodoc:
26
+ def self.included(base)
27
+ base.class_eval do
28
+ alias_method :request_stub_for_orig, :request_stub_for
29
+ alias_method :request_stub_for, :request_stub_for_ext
30
+ end
31
+ end
32
+
33
+ private
34
+
35
+ def request_stub_for_ext(request_signature)
36
+ request_stub = request_stub_for_orig(request_signature)
37
+ return request_stub unless request_stub
38
+
39
+ Metrics::Registry.instance.mark_as_responded(request_stub)
40
+ request_stub
41
+ end
42
+ end
43
+ end
44
+ end
45
+
46
+ ::WebMock::StubRegistry.send(:include, StubRequests::WebMock::StubRegistryExtension)
data/lib/stub_requests.rb CHANGED
@@ -1,25 +1,43 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "singleton"
3
+ require "concurrent/array"
4
+ require "concurrent/map"
4
5
  require "docile"
6
+ require "singleton"
5
7
  require "webmock"
6
8
  require "webmock/api"
9
+ require "webmock/stub_registry"
10
+ require "webmock/request_stub"
7
11
 
8
12
  require "stub_requests/version"
9
13
 
10
14
  require "stub_requests/core_ext"
15
+ require "stub_requests/exceptions"
11
16
  require "stub_requests/hash_util"
12
17
  require "stub_requests/argument_validation"
18
+ require "stub_requests/property"
19
+ require "stub_requests/property/validator"
20
+ require "stub_requests/configuration"
21
+
13
22
  require "stub_requests/endpoint"
14
23
  require "stub_requests/endpoint_registry"
24
+
25
+ require "stub_requests/metrics"
26
+ require "stub_requests/metrics/endpoint_stat"
27
+ require "stub_requests/metrics/registry"
28
+ require "stub_requests/metrics/stub_stat"
29
+
15
30
  require "stub_requests/service"
16
31
  require "stub_requests/service_registry"
32
+
33
+ require "stub_requests/uri"
17
34
  require "stub_requests/uri/scheme"
18
35
  require "stub_requests/uri/suffix"
19
36
  require "stub_requests/uri/validator"
20
37
  require "stub_requests/uri/builder"
21
- require "stub_requests/webmock_builder"
22
38
 
23
- require "stub_requests/api"
39
+ require "stub_requests/webmock/builder"
40
+ require "stub_requests/webmock/stub_registry_extension"
24
41
 
42
+ require "stub_requests/api"
25
43
  require "stub_requests/stub_requests"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stub_requests
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mikael Henriksson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-01 00:00:00.000000000 Z
11
+ date: 2019-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: docile
@@ -370,52 +370,7 @@ files:
370
370
  - _config.yml
371
371
  - bin/console
372
372
  - bin/setup
373
- - docs/.gitkeep
374
- - docs/Array.html
375
- - docs/FalseClass.html
376
- - docs/Hash.html
377
- - docs/NilClass.html
378
- - docs/Numeric.html
379
- - docs/Object.html
380
- - docs/String.html
381
- - docs/StubRequests.html
382
- - docs/StubRequests/API.html
383
- - docs/StubRequests/ArgumentValidation.html
384
- - docs/StubRequests/Endpoint.html
385
- - docs/StubRequests/EndpointNotFound.html
386
- - docs/StubRequests/EndpointRegistry.html
387
- - docs/StubRequests/Error.html
388
- - docs/StubRequests/HashUtil.html
389
- - docs/StubRequests/InvalidType.html
390
- - docs/StubRequests/InvalidUri.html
391
- - docs/StubRequests/Service.html
392
- - docs/StubRequests/ServiceHaveEndpoints.html
393
- - docs/StubRequests/ServiceNotFound.html
394
- - docs/StubRequests/ServiceRegistry.html
395
- - docs/StubRequests/URI.html
396
- - docs/StubRequests/URI/Builder.html
397
- - docs/StubRequests/URI/Scheme.html
398
- - docs/StubRequests/URI/Suffix.html
399
- - docs/StubRequests/URI/Validator.html
400
- - docs/StubRequests/UriSegmentMismatch.html
401
- - docs/StubRequests/WebMockBuilder.html
402
- - docs/Time.html
403
- - docs/TrueClass.html
404
- - docs/_config.yml
405
- - docs/_index.html
406
- - docs/class_list.html
407
- - docs/css/common.css
408
- - docs/css/full_list.css
409
- - docs/css/style.css
410
- - docs/file.README.html
411
- - docs/file_list.html
412
- - docs/frames.html
413
- - docs/index.html
414
- - docs/js/app.js
415
- - docs/js/full_list.js
416
- - docs/js/jquery.js
417
- - docs/method_list.html
418
- - docs/top-level-namespace.html
373
+ - bin/update_docs.sh
419
374
  - gemfiles/.bundle/config
420
375
  - gemfiles/webmock_2.3.gemfile
421
376
  - gemfiles/webmock_2.3.gemfile.lock
@@ -424,24 +379,39 @@ files:
424
379
  - gemfiles/webmock_develop.gemfile
425
380
  - gemfiles/webmock_develop.gemfile.lock
426
381
  - index.md
382
+ - lib/rspec/subject_as_lambda.rb
427
383
  - lib/stub_requests.rb
428
384
  - lib/stub_requests/api.rb
429
385
  - lib/stub_requests/argument_validation.rb
386
+ - lib/stub_requests/configuration.rb
430
387
  - lib/stub_requests/core_ext.rb
431
388
  - lib/stub_requests/core_ext/all.rb
389
+ - lib/stub_requests/core_ext/array/extract_options.rb
390
+ - lib/stub_requests/core_ext/class/attribute.rb
391
+ - lib/stub_requests/core_ext/kernel/singleton_class.rb
392
+ - lib/stub_requests/core_ext/module/redefine_method.rb
432
393
  - lib/stub_requests/core_ext/object/blank.rb
433
394
  - lib/stub_requests/endpoint.rb
434
395
  - lib/stub_requests/endpoint_registry.rb
396
+ - lib/stub_requests/exceptions.rb
435
397
  - lib/stub_requests/hash_util.rb
398
+ - lib/stub_requests/metrics.rb
399
+ - lib/stub_requests/metrics/endpoint_stat.rb
400
+ - lib/stub_requests/metrics/registry.rb
401
+ - lib/stub_requests/metrics/stub_stat.rb
402
+ - lib/stub_requests/property.rb
403
+ - lib/stub_requests/property/validator.rb
436
404
  - lib/stub_requests/service.rb
437
405
  - lib/stub_requests/service_registry.rb
438
406
  - lib/stub_requests/stub_requests.rb
407
+ - lib/stub_requests/uri.rb
439
408
  - lib/stub_requests/uri/builder.rb
440
409
  - lib/stub_requests/uri/scheme.rb
441
410
  - lib/stub_requests/uri/suffix.rb
442
411
  - lib/stub_requests/uri/validator.rb
443
412
  - lib/stub_requests/version.rb
444
- - lib/stub_requests/webmock_builder.rb
413
+ - lib/stub_requests/webmock/builder.rb
414
+ - lib/stub_requests/webmock/stub_registry_extension.rb
445
415
  - lib/tasks/changelog.rake
446
416
  - lib/tasks/gem.rake
447
417
  - lib/tasks/git.rake
data/docs/.gitkeep DELETED
File without changes