Module: Roda::RodaPlugins::Assets::ClassMethods
- Defined in:
- lib/roda/plugins/assets.rb
Instance Method Summary collapse
-
#assets_opts ⇒ Object
Return the assets options for this class.
-
#compile_assets(type = nil) ⇒ Object
Compile options for the given asset type.
Instance Method Details
#assets_opts ⇒ Object
Return the assets options for this class.
502 503 504 |
# File 'lib/roda/plugins/assets.rb', line 502 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.
510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 |
# File 'lib/roda/plugins/assets.rb', line 510 def compile_assets(type=nil) require 'fileutils' unless assets_opts[:compiled] opts[:assets] = assets_opts.merge(:compiled => _compiled_assets_initial_hash).freeze end if type == nil _compile_assets(:css) _compile_assets(:js) else _compile_assets(type) end if precompile_file = assets_opts[:precompiled] require 'json' ::FileUtils.mkdir_p(File.dirname(precompile_file)) tmp_file = "#{precompile_file}.tmp" ::File.open(tmp_file, 'wb'){|f| f.write((opts[:json_serializer] || :to_json.to_proc).call(assets_opts[:compiled]))} ::File.rename(tmp_file, precompile_file) end assets_opts[:compiled] end |