Class: Xsdvi::Comparison::HtmlGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/xsdvi/comparison/html_generator.rb

Overview

Generates HTML comparison page

Constant Summary collapse

TEMPLATE_PATH =
File.join(__dir__,
"../../../resources/comparison/template.html")

Instance Method Summary collapse

Instance Method Details

#generate(output_dir, java_metadata, ruby_metadata, options = {}) ⇒ String

Generate HTML comparison page

Parameters:

  • output_dir (String)

    Output directory path

  • java_metadata (Hash)

    Java generation metadata

  • ruby_metadata (Hash)

    Ruby generation metadata

  • options (Hash) (defaults to: {})

    Generation options

Options Hash (options):

  • :schema_name (String)

    Schema name for display

Returns:

  • (String)

    Path to generated HTML file



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/xsdvi/comparison/html_generator.rb', line 19

def generate(output_dir, , , options = {})
  template = File.read(TEMPLATE_PATH)

  html = template
    .gsub("{{SCHEMA_NAME}}", options[:schema_name] || "Schema")
    .gsub("{{JAVA_METADATA}}", ())
    .gsub("{{RUBY_METADATA}}", ())
    .gsub("{{STATS_TABLE}}", generate_stats_table(,
                                                  ))
    .gsub("{{ELEMENT_SELECTOR}}", generate_element_selector(
                                    , 
                                  ))
    .gsub("{{IS_MULTI_FILE}}", ([:file_count] > 1).to_s)

  output_file = File.join(output_dir, "comparison.html")
  File.write(output_file, html)

  output_file
end