Sha256: f9412d504010b6221ef3102a1361b6b9eae26193e3d0eefcf94132ecf5003c75

Contents?: true

Size: 662 Bytes

Versions: 3

Compression:

Stored size: 662 Bytes

Contents

require "jsmin"
require "sprockets"
require "massimo/resource/base"

module Massimo
  class Javascript < Massimo::Resource::Base
    processable!
    
    # Concat the Javascript using Sprockets, then minify using JSmin
    def render
      secretary = Sprockets::Secretary.new(
        :assert_root  => site.output_dir,
        :source_files => [ @source_path.to_s ]
      )
      # install assets if necessary
      secretary.install_assets
      
      # Concatenate the scripts and minify if necessary
      output = secretary.concatenation.to_s
      output = JSMin.minify(output) if site.production? or site.options[:minify]
      output
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
massimo-0.4.6 lib/massimo/javascript.rb
massimo-0.4.5 lib/massimo/javascript.rb
massimo-0.4.4 lib/massimo/javascript.rb