Module: Middleman::Features::Jammit

Defined in:
lib/middleman-jammit.rb

Defined Under Namespace

Modules: Helpers

Class Method Summary collapse

Class Method Details

.registered(app) ⇒ Object Also known as: included

Raises:

  • (ConfigurationNotFound)


9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/middleman-jammit.rb', line 9

def registered(app)
  full_build_dir = File.join(Middleman::Server.root, Middleman::Server.build_dir)

  FileUtils.mkdir_p File.join(full_build_dir, Middleman::Server.js_dir)
  FileUtils.mkdir_p File.join(full_build_dir, Middleman::Server.css_dir)

  jammit_config_file = File.join(Middleman::Server.root, 'config', 'assets.yml')
  raise ConfigurationNotFound, "could not find \"#{jammit_config_file}\" " unless File.exists?(jammit_config_file)
  jammit_conf = YAML.load(ERB.new(File.read(jammit_config_file)).result)

  touch_asset_files jammit_conf['javascripts']
  touch_asset_files jammit_conf['stylesheets']

  ::Jammit.load_configuration(jammit_config_file)

  Middleman::Builder.after_run "jammit" do
    full_package_path = File.join(full_build_dir, ::Jammit.package_path)
    ::Jammit.packager.precache_all(full_package_path, Middleman::Server.root)
    say_status "Jammit", "build/assets"
  end

  app.helpers Jammit::Helpers

end