Class: WebpackIntegration::Store

Inherits:
Object
  • Object
show all
Defined in:
lib/webpack_integration/store.rb

Class Method Summary collapse

Class Method Details

.assets_keysObject



20
21
22
# File 'lib/webpack_integration/store.rb', line 20

def self.assets_keys
  @assets_keys ||= assets_manifest.keys.sort!
end

.assets_manifestObject



24
25
26
# File 'lib/webpack_integration/store.rb', line 24

def self.assets_manifest
  @assets_manifest ||= WebpackIntegration::Assets.generate_assets_manifest
end

.file_for(filename) ⇒ Object



12
13
14
# File 'lib/webpack_integration/store.rb', line 12

def self.file_for(filename)
  assets_manifest.fetch(filename) # will raise on missing assets!
end

.fuzzy_file_for(file_pattern) ⇒ Object

Examples:

Store.fuzzy_file_for('client.png')


6
7
8
9
10
# File 'lib/webpack_integration/store.rb', line 6

def self.fuzzy_file_for(file_pattern)
  alternatives = assets_keys.grep(Regexp.new(file_pattern))
  raise "TOO MANY MATCHES for #{file_pattern}" if alternatives.size > 1
  file_for(alternatives.first)
end

.loadObject



16
17
18
# File 'lib/webpack_integration/store.rb', line 16

def self.load
  assets_keys
end

.resetObject



28
29
30
31
# File 'lib/webpack_integration/store.rb', line 28

def self.reset
  @assets_manifest = nil
  @assets_keys     = nil
end