class WsdlMapper::Generation::Facade
@abstract
Public Class Methods
new(file:, out:, module_path: [], docs: false, separate_modules: true, namer: nil)
click to toggle source
@param [String] file Full path to the XSD or WSDL file @param [String] out Full path to the desired output directory @param [Array<String>] module_path Array of module names, to use as root module, i.e. `['Foo', 'Bar']` for `Foo::Bar` @param [true, false] docs Set to `true` to generate documentation @param [true, false] separate_modules Set to `true` to separate types and (de)serializers into different modules @param [WsdlMapper::Naming::AbstractNamer] namer Inject a namer instance here to be used
# File lib/wsdl_mapper/generation/facade.rb, line 18 def initialize(file:, out:, module_path: [], docs: false, separate_modules: true, namer: nil) @file = file @out = out @module_path = module_path @docs = docs @separate_modules = separate_modules @namer = namer end
Public Instance Methods
generate()
click to toggle source
# File lib/wsdl_mapper/generation/facade.rb, line 27 def generate generator.generate parser.parse document end
Protected Instance Methods
context()
click to toggle source
# File lib/wsdl_mapper/generation/facade.rb, line 32 def context @context ||= WsdlMapper::Generation::Context.new @out end
document()
click to toggle source
# File lib/wsdl_mapper/generation/facade.rb, line 50 def document @document ||= Nokogiri::XML::Document.parse File.read @file end
generator()
click to toggle source
# File lib/wsdl_mapper/generation/facade.rb, line 46 def generator @generator ||= generator_class.new context, namer: namer end
generator_class()
click to toggle source
# File lib/wsdl_mapper/generation/facade.rb, line 42 def generator_class raise NotImplementedError end
namer()
click to toggle source
# File lib/wsdl_mapper/generation/facade.rb, line 36 def namer @namer ||= @separate_modules ? WsdlMapper::Naming::SeparatingNamer.new(module_path: @module_path) : WsdlMapper::Naming::DefaultNamer.new(module_path: @module_path) end
parser()
click to toggle source
# File lib/wsdl_mapper/generation/facade.rb, line 54 def parser @parser ||= WsdlMapper::DomParsing::Parser.new end