class AssetFinder::Javascript::Normalizer

Attributes

normalize_index_file[R]
path_pattern_collection[R]
root_dir[R]

Public Class Methods

new(root_dir:, path_pattern_collection:, normalize_index_file: true) click to toggle source
# File lib/asset_finder/javascript/normalizer.rb, line 4
def initialize(root_dir:, path_pattern_collection:, normalize_index_file: true)
  @root_dir = root_dir.to_s
  @path_pattern_collection = path_pattern_collection
  @normalize_index_file = normalize_index_file

  freeze
end

Public Instance Methods

normalize(path) click to toggle source
# File lib/asset_finder/javascript/normalizer.rb, line 12
def normalize(path)
  match = path_pattern_collection.match(path: path)
  return unless match

  normalized_path = match[1].delete_prefix(root_dir)
  normalized_path = normalized_path.delete_suffix('/index') if normalize_index_file
  normalized_path + '.js'
end