Class: Opal::Vite::Rails::Manifest

Inherits:
Object
  • Object
show all
Defined in:
lib/opal/vite/rails/manifest.rb

Instance Method Summary collapse

Constructor Details

#initialize(manifest_path = nil) ⇒ Manifest

Returns a new instance of Manifest.



7
8
9
10
# File 'lib/opal/vite/rails/manifest.rb', line 7

def initialize(manifest_path = nil)
  @manifest_path = manifest_path || default_manifest_path
  @data = load_manifest
end

Instance Method Details

#[](name) ⇒ Object



30
31
32
33
# File 'lib/opal/vite/rails/manifest.rb', line 30

def [](name)
  entry = lookup(name)
  entry && entry['file']
end

#lookup(name) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/opal/vite/rails/manifest.rb', line 12

def lookup(name)
  # Try exact match first
  entry = @data[name]
  return entry if entry

  # Try with .rb extension
  entry = @data["#{name}.rb"]
  return entry if entry

  # Try without extension
  name_without_ext = name.sub(/\.(rb|js)$/, '')
  entry = @data[name_without_ext]
  return entry if entry

  # Not found
  nil
end

#reload!Object



35
36
37
# File 'lib/opal/vite/rails/manifest.rb', line 35

def reload!
  @data = load_manifest
end