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