Class: Journeybook::Redirect

Inherits:
ApplicationRecord show all
Defined in:
app/models/journeybook/redirect.rb

Constant Summary collapse

VALID_STATUS_CODES =
[ 301, 302, 307, 308 ].freeze

Class Method Summary collapse

Class Method Details

.for_path(path) ⇒ Object



12
13
14
# File 'app/models/journeybook/redirect.rb', line 12

def self.for_path(path)
  find_by(from: normalize_path(path))
end

.normalize_path(path) ⇒ Object



16
17
18
19
20
21
22
# File 'app/models/journeybook/redirect.rb', line 16

def self.normalize_path(path)
  value = path.to_s.strip
  value = "/#{value}" unless value.start_with?("/")
  value = value.squeeze("/")
  value = value.delete_suffix("/") unless value == "/"
  value.presence || "/"
end