Class: Nanoc2::AssetProxy

Inherits:
Proxy
  • Object
show all
Defined in:
lib/nanoc2/base/proxies/asset_proxy.rb

Overview

Nanoc2::AssetProxy is a proxy object for an asset (Nanoc2::Asset).

Instance Method Summary collapse

Methods inherited from Proxy

#[]=, #initialize, #method_missing

Constructor Details

This class inherits a constructor from Nanoc2::Proxy

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Nanoc2::Proxy

Instance Method Details

#[](key) ⇒ Object

Requests the asset attribute with the given name. key can be a string or a symbol, and it can contain a trailing question mark (which will be stripped).



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/nanoc2/base/proxies/asset_proxy.rb', line 9

def [](key)
  real_key = key.to_s.sub(/\?$/, '').to_sym

  if real_key == :mtime
    @obj.mtime
  elsif real_key == :path # backward compatibility
    @obj.reps.find { |r| r.name == :default }.web_path
  else
    super(key)
  end
end

#reps(name) ⇒ Object

Returns the asset representation with the given name.



22
23
24
25
# File 'lib/nanoc2/base/proxies/asset_proxy.rb', line 22

def reps(name)
  rep = @obj.reps.find { |r| r.name == name }
  rep.nil? ? nil : rep.to_proxy
end