Method: Querly::Check#initialize

Defined in:
lib/querly/check.rb

#initialize(pattern:, rules:) ⇒ Check

Returns a new instance of Check.



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/querly/check.rb', line 23

def initialize(pattern:, rules:)
  @rules = rules

  @has_trailing_slash = pattern.end_with?("/")
  @has_middle_slash = /\/./ =~ pattern

  @patterns = []

  pattern.sub!(/\A\//, '')

  case
  when has_trailing_slash? && has_middle_slash?
    patterns << File.join(pattern, "**")
  when has_trailing_slash?
    patterns << File.join(pattern, "**")
    patterns << File.join("**", pattern, "**")
  when has_middle_slash?
    patterns << pattern
    patterns << File.join(pattern, "**")
  else
    patterns << pattern
    patterns << File.join("**", pattern)
    patterns << File.join(pattern, "**")
    patterns << File.join("**", pattern, "**")
  end
end