module DynamicAssets::Config
Constants
- CONFIG_VARS
Public Instance Methods
asset_reference_for_name(type, name)
click to toggle source
# File lib/dynamic_assets/config.rb, line 35 def asset_reference_for_name(type, name) assets_hash[type].if_present { |gs| gs[:by_name][name] } end
asset_references_for_group_key(type, group_key)
click to toggle source
Asset Queries
# File lib/dynamic_assets/config.rb, line 31 def asset_references_for_group_key(type, group_key) assets_hash[type].if_present { |gs| gs[:by_group][group_key.to_sym] } end
cache?()
click to toggle source
# File lib/dynamic_assets/config.rb, line 24 def cache? @cache.nil? ? true : @cache end
combine_asset_groups?()
click to toggle source
Configuration Queries
# File lib/dynamic_assets/config.rb, line 16 def combine_asset_groups? @combine_asset_groups.nil? ? true : @combine_asset_groups end
init(yml_path)
click to toggle source
# File lib/dynamic_assets/config.rb, line 8 def init(yml_path) @yml_path = yml_path assets_hash.present? end
minify?()
click to toggle source
# File lib/dynamic_assets/config.rb, line 20 def minify? @minify.nil? ? true : @minify end
Protected Instance Methods
assets_hash()
click to toggle source
# File lib/dynamic_assets/config.rb, line 66 def assets_hash return @assets if @assets assets = {} yml.each do |key, values| next if key == "config" || key.blank? type = key.to_sym groups = values typed_assets = assets[type] = { :by_name => {}, :by_group => {} } groups.map do |group_hash| group_key = group_hash.keys.first group_names = group_hash.values.first assets_in_group = if combine_asset_groups? # Create a single AssetReference for the group name = group_key a = typed_assets[:by_name][name] ||= Reference.new_for_type(type, :name => name, :member_names => group_names) [a] else # Create an AssetReference for each member of the group group_names.map do |name| typed_assets[:by_name][name] ||= Reference.new_for_type type, :name => name end end typed_assets[:by_group][group_key.to_sym] = assets_in_group end end @assets = assets end
configure(values)
click to toggle source
# File lib/dynamic_assets/config.rb, line 55 def configure(values) values.each do |env_string, config_values| next unless env_string.split(/ *, */).include? Rails.env config_values.each do |name, value| raise "unknown config variable: #{name}" unless CONFIG_VARS.include? name instance_variable_set "@#{name}", value end end end
yml()
click to toggle source
# File lib/dynamic_assets/config.rb, line 42 def yml return @yml if @yml if File.exists? @yml_path @yml = YAML.load_file @yml_path @yml.delete("config").if_present { |c| configure c } else @yml = {} end @yml end