class Requirejs::OptimizedBuild

Public Class Methods

new(scope, file, original_data) click to toggle source
# File lib/requirejs/builds/optimized_build.rb, line 3
def initialize(scope, file, original_data)
  @scope, @file = scope, file
  @original_data = original_data
end

Public Instance Methods

data() click to toggle source
# File lib/requirejs/builds/optimized_build.rb, line 13
def data
  prepare
  ::Requirejs::Runtime.new(build_script).exec
  File.read(config.data[:out])
end
prepare() click to toggle source
# File lib/requirejs/builds/optimized_build.rb, line 8
def prepare
  store_data_to_asset
  copy_assets
end

Private Instance Methods

asset_path(logical_path) click to toggle source
# File lib/requirejs/builds/optimized_build.rb, line 44
def asset_path(logical_path)
  File.join(Requirejs.config.cache_assets_location, logical_path).to_s
end
build_script() click to toggle source
# File lib/requirejs/builds/optimized_build.rb, line 21
def build_script
  build_script_path = File.join(Requirejs.config.gem_root_path, 'lib', 'requirejs', 'builds', 'build.js.erb')
  ERB.new(File.read(build_script_path)).result(binding)
end
config() click to toggle source
# File lib/requirejs/builds/optimized_build.rb, line 52
def config
  @config ||= ::Requirejs::BuildConfig.new(@file)
end
copy_asset(logical_path) click to toggle source
# File lib/requirejs/builds/optimized_build.rb, line 40
def copy_asset(logical_path)
  @scope.environment.find_asset(logical_path).write_to(asset_path(logical_path))
end
copy_asset?(logical_path) click to toggle source
# File lib/requirejs/builds/optimized_build.rb, line 48
def copy_asset?(logical_path)
  !File.exists?(asset_path(logical_path)) && (logical_path =~/.*\.js$/) && (File.basename(logical_path) != File.basename(@file))
end
copy_assets() click to toggle source

Store assets in assets cache dir so we can use them during compilation

# File lib/requirejs/builds/optimized_build.rb, line 34
def copy_assets
  @scope.environment.each_logical_path do |logical_path|
    copy_asset(logical_path) if copy_asset?(logical_path)
  end
end
store_data_to_asset() click to toggle source

Store data in assets cache dir so it will be used in compilation

# File lib/requirejs/builds/optimized_build.rb, line 27
def store_data_to_asset
  File.open(File.join(Requirejs.config.cache_assets_location, File.basename(@file)), 'w') do |f|
    f.write @original_data
  end
end