Module: Gluey::Glues

Defined in:
lib/gluey/glues/base.rb,
lib/gluey/glues/sass.rb,
lib/gluey/glues/script.rb,
lib/gluey/glues/js_script.rb,
lib/gluey/glues/js_script/handlebars_addons.rb

Defined Under Namespace

Classes: Base, JsScript, Sass, Script

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.load(name, *addons_names) ⇒ Object



20
21
22
23
# File 'lib/gluey/glues/base.rb', line 20

def self.load(name, *addons_names)
  require_relative name
  addons_names.flatten.each{|an| require_relative "#{name}/#{an}_addons" }
end

Instance Method Details

#pre_replace_with_texts_bundle(args) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/gluey/glues/js_script.rb', line 36

def pre_replace_with_texts_bundle(args)
  dir = File.expand_path("../#{args[1]}", @base_file)
  raise "cannot find relative path #{args[1]} for script=#{@base_file}" unless dir && Dir.exists?(dir)

  logical_path = dir[/(?:^#{@context.root_path}\/)?(.+)$/, 1]
  key = "dep:txt_bundle:#{logical_path}:#{@material.name}"
  hb_dep = @context.cache[key]
  unless hb_dep
    hb_dep = ::Gluey::Dependencies::TextsBundle.new dir, logical_path, @context
    @context.cache[key] = hb_dep
  end

  hb_dep.actualize if hb_dep.changed?
  @dependencies << hb_dep
  @script.gsub! /"%#{args[0]}%"/, File.read(hb_dep.file)
end