Class: WebFontLoader::Modules
- Inherits:
-
Object
- Object
- WebFontLoader::Modules
- Defined in:
- lib/webfontloader/modules.rb
Instance Attribute Summary collapse
-
#js_src ⇒ Object
Returns the value of attribute js_src.
-
#js_test ⇒ Object
Returns the value of attribute js_test.
-
#modules ⇒ Object
readonly
Returns the value of attribute modules.
-
#project_root ⇒ Object
Returns the value of attribute project_root.
Instance Method Summary collapse
- #all_source_files ⇒ Object
- #all_test_globs ⇒ Object
-
#initialize(*modules) ⇒ Modules
constructor
A new instance of Modules.
- #js_output_wrapper(source, version) ⇒ Object
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_src ⇒ Object
Returns the value of attribute js_src.
15 16 17 |
# File 'lib/webfontloader/modules.rb', line 15 def js_src @js_src end |
#js_test ⇒ Object
Returns the value of attribute js_test.
15 16 17 |
# File 'lib/webfontloader/modules.rb', line 15 def js_test @js_test end |
#modules ⇒ Object (readonly)
Returns the value of attribute modules.
14 15 16 |
# File 'lib/webfontloader/modules.rb', line 14 def modules @modules end |
#project_root ⇒ Object
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_files ⇒ Object
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_globs ⇒ Object
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 |