Class: WebpackManifest::Rails::ManifestRepository

Inherits:
Object
  • Object
show all
Defined in:
lib/webpack_manifest/rails/manifest_repository.rb

Defined Under Namespace

Classes: NotFoundError

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeManifestRepository

Returns a new instance of ManifestRepository.



10
11
12
13
# File 'lib/webpack_manifest/rails/manifest_repository.rb', line 10

def initialize
  @manifests = {}
  @default = nil # a pointer to a default manifest
end

Instance Attribute Details

#defaultObject

Returns the value of attribute default.



8
9
10
# File 'lib/webpack_manifest/rails/manifest_repository.rb', line 8

def default
  @default
end

Instance Method Details

#add(key, path, **options) ⇒ Object



20
21
22
23
24
25
# File 'lib/webpack_manifest/rails/manifest_repository.rb', line 20

def add(key, path, **options)
  manifest = WebpackManifest::Manifest.new(path, options)
  # Mark a first one as a default
  @default = manifest if @manifests.empty?
  @manifests[key.to_sym] = manifest
end

#all_manifestsObject



15
16
17
# File 'lib/webpack_manifest/rails/manifest_repository.rb', line 15

def all_manifests
  @manifests.values
end

#get(key) ⇒ Object



27
28
29
# File 'lib/webpack_manifest/rails/manifest_repository.rb', line 27

def get(key)
  @manifests[key.to_sym] || raise(NotFoundError, "manifest associated with #{key} not found")
end