Method: String#dir_to_rx

Defined in:
lib/na/string.rb

#dir_to_rx(distance: 1, require_last: true) ⇒ Object

Note:

Splits at / or :, adds variable distance between characters, joins segments with slashes and requires that last segment match last segment of target path

Convert a directory path to a regular expression

Parameters:

  • distance (defaults to: 1)

    The distance allowed between characters

  • require_last (defaults to: true)

    Require match to be last element in path



199
200
201
# File 'lib/na/string.rb', line 199

def dir_to_rx(distance: 1, require_last: true)
  "#{split(%r{[/:]}).map { |comp| comp.split('').join(".{0,#{distance}}").gsub(/\*/, '[^ ]*?') }.join('.*?/.*?')}#{require_last ? '[^/]*?$' : ''}"
end