Class: JsRender::AssetFinder::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/js_render/asset_finder/base.rb

Direct Known Subclasses

Rails::AssetFinder

Instance Method Summary collapse

Instance Method Details

#find_files(component_name) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
# File 'lib/js_render/asset_finder/base.rb', line 4

def find_files(component_name)
  base_path = JsRender.config.base_path
  paths = JsRender.config.component_paths
  suffix = JsRender.config.component_suffix

  paths.map do |path|
    Dir[File.join(base_path, path)].select do |full_path|
      full_path.match Regexp.new("/#{component_name}#{suffix}")
    end
  end.compact.flatten.uniq
end

#read(path) ⇒ Object



21
22
23
24
25
26
27
# File 'lib/js_render/asset_finder/base.rb', line 21

def read(path)
  if File.file? path
    File.read path
  else
    raise JsRender::Errors::AssetFileNotFound.new "Asset \"#{path}\" does not exist."
  end
end

#read_files(component_name) ⇒ Object



16
17
18
19
# File 'lib/js_render/asset_finder/base.rb', line 16

def read_files(component_name)
  files = find_files component_name
  files.map { |file| read file }.join('')
end