rack-override-path 0.1.0 → 0.2.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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rack/override_path.rb +18 -2
  3. metadata +3 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e04ac62cea90d64e86257689777f6a70d0ce0e8ad48dfcf0b3658ffcb98e8b86
4
- data.tar.gz: 9c01cfa8bbbab9b9fef48d6e12c942dfbf5fce724b517515f8c583a63adf9956
3
+ metadata.gz: 56e9af13f8e4bb0efc5a5d0852c273fdd776edc3f71c24731ab6d92b37aab35f
4
+ data.tar.gz: 335390c380237ebe7ed02b808e729c3b61dad07df8742fd7ce73f9cbe07d9517
5
5
  SHA512:
6
- metadata.gz: 87954614b55f9e498ea1b29468f7137514fb9ab9383eeef00dc50da9b449adb3cfccce53bd4de2ccd4d478deae6a3ef8c0fce96d90cdf804233e994091d49cfa
7
- data.tar.gz: ef81146204f7600c61cc53b64549f247c7b767bdd60ae542e5928f15448004fff100f926de46c5c88f8637425952e000b8037ffdb5a645782a1a3994c55d6175
6
+ metadata.gz: 2e0bb730f2c1459b9ad0c340f941bf220288a6c16499415d7ba934e06cff41721d774f7a61eb269f6b2e47c9a5161309b0289635c709b76a359b7b27e2cc0fe2
7
+ data.tar.gz: 9a2a038cee3cd2734075091734a10b109bc063dc98c4ac18a94fe5763ed90412ec5552ccf40e0e809dd7ab02b970fb4cfc9b95421e90a2d99e8df9e03d184f67
@@ -9,6 +9,7 @@ module Rack
9
9
  DEFAULT_DELAY = 0
10
10
  DEFAULT_HEADERS = {}.freeze
11
11
  DEFAULT_STATUS = 200
12
+ OVERRIDE_ENDPOINT = '/override/path'
12
13
  OVERRIDE_KEYS = %w[body delay headers status].freeze
13
14
 
14
15
  def initialize(app)
@@ -24,18 +25,33 @@ module Rack
24
25
  handle_override(req.path, env)
25
26
  elsif get_override?(req)
26
27
  get_override(req)
28
+ elsif delete_overrides?(req)
29
+ delete_overrides(req)
27
30
  else
28
31
  @app.call(env)
29
32
  end
30
33
  end
31
34
 
35
+ def delete_overrides(req)
36
+ @overridden_paths.clear
37
+ get_override(req)
38
+ end
39
+
40
+ def delete_overrides?(req)
41
+ override_endpoint?(req) && req.delete?
42
+ end
43
+
32
44
  def override_matches_method?(req)
33
45
  o = override(req.path)
34
46
  o['method'].nil? ? true : o['method'].downcase == req.request_method.downcase
35
47
  end
36
48
 
49
+ def override_endpoint?(req)
50
+ req.path == '/override/path'
51
+ end
52
+
37
53
  def get_override?(req)
38
- req.path == '/override/path' && req.get?
54
+ override_endpoint?(req) && req.get?
39
55
  end
40
56
 
41
57
  def get_override(_req)
@@ -58,7 +74,7 @@ module Rack
58
74
  end
59
75
 
60
76
  def override_path?(req)
61
- req.path == '/override/path' && req.post?
77
+ override_endpoint?(req) && req.post?
62
78
  end
63
79
 
64
80
  def override_path(req)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-override-path
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Bonsu
@@ -22,7 +22,8 @@ files:
22
22
  homepage: https://github.com/adambonsu/rack-override-path
23
23
  licenses:
24
24
  - MIT
25
- metadata: {}
25
+ metadata:
26
+ changelog_uri: https://github.com/adambonsu/rack-override-path/blob/main/CHANGELOG.md
26
27
  post_install_message:
27
28
  rdoc_options: []
28
29
  require_paths: