Class: WsdlMapper::S8rGeneration::S8rGenerator

Inherits:
Generation::Base show all
Includes:
Generation
Defined in:
lib/wsdl_mapper/s8r_generation/s8r_generator.rb

Instance Attribute Summary (collapse)

Instance Method Summary (collapse)

Methods inherited from Generation::Base

#append_file_for, #file, #file_for, #generate_name, #get_formatter, #get_module_names, #get_type_name, #type_file_for

Constructor Details

- (S8rGenerator) initialize(context, skip_modules: false, namer: WsdlMapper::Naming::DefaultNamer.new, formatter_factory: DefaultFormatter, module_generator_factory: DefaultModuleGenerator)

Returns a new instance of S8rGenerator



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/wsdl_mapper/s8r_generation/s8r_generator.rb', line 17

def initialize(context,
  skip_modules: false,
  namer: WsdlMapper::Naming::DefaultNamer.new,
  formatter_factory: DefaultFormatter,
  module_generator_factory: DefaultModuleGenerator)

  super(context)

  @namer = namer
  @formatter_factory = formatter_factory
  @module_generator = module_generator_factory.new self
  @type_directory_name = namer.get_s8r_type_directory_name
  @serializer_name = namer.get_global_s8r_name
  @skip_modules = skip_modules
end

Instance Attribute Details

- (Object) context (readonly)

Returns the value of attribute context



15
16
17
# File 'lib/wsdl_mapper/s8r_generation/s8r_generator.rb', line 15

def context
  @context
end

Instance Method Details

- (Object) generate(schema)



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/wsdl_mapper/s8r_generation/s8r_generator.rb', line 33

def generate(schema)
  result = Result.new schema: schema

  generate_type_directory schema, result
  generate_serializer_factory schema, result

  schema.each_type do |type|
    generate_type type, result
  end

  unless @skip_modules
    result.module_tree.each do |module_node|
      @module_generator.generate module_node, result
    end
  end

  result
end