class Pakyow::Assets::PackedAssets
Attributes
assets[R]
public_path[R]
Public Class Methods
new(assets, public_path, config, name)
click to toggle source
# File lib/pakyow/assets/pack.rb, line 102 def initialize(assets, public_path, config, name) @assets, @public_path, @config, @name = assets, public_path, config, name end
Public Instance Methods
bytesize()
click to toggle source
# File lib/pakyow/assets/pack.rb, line 142 def bytesize bytes = @assets.map(&:bytesize).inject(&:+) if @config.source_maps && source_map? bytes += source_mapping_url.bytesize end bytes end
each() { |source_mapping_url| ... }
click to toggle source
# File lib/pakyow/assets/pack.rb, line 120 def each(&block) @assets.each do |asset| asset.each(&block) end if @config.source_maps && source_map? yield source_mapping_url end end
initialize_copy(_)
click to toggle source
Calls superclass method
# File lib/pakyow/assets/pack.rb, line 106 def initialize_copy(_) super @assets = @assets.map(&:dup) end
mime_suffix()
click to toggle source
# File lib/pakyow/assets/pack.rb, line 116 def mime_suffix @assets.first&.mime_suffix end
mime_type()
click to toggle source
# File lib/pakyow/assets/pack.rb, line 112 def mime_type @assets.first&.mime_type end
read()
click to toggle source
# File lib/pakyow/assets/pack.rb, line 130 def read String.new.tap do |packed_asset| @assets.each do |asset| packed_asset << asset.read end if @config.source_maps && source_map? packed_asset << source_mapping_url end end end
source_map()
click to toggle source
# File lib/pakyow/assets/pack.rb, line 152 def source_map @assets.select(&:source_map?).inject( SourceMap.new( file: File.basename(@public_path) ) ) { |merged, asset| merged.merge(asset.source_map) } end
source_map?()
click to toggle source
# File lib/pakyow/assets/pack.rb, line 162 def source_map? @assets.any?(&:source_map?) end
source_mapping_url()
click to toggle source
# File lib/pakyow/assets/pack.rb, line 166 def source_mapping_url SourceMap.mapping_url(path: @public_path, type: @assets.first.mime_suffix) end