Class: WebFontLoader::Modules

Inherits:
Object
  • Object
show all
Defined in:
lib/webfontloader/modules.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*modules) ⇒ Modules

Returns a new instance of Modules.



4
5
6
7
8
9
10
11
12
# File 'lib/webfontloader/modules.rb', line 4

def initialize(*modules)
  @project_root = WebFontLoader::ProjectRoot
  @js_src = "src"
  @js_test = "src-test"
  @modules = modules.empty? ? config.keys : modules
  # Make sure 'core' is first.
  @modules.unshift "core"
  @modules.uniq!
end

Instance Attribute Details

#js_srcObject

Returns the value of attribute js_src.



15
16
17
# File 'lib/webfontloader/modules.rb', line 15

def js_src
  @js_src
end

#js_testObject

Returns the value of attribute js_test.



15
16
17
# File 'lib/webfontloader/modules.rb', line 15

def js_test
  @js_test
end

#modulesObject (readonly)

Returns the value of attribute modules.



14
15
16
# File 'lib/webfontloader/modules.rb', line 14

def modules
  @modules
end

#project_rootObject

Returns the value of attribute project_root.



15
16
17
# File 'lib/webfontloader/modules.rb', line 15

def project_root
  @project_root
end

Instance Method Details

#all_source_filesObject



17
18
19
20
21
# File 'lib/webfontloader/modules.rb', line 17

def all_source_files
  @all_source_files ||= begin
    modules.map { |mod| config[mod] }.compact.flatten.map { |f| File.join(js_src, f) }
  end
end

#all_test_globsObject



23
24
25
26
27
28
# File 'lib/webfontloader/modules.rb', line 23

def all_test_globs
  @all_test_globs ||= begin
    js_test_dirs = Dir[File.join(project_root, js_test, "*")].map { |d| File.basename(d) }
    js_test_dirs.map { |dir| File.join(js_test, dir, "*.js") if modules.include?(dir) }.compact
  end
end

#js_output_wrapper(source, version) ⇒ Object



30
31
32
# File 'lib/webfontloader/modules.rb', line 30

def js_output_wrapper(source, version)
  File.read(File.join(js_src, "closure.js")).sub("{{source}}", source).sub("{{version}}", version)
end