Module: Roda::RodaPlugins::Assets::ClassMethods

Defined in:
lib/roda/plugins/assets.rb

Instance Method Summary collapse

Instance Method Details

#assets_optsObject

Return the assets options for this class.



364
365
366
# File 'lib/roda/plugins/assets.rb', line 364

def assets_opts
  opts[:assets]
end

#compile_assets(type = nil) ⇒ Object

Compile options for the given asset type. If no asset_type is given, compile both the :css and :js asset types. You can specify an array of types (e.g. [:css, :frontend]) to compile assets for the given asset group.



372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
# File 'lib/roda/plugins/assets.rb', line 372

def compile_assets(type=nil)
  require 'fileutils'

  unless assets_opts[:compiled]
    opts[:assets] = assets_opts.merge(:compiled => {})
  end

  if type == nil
    _compile_assets(:css)
    _compile_assets(:js)
  else
    _compile_assets(type)
  end

  if assets_opts[:precompiled]
    require 'json'
    ::FileUtils.mkdir_p(File.dirname(assets_opts[:precompiled]))
    ::File.open(assets_opts[:precompiled], 'wb'){|f| f.write(assets_opts[:compiled].to_json)}
  end

  assets_opts[:compiled]
end