Class: AssetsBooster::Package::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/assets_booster/package/base.rb

Direct Known Subclasses

Javascript, Stylesheet

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, assets) ⇒ Base

Returns a new instance of Base.



11
12
13
14
15
# File 'lib/assets_booster/package/base.rb', line 11

def initialize(name, assets)
  self.name = name+"_packaged"
  self.assets = assets
  self.filename = asset_path(self.name)
end

Instance Attribute Details

#assetsObject

Returns the value of attribute assets.



6
7
8
# File 'lib/assets_booster/package/base.rb', line 6

def assets
  @assets
end

#compiler_classObject

Returns the value of attribute compiler_class.



9
10
11
# File 'lib/assets_booster/package/base.rb', line 9

def compiler_class
  @compiler_class
end

#filenameObject

Returns the value of attribute filename.



7
8
9
# File 'lib/assets_booster/package/base.rb', line 7

def filename
  @filename
end

#merger_classObject

Returns the value of attribute merger_class.



8
9
10
# File 'lib/assets_booster/package/base.rb', line 8

def merger_class
  @merger_class
end

#nameObject

Returns the value of attribute name.



5
6
7
# File 'lib/assets_booster/package/base.rb', line 5

def name
  @name
end

Instance Method Details

#compileObject



46
47
48
49
50
51
52
# File 'lib/assets_booster/package/base.rb', line 46

def compile
  merged_code = merge
  AssetsBooster.log("Compiling #{relative_filename} using #{compiler.name}...")
  code = compiler.compile(merged_code)
  AssetsBooster.log("Compilation finished: %5.2f%% saved." % [(1-code.size.to_f/merged_code.size)*100])
  save(code)
end

#compilerObject



25
26
27
# File 'lib/assets_booster/package/base.rb', line 25

def compiler
  @compiler ||= compiler_class.new
end

#deleteObject



37
38
39
# File 'lib/assets_booster/package/base.rb', line 37

def delete
  File.delete(filename) if File.exists?(filename)
end

#exists?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/assets_booster/package/base.rb', line 17

def exists?
  File.exists?(filename)
end

#mergeObject



41
42
43
44
# File 'lib/assets_booster/package/base.rb', line 41

def merge
  AssetsBooster.log("Merging assets using #{merger.name} to #{relative_filename}...")
  save(merger.merge(filename))
end

#mergerObject



21
22
23
# File 'lib/assets_booster/package/base.rb', line 21

def merger
  @merger ||= merger_class.new(sources)
end

#mtimeObject



29
30
31
# File 'lib/assets_booster/package/base.rb', line 29

def mtime
  @mtime ||= merger.mtime 
end

#sourcesObject



33
34
35
# File 'lib/assets_booster/package/base.rb', line 33

def sources
  @sources ||= assets.each.map{ |asset| asset_path(asset) }
end

#view_helper_sourcesObject



54
55
56
# File 'lib/assets_booster/package/base.rb', line 54

def view_helper_sources
  AssetsBooster::Railtie.packager.boosted_environment? ? [name] : assets
end