Class: Xsdvi::Comparison::DualGenerator
- Inherits:
-
Object
- Object
- Xsdvi::Comparison::DualGenerator
- Defined in:
- lib/xsdvi/comparison/dual_generator.rb
Overview
Orchestrates dual generation with Java and Ruby XsdVi
Instance Attribute Summary collapse
-
#output_dir ⇒ Object
readonly
Returns the value of attribute output_dir.
-
#xsd_file ⇒ Object
readonly
Returns the value of attribute xsd_file.
Instance Method Summary collapse
-
#generate ⇒ Hash
Generate comparison.
-
#initialize(xsd_file, options = {}) ⇒ DualGenerator
constructor
A new instance of DualGenerator.
Constructor Details
#initialize(xsd_file, options = {}) ⇒ DualGenerator
Returns a new instance of DualGenerator.
12 13 14 15 16 17 18 |
# File 'lib/xsdvi/comparison/dual_generator.rb', line 12 def initialize(xsd_file, = {}) @xsd_file = xsd_file @root = [:root_node_name] @output_dir = [:output_path] || default_output_dir @skip_java = [:skip_java] @skip_ruby = [:skip_ruby] end |
Instance Attribute Details
#output_dir ⇒ Object (readonly)
Returns the value of attribute output_dir.
10 11 12 |
# File 'lib/xsdvi/comparison/dual_generator.rb', line 10 def output_dir @output_dir end |
#xsd_file ⇒ Object (readonly)
Returns the value of attribute xsd_file.
10 11 12 |
# File 'lib/xsdvi/comparison/dual_generator.rb', line 10 def xsd_file @xsd_file end |
Instance Method Details
#generate ⇒ Hash
Generate comparison
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/xsdvi/comparison/dual_generator.rb', line 22 def generate validate_inputs setup_directories # Generate Java output java_start = Time.now generate_java unless @skip_java java_time = Time.now - java_start # Generate Ruby output ruby_start = Time.now generate_ruby unless @skip_ruby ruby_time = Time.now - ruby_start # Extract metadata = (java_dir) = (ruby_dir) # Add timing info [:generation_time] = java_time.round(2) unless @skip_java [:generation_time] = ruby_time.round(2) unless @skip_ruby # Generate HTML comparison html_file = generate_html(, ) { output_dir: @output_dir, html_file: html_file, java: , ruby: , } end |