module Dominate::Assets

Public Class Methods

compile() click to toggle source
# File lib/dominate/assets.rb, line 48
def self.compile
  Dominate.config.assets.to_h.each do |type, assets|
    content = ''

    if assets.length > 0
      type_path = "#{Dominate.config.asset_path}/#{Dominate.config[:"asset_#{type}_folder"]}"
      assets.each do |file|
        path = "#{type_path}/#{file}"
        content += Dominate::HTML.load_file path
      end
      tmp_path = "#{type_path}/tmp.dominate-compiled.#{type}"
      File.write tmp_path, content
      system "minify #{tmp_path} > #{type_path}/dominate-compiled.#{type}"
      File.delete tmp_path
    end
  end
end
setup(app) click to toggle source
# File lib/dominate/assets.rb, line 8
def self.setup app
  app.use Middleware
  app.plugin Render
end

Public Instance Methods

css_assets(options = {}) click to toggle source
# File lib/dominate/assets.rb, line 13
def css_assets options = {}
  options = {
    'data-turbolinks-track' => 'true',
    rel: 'stylesheet',
    type: 'text/css',
    media: 'all'
  }.merge options

  url = Dominate.config.asset_url

  if Dominate.config.assets_compiled
    options[:href] = "#{url}/css/all-#{sha}.css"
  else
    options[:href] = "#{url}/css/all.css"
  end

  mab { link options }
end
js_assets(options = {}) click to toggle source
# File lib/dominate/assets.rb, line 32
def js_assets options = {}
  options = {
    'data-turbolinks-track' => 'true',
  }.merge options

  url = Dominate.config.asset_url

  if Dominate.config.assets_compiled
    options[:src] = "#{url}/js/all-#{sha}.js"
  else
    options[:src] = "#{url}/js/all.js"
  end

  mab { script options }
end

Private Instance Methods

sha() click to toggle source
# File lib/dominate/assets.rb, line 68
def sha
  Thread.current[:_sha] ||= (Dominate.config.sha || `git rev-parse HEAD`.strip)
end