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