class Embork::Environment

Attributes

bundle_version[R]
sprockets_environment[R]
use_bundled_assets[R]

Public Class Methods

new(borkfile, options = {}) click to toggle source
# File lib/embork/environment.rb, line 23
def initialize(borkfile, options = {})
  @borkfile = borkfile

  setup_sprockets

  if !@borkfile.es6_namespace.nil?
    Embork::Sprockets::ES6ModuleTranspiler.namespace = @borkfile.es6_namespace
    Embork::Sprockets::EmberHandlebarsCompiler.namespace = @borkfile.es6_namespace
  end
end

Public Instance Methods

setup_compressor() click to toggle source
# File lib/embork/environment.rb, line 99
def setup_compressor
  if @borkfile.compressor == :closure_compiler
    @sprockets_environment.register_bundle_processor 'application/javascript',
      Embork::Sprockets::ClosureCompiler
  elsif @borkfile.compressor == :uglify
    @sprockets_environment.js_compressor = :uglify
  elsif @borkfile.compressor
    @sprockets_environment.register_bundle_processor 'application/javascript',
      @borkfile.compressor
  end
end
setup_engines() click to toggle source
# File lib/embork/environment.rb, line 86
def setup_engines
  @borkfile.sprockets_engines.each do |engine|
    @sprockets_environment.register_engine engine[:extension], engine[:klass]
  end
end
setup_frameworks() click to toggle source
# File lib/embork/environment.rb, line 92
def setup_frameworks
  @borkfile.frameworks.each do |framework|
    method = ('load_%s_framework' % framework).to_sym
    self.send method, @sprockets_environment
  end
end
setup_helpers() click to toggle source
# File lib/embork/environment.rb, line 67
def setup_helpers
  @borkfile.helpers.each do |helper_proc|
    Embork::Sprockets::Helpers.class_eval &helper_proc
  end
  @sprockets_environment.context_class.class_eval do
    include Embork::Sprockets::Helpers
    extend Embork::Sprockets::Helpers::ClassMethods
  end
end
setup_paths() click to toggle source
# File lib/embork/environment.rb, line 61
def setup_paths
  @borkfile.asset_paths.each do |path|
    @sprockets_environment.append_path path
  end
end
setup_processors() click to toggle source
# File lib/embork/environment.rb, line 77
def setup_processors
  @borkfile.sprockets_postprocessors.each do |processor|
    @sprockets_environment.register_postprocessor processor[:mime_type], processor[:klass]
  end
  @borkfile.sprockets_preprocessors.each do |processor|
    @sprockets_environment.register_preprocessor processor[:mime_type], processor[:klass]
  end
end
setup_sprockets() click to toggle source
# File lib/embork/environment.rb, line 34
def setup_sprockets
  @sprockets_environment = Sprockets::Environment.new @borkfile.project_root
  cache_path = File.join @borkfile.project_root, '.cache'
  @sprockets_environment.cache = ErblessCache.new(cache_path)

  setup_sprockets_defaults

  setup_paths
  setup_helpers
  setup_processors
  setup_engines
  setup_frameworks
  setup_transforms
  setup_compressor if @borkfile.compressor
end
setup_sprockets_defaults() click to toggle source
# File lib/embork/environment.rb, line 54
def setup_sprockets_defaults
  @sprockets_environment.register_postprocessor 'application/javascript', Embork::Sprockets::ES6ModuleTranspiler
  @sprockets_environment.register_engine '.hbs', Embork::Sprockets::EmberHandlebarsCompiler
  @sprockets_environment.register_engine '.handlebars', Embork::Sprockets::EmberHandlebarsCompiler
  ::Tilt::CoffeeScriptTemplate.default_bare = true
end
setup_transforms() click to toggle source
# File lib/embork/environment.rb, line 50
def setup_transforms
  Embork::Sprockets::ES6ModuleTranspiler.transform = @borkfile.es6_transform
end