class AssetsLedger::Ledger
Attributes
css_dependencies[R]
js_dependencies[R]
Public Class Methods
new()
click to toggle source
# File lib/assets_ledger/ledger.rb, line 5 def initialize @js = Set.new @css = Set.new end
Public Instance Methods
add_css(*names)
click to toggle source
Add CSS to ledger
# File lib/assets_ledger/ledger.rb, line 16 def add_css(*names) @css.merge(dependencies_for(names, css_libs)) end
add_js(*names)
click to toggle source
Add JS to ledger
# File lib/assets_ledger/ledger.rb, line 11 def add_js(*names) @js.merge(dependencies_for(names, js_libs)) end
js_source_for(lib)
click to toggle source
Returns a string with the source path for the given JS lib @return [String] JS source path. @param [Symbol] lib identifier @example Get JS source path for jQuery
assets_ledger.js_source_for(:jquery)
# File lib/assets_ledger/ledger.rb, line 37 def js_source_for(lib) js_libs[lib] end
Protected Instance Methods
css_libs()
click to toggle source
# File lib/assets_ledger/ledger.rb, line 51 def css_libs {} end
dependencies_for(names, assets)
click to toggle source
# File lib/assets_ledger/ledger.rb, line 43 def dependencies_for(names, assets) names.flatten.flat_map { |name| Array(assets[name] || name) } end
js_libs()
click to toggle source
# File lib/assets_ledger/ledger.rb, line 47 def js_libs {} end