Class: Liquid::Rails::FileSystem

Inherits:
Object
  • Object
show all
Defined in:
lib/liquid-rails/file_system.rb

Instance Method Summary collapse

Constructor Details

#initialize(view) ⇒ FileSystem

Returns a new instance of FileSystem.



6
7
8
# File 'lib/liquid-rails/file_system.rb', line 6

def initialize(view)
  @view = view
end

Instance Method Details

#read_template_file(template_path) ⇒ Object

Raises:

  • (FileSystemError)


10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/liquid-rails/file_system.rb', line 10

def read_template_file(template_path)
  controller_path = view.controller_path
  template_path   = "#{controller_path}/#{template_path}" unless template_path.include?('/')

  name    = template_path.split('/').last
  prefix  = template_path.split('/')[0...-1].join('/')

  result  = view.view_paths.find_all(name, prefix, true, lookup_details)
  raise FileSystemError, "No such template '#{template_path}'" unless result.present?

  result.first.source
end