Class: Middleman::Presentation::AssetsManager
- Inherits:
-
Object
- Object
- Middleman::Presentation::AssetsManager
- Defined in:
- lib/middleman-presentation-core/assets_manager.rb
Overview
Manager for assets
It knows about all assets. This information is used when adding assets to sprockets. It gets its information normally from through plugins or through reading the bower components directory in filesystem.
Instance Method Summary collapse
-
#add(asset) ⇒ Object
Add asset.
-
#each_importable_javascript(&block) ⇒ Object
Iterate over each importable asset.
-
#each_importable_stylesheet(&block) ⇒ Object
Iterate over each importable asset.
-
#each_loadable_asset(&block) ⇒ Object
Iterate over each loadable asset.
-
#initialize(store: AssetStore.new) ⇒ AssetsManager
constructor
A new instance of AssetsManager.
-
#know?(asset) ⇒ Boolean
Return assets.
-
#load_from_list(*lists) ⇒ Object
Load assets from list.
-
#to_s ⇒ Object
Show assets which should be imported.
Constructor Details
#initialize(store: AssetStore.new) ⇒ AssetsManager
Returns a new instance of AssetsManager.
16 17 18 19 20 |
# File 'lib/middleman-presentation-core/assets_manager.rb', line 16 def initialize( store: AssetStore.new ) @store = store end |
Instance Method Details
#add(asset) ⇒ Object
Add asset
23 24 25 |
# File 'lib/middleman-presentation-core/assets_manager.rb', line 23 def add(asset) store.add asset end |
#each_importable_javascript(&block) ⇒ Object
Iterate over each importable asset
57 58 59 |
# File 'lib/middleman-presentation-core/assets_manager.rb', line 57 def each_importable_javascript(&block) each_importable_asset.select(&:script?).each(&block) end |
#each_importable_stylesheet(&block) ⇒ Object
Iterate over each importable asset
52 53 54 |
# File 'lib/middleman-presentation-core/assets_manager.rb', line 52 def each_importable_stylesheet(&block) each_importable_asset.select(&:stylesheet?).each(&block) end |
#each_loadable_asset(&block) ⇒ Object
Iterate over each loadable asset
47 48 49 |
# File 'lib/middleman-presentation-core/assets_manager.rb', line 47 def each_loadable_asset(&block) store.select { |a| a.valid? && a.loadable? }.each(&block) end |
#know?(asset) ⇒ Boolean
Return assets
28 29 30 |
# File 'lib/middleman-presentation-core/assets_manager.rb', line 28 def know?(asset) store.include? asset end |
#load_from_list(*lists) ⇒ Object
Load assets from list
62 63 64 |
# File 'lib/middleman-presentation-core/assets_manager.rb', line 62 def load_from_list(*lists) lists.flatten.each { |l| store.merge l } end |
#to_s ⇒ Object
Show assets which should be imported
33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/middleman-presentation-core/assets_manager.rb', line 33 def to_s data = store.assets.sort.reduce([]) do |a, e| a << { source_path: e.relative_source_path, destination_path: e.destination_path, loadable: e.loadable?, importable: e.importable? } end List.new(data).to_s(fields: [:source_path, :destination_path, :loadable, :importable], vertical: true) end |