class CatHerder::Assets::ErbAsset
Public Instance Methods
read()
click to toggle source
# File lib/cat_herder/assets/erb_asset.rb, line 15 def read public_file.read end
write()
click to toggle source
# File lib/cat_herder/assets/erb_asset.rb, line 9 def write result, dependencies = evaluate_erb write_metadata(digest: digest_class.hexdigest(result), dependencies: dependencies) public_file.tap { |file| file.dirname.mkpath }.write(result) end
Private Instance Methods
evaluate_erb()
click to toggle source
# File lib/cat_herder/assets/erb_asset.rb, line 20 def evaluate_erb ruby = Assets.cache.fetch([self, "ruby"], version: source_mtime) do require "erubi" Erubi::Engine.new(File.read(source_path), filename: source_path).src end context = ErbContext.new(logical_path) [context.instance_eval(ruby), context._dependencies] end