Module: Trackman::Assets::CompositeAsset

Included in:
CssAsset, HtmlAsset
Defined in:
lib/trackman/assets/composite_asset.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.extended(mod) ⇒ Object



7
8
9
# File 'lib/trackman/assets/composite_asset.rb', line 7

def self.extended(mod)
  mod.send(:extend, Path::Resolver)
end

.included(mod) ⇒ Object



4
5
6
# File 'lib/trackman/assets/composite_asset.rb', line 4

def self.included(mod)
  mod.send(:include, Path::Resolver)
end

Instance Method Details

#asset_from(virtual, physical) ⇒ Object



19
20
21
# File 'lib/trackman/assets/composite_asset.rb', line 19

def asset_from(virtual, physical)
  Asset.create(:virtual_path => virtual, :path => physical)  
end

#assetsObject



11
12
13
14
15
16
17
# File 'lib/trackman/assets/composite_asset.rb', line 11

def assets
  internals = children_paths.select{|p| p.internal_path? }.map{|p| {:old => p, :new_path => translate(p, path)} }
  internals = internals.select{|p| !p[:new_path].nil? }.map{|p| asset_from(p[:old], p[:new_path])}
  internals.inject([]) do |sum, a|
    (sum << a) + a.assets.select{|child| !sum.include?(child) }
  end
end