Module: Dassets

Defined in:
lib/dassets/server.rb,
lib/dassets.rb,
lib/dassets/cache.rb,
lib/dassets/config.rb,
lib/dassets/engine.rb,
lib/dassets/source.rb,
lib/dassets/version.rb,
lib/dassets/asset_file.rb,
lib/dassets/file_store.rb,
lib/dassets/source_file.rb,
lib/dassets/source_proxy.rb,
lib/dassets/server/request.rb,
lib/dassets/server/response.rb

Overview

Rack middleware for serving Dassets asset files

Defined Under Namespace

Modules: Cache, SourceFiles Classes: AssetFile, Config, Engine, FileStore, NullEngine, NullSourceFile, Server, Source, SourceFile, SourceProxy

Constant Summary collapse

AssetFileError =
Class.new(RuntimeError)
VERSION =
"0.14.5"

Class Method Summary collapse

Class Method Details

.[](digest_path) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/dassets.rb', line 27

def self.[](digest_path)
  self.asset_file(digest_path).tap do |af|
    if af.fingerprint.nil?
      msg = "error digesting `#{digest_path}`.\n\nMake sure Dassets has " \
            "either a combination or source file for this digest path. If " \
            "this path is for a combination, make sure Dassets has either " \
            "a combination or source file for each digest path of the " \
            "combination.\n\n"

      msg << "\nCombination digest paths:"
      msg << (Dassets.combinations.keys.empty? ? " (none)\n\n" : "\n\n")
      Dassets.combinations.keys.sort.each do |key|
        bullet = "#{key} => "
        values = Dassets.combinations[key].sort
        msg << (
          ["#{bullet}#{values.first}"] +
          (values[1..-1] || []).map{ |v| "#{' '*bullet.size}#{v}" }
        ).join("\n")
        msg << "\n\n"
      end

      msg << "\nSource file digest paths:"
      msg << (Dassets.source_files.keys.empty? ? " (none)\n\n" : "\n\n")
      msg << Dassets.source_files.keys.sort.join("\n")

      raise AssetFileError, msg
    end
  end
end

.asset_file(digest_path) ⇒ Object



23
24
25
# File 'lib/dassets.rb', line 23

def self.asset_file(digest_path)
  @asset_files[digest_path] ||= AssetFile.new(digest_path)
end

.combinationsObject



61
62
63
# File 'lib/dassets.rb', line 61

def self.combinations
  self.config.combinations
end

.configObject



8
# File 'lib/dassets.rb', line 8

def self.config; @config ||= Config.new; end

.configure(&block) ⇒ Object



9
10
11
# File 'lib/dassets.rb', line 9

def self.configure(&block)
  block.call(self.config)
end

.initObject



13
14
15
16
# File 'lib/dassets.rb', line 13

def self.init
  @asset_files  ||= {}
  @source_files   = SourceFiles.new(self.config.sources)
end

.resetObject



18
19
20
21
# File 'lib/dassets.rb', line 18

def self.reset
  @asset_files = {}
  self.config.reset
end

.source_filesObject



57
58
59
# File 'lib/dassets.rb', line 57

def self.source_files
  @source_files
end