Class: Prez::Assets::Tagged

Inherits:
Object
  • Object
show all
Defined in:
lib/prez/assets.rb

Direct Known Subclasses

Image, Javascript, Stylesheet

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, options = {}) ⇒ Tagged

Returns a new instance of Tagged.



11
12
13
14
15
16
# File 'lib/prez/assets.rb', line 11

def initialize(name, options = {})
  @name = name
  @contents = Prez::Files.contents name, extension
  @file = Prez::Files.find name, extension
  @options = options
end

Instance Attribute Details

#contentsObject (readonly)

Returns the value of attribute contents.



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

def contents
  @contents
end

#fileObject (readonly)

Returns the value of attribute file.



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

def file
  @file
end

#nameObject (readonly)

Returns the value of attribute name.



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

def name
  @name
end

#optionsObject (readonly)

Returns the value of attribute options.



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

def options
  @options
end

Instance Method Details

#compile(contents) ⇒ Object



32
33
34
# File 'lib/prez/assets.rb', line 32

def compile(contents)
  contents
end

#compiled_contentsObject



26
27
28
29
30
# File 'lib/prez/assets.rb', line 26

def compiled_contents
  Prez::Cache.get "asset:#{extension}:compiled:#{file}", contents do
    compile contents
  end
end

#dev?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/prez/assets.rb', line 18

def dev?
  options.fetch :dev, false
end

#minified_contentsObject



36
37
38
39
40
# File 'lib/prez/assets.rb', line 36

def minified_contents
  Prez::Cache.get "asset:#{extension}:minified:#{file}", compiled_contents do
    minify compiled_contents
  end
end

#minify(contents) ⇒ Object



42
43
44
# File 'lib/prez/assets.rb', line 42

def minify(contents)
  contents
end

#self_closing?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/prez/assets.rb', line 22

def self_closing?
  false
end

#to_tagObject



46
47
48
49
50
51
52
# File 'lib/prez/assets.rb', line 46

def to_tag
  if dev? && !self_closing?
    "#{open}\n#{compiled_contents}#{close}"
  else
    "#{open}#{minified_contents.strip}#{close}"
  end
end