ministryofjustice/atet

View on GitHub
app/presenters/guide_presenter.rb

Summary

Maintainability
A
0 mins
Test Coverage
class GuidePresenter
  def initialize(file_paths, renderer)
    @files = file_paths
    @renderer = renderer
  end

  def each_rendered_file(&_block)
    @files.each do |file|
      html_output = render(file)
      basename = file_name_without_extension(file)
      yield(basename, html_output)
    end
  end

  def file_names
    @files.map { |file| file_name_without_extension(file) }
  end

  private

  def file_name_without_extension(file)
    File.basename(file).split(".").first
  end

  def render(file)
    @renderer.render(contents_of(file))
  end

  def contents_of(file_path)
    File.read file_path
  end
end