class StaticFM::Asset
Attributes
compressed[RW]
compressed_url[RW]
dependencies[RW]
description[RW]
file_name[RW]
name[RW]
url[RW]
version[RW]
Public Class Methods
add(attributes)
click to toggle source
# File lib/static_fm/asset.rb, line 18 def add(attributes) config.merge!(attributes) end
config()
click to toggle source
# File lib/static_fm/asset.rb, line 22 def config @config ||= default_config end
config=(attributes)
click to toggle source
# File lib/static_fm/asset.rb, line 30 def config=(attributes) @config = attributes end
default_config()
click to toggle source
# File lib/static_fm/asset.rb, line 34 def default_config @default_config ||= YAML::load_file(File.join(dir, "config", "static.yml")) end
dir()
click to toggle source
# File lib/static_fm/asset.rb, line 14 def dir @dir ||= File.join(File.dirname(File.expand_path(__FILE__)), "..", "..") end
find(name)
click to toggle source
# File lib/static_fm/asset.rb, line 10 def find(name) new(name, config[name]) end
new(name, attributes = {})
click to toggle source
# File lib/static_fm/asset.rb, line 48 def initialize(name, attributes = {}) @name = name attributes.each_pair do |attribute, value| self.send("#{attribute}=", value) end end
recipe_names()
click to toggle source
# File lib/static_fm/asset.rb, line 38 def recipe_names config.keys end
reset()
click to toggle source
# File lib/static_fm/asset.rb, line 26 def reset @config = default_config end
Public Instance Methods
basename()
click to toggle source
# File lib/static_fm/asset.rb, line 68 def basename File.basename(@url) end
display_name()
click to toggle source
# File lib/static_fm/asset.rb, line 80 def display_name [name, version].compact.join(':') end
host()
click to toggle source
# File lib/static_fm/asset.rb, line 60 def host parsed_uri.host end
path()
click to toggle source
# File lib/static_fm/asset.rb, line 64 def path parsed_uri.path end
url_with_options(options = {})
click to toggle source
# File lib/static_fm/asset.rb, line 55 def url_with_options(options = {}) calculated_url = options[:compress] ? compressed_url : url update_url_with_version(calculated_url, @version) end
Protected Instance Methods
parsed_uri()
click to toggle source
# File lib/static_fm/asset.rb, line 86 def parsed_uri @parsed_uri ||= URI.parse(update_url_with_version(@url, @version)) end
update_url_with_version(url, version = nil)
click to toggle source
# File lib/static_fm/asset.rb, line 90 def update_url_with_version(url, version = nil) version.nil? ? url : url.gsub(/\{version\}/, version) end