Class: Rails::Schema::Renderer::HtmlGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/rails/schema/renderer/html_generator.rb

Constant Summary collapse

ASSETS_DIR =
File.expand_path("../../schema/assets", __dir__)

Instance Method Summary collapse

Constructor Details

#initialize(graph_data:, configuration: ::Rails::Schema.configuration) ⇒ HtmlGenerator

Returns a new instance of HtmlGenerator.



13
14
15
16
# File 'lib/rails/schema/renderer/html_generator.rb', line 13

def initialize(graph_data:, configuration: ::Rails::Schema.configuration)
  @graph_data = graph_data
  @configuration = configuration
end

Instance Method Details

#renderObject



18
19
20
21
22
# File 'lib/rails/schema/renderer/html_generator.rb', line 18

def render
  template = File.read(File.join(ASSETS_DIR, "template.html.erb"))
  erb = ERB.new(template)
  erb.result(binding)
end

#render_to_file(path = nil) ⇒ Object



24
25
26
27
28
29
# File 'lib/rails/schema/renderer/html_generator.rb', line 24

def render_to_file(path = nil)
  path ||= @configuration.output_path
  FileUtils.mkdir_p(File.dirname(path))
  File.write(path, render)
  path
end