Sha256: d4ce909a8d4f1d13ff7a1aeb0cdde23e74a391afa8beab8bbfedd6c162f84c29

Contents?: true

Size: 1.51 KB

Versions: 3

Compression:

Stored size: 1.51 KB

Contents

require 'sprockets'
require 'fileutils'

class Jax::Packager
  include FileUtils
  attr_reader :pkg_path, :path, :project
  autoload :SprocketsTemplate, File.join(File.dirname(__FILE__), "packager/sprockets_template")
  
  class << self
    def invoke
      puts "DEPRECATED"
      puts
      puts "Please invoke the Jax packager with the following command:"
      puts
      puts "  jax package"
      puts
      puts "This notice will be removed sometime around Jax v1.2."
      puts
      puts
      
      Jax::Generators::Packager::PackageGenerator.start([])
    end
  end
  
  def build!
    @secretary.preprocessor.require(project)
    
    mkdir_p File.dirname(@path)
    @secretary.concatenation.save_to @path
    
    file = File.open(@path, "a")
    Jax.application.shaders.each { |shader| shader.save_to file }
    Jax::ResourceCompiler.new.save(file)
    Jax.application.routes.compile(file)
    
    file.close
    
    @secretary.install_assets
  end
  
  def initialize(pkg_path)
    @pkg_path = pkg_path
    @manifest = []
    
    @path = File.join(@pkg_path, "javascripts/#{Jax.application.class.name.underscore}.js")
    @secretary = Sprockets::Secretary.new(
            :root => Jax.root,
            :asset_root => @pkg_path.to_s,
            :load_path => Jax.application.javascript_load_paths,
            :source_files => []
    )
    @project = Jax::Packager::SprocketsTemplate.new(@secretary.environment)
  end
  
  private
  def localized_path(fi)
    fi.gsub(/^#{Regexp::escape Jax.root.to_s}[\/\\]?/, '')
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
jax-1.1.1 lib/jax/packager.rb
jax-1.1.0 lib/jax/packager.rb
jax-1.1.0.rc1 lib/jax/packager.rb