class WebFontLoader::Modules

Attributes

js_src[RW]
js_test[RW]
modules[R]
project_root[RW]

Public Class Methods

new(*modules) click to toggle source
# 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

Public Instance Methods

all_source_files() click to toggle source
# 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() click to toggle source
# 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) click to toggle source
# 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).gsub(/\n|\r/,"")
end

Protected Instance Methods

config() click to toggle source
# File lib/webfontloader/modules.rb, line 36
def config
  @config ||= begin
    path = File.join(project_root, js_src)
    YAML.load_file(File.join(path, "modules.yml"))
  end
end