Class: AssetTrip::Asset
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods included from Memoizable
memoize, memoized_ivar_for
Constructor Details
#initialize(config, name, files = [], &block) ⇒ Asset
Returns a new instance of Asset.
9
10
11
12
13
14
15
|
# File 'lib/asset_trip/asset.rb', line 9
def initialize(config, name, files = [], &block)
@config = config
@name = name
@files = files
instance_eval(&block) if block_given?
end
|
Instance Attribute Details
#files ⇒ Object
Returns the value of attribute files.
7
8
9
|
# File 'lib/asset_trip/asset.rb', line 7
def files
@files
end
|
Instance Method Details
#bundle! ⇒ Object
27
28
29
30
31
32
33
34
|
# File 'lib/asset_trip/asset.rb', line 27
def bundle!
if expired?
FileWriter.new(path).write!(contents)
else
last_package = packaged_files.sort_by { |path| File.mtime(path) }.last
@md5sum = File.dirname(last_package).last(12).gsub(/\//, '')
end
end
|
#contents ⇒ Object
17
18
19
|
# File 'lib/asset_trip/asset.rb', line 17
def contents
compressor.compress(joined_contents)
end
|
#md5sum ⇒ Object
36
37
38
|
# File 'lib/asset_trip/asset.rb', line 36
def md5sum
@md5sum ||= Digest::MD5.hexdigest(contents)
end
|
#paths ⇒ Object
21
22
23
24
25
|
# File 'lib/asset_trip/asset.rb', line 21
def paths
files.map do |file|
@config.resolve_file(asset_type, file)
end
end
|