Module: Bunto::Assets::Config

Defined in:
lib/bunto/assets/config.rb

Constant Summary collapse

DefaultSources =
%W(
  _assets/css _assets/stylesheets
  _assets/images _assets/img _assets/fonts
  _assets/javascripts _assets/js
).freeze
Development =

{
  "skip_baseurl_with_cdn" => false,
  "skip_prefix_with_cdn"  => false,
  "prefix"    => "/assets",
  "digest"    => false,
  "assets"    => [],

  "compress"  => {
    "css"     => false,
    "js"      => false
  },

  "features" => {
    "automatic_img_alt"  => true,
    "automatic_img_size" => true,
    "liquid" => false
  }
}.freeze
Production =

Development.merge({
  "digest"    => true,
  "compress"  => {
    "css"     => true,
    "js"      => true
  }
}).freeze

Class Method Summary collapse

Class Method Details

.defaultsObject




61
62
63
64
65
# File 'lib/bunto/assets/config.rb', line 61

def self.defaults
  if %W(development test).include?(Bunto.env)
    then Development else Production
  end
end

.merge(new_hash, old_hash = defaults) ⇒ Object




69
70
71
72
73
# File 'lib/bunto/assets/config.rb', line 69

def self.merge(new_hash, old_hash = defaults)
  old_hash.merge(new_hash) do |_, old_val, new_val|
    old_val.is_a?(Hash) && new_val.is_a?(Hash) ? merge(new_val, old_val) : new_val
  end
end

.merge_sources(bunto, config) ⇒ Object




49
50
51
52
53
54
55
56
57
# File 'lib/bunto/assets/config.rb', line 49

def self.merge_sources(bunto, config)
  config["sources"] ||= []
  return if config["sources"].grep(/\A\s*_assets\/?\s*\Z/).size > 0
  sources = DefaultSources + config["sources"].to_a

  config["sources"] = Set.new(sources.map do |val|
    bunto.in_source_dir(val)
  end)
end