Use `%r{}` regexes to avoid having to escape `/`
This commit is contained in:
parent
39efd0c030
commit
ea8e86dac8
|
@ -104,7 +104,7 @@ class DynamicPathValidator < ActiveModel::EachValidator
|
|||
end
|
||||
|
||||
def self.contains_path_part?(path, part)
|
||||
path =~ /(.*\/|\A)#{Regexp.quote(part)}(\/.*|\z)/
|
||||
path =~ %r{(/|\A)#{Regexp.quote(part)}(/|\z)}
|
||||
end
|
||||
|
||||
def self.follow_format?(value)
|
||||
|
|
|
@ -63,13 +63,13 @@ describe DynamicPathValidator do
|
|||
# - Followed by one or more path-parts not starting with `:` or `*`
|
||||
# - Followed by a path-part that includes a wildcard parameter `*`
|
||||
# At the time of writing these routes match: http://rubular.com/r/Rv2pDE5Dvw
|
||||
STARTING_WITH_NAMESPACE = /^\/\*namespace_id\/:(project_)?id/
|
||||
NON_PARAM_PARTS = /[^:*][a-z\-_\/]*/
|
||||
ANY_OTHER_PATH_PART = /[a-z\-_\/:]*/
|
||||
WILDCARD_SEGMENT = /\*/
|
||||
STARTING_WITH_NAMESPACE = %r{^/\*namespace_id/:(project_)?id}
|
||||
NON_PARAM_PARTS = %r{[^:*][a-z\-_/]*}
|
||||
ANY_OTHER_PATH_PART = %r{[a-z\-_/:]*}
|
||||
WILDCARD_SEGMENT = %r{\*}
|
||||
let(:namespaced_wildcard_routes) do
|
||||
routes_without_format.select do |p|
|
||||
p =~ %r{#{STARTING_WITH_NAMESPACE}\/#{NON_PARAM_PARTS}\/#{ANY_OTHER_PATH_PART}#{WILDCARD_SEGMENT}}
|
||||
p =~ %r{#{STARTING_WITH_NAMESPACE}/#{NON_PARAM_PARTS}/#{ANY_OTHER_PATH_PART}#{WILDCARD_SEGMENT}}
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue