Class: WsdlMapper::SvcGeneration::ProxyGenerator

Inherits:
GeneratorBase show all
Defined in:
lib/wsdl_mapper/svc_generation/proxy_generator.rb

Direct Known Subclasses

DocumentedProxyGenerator

Instance Method Summary (collapse)

Methods inherited from GeneratorBase

#initialize

Methods inherited from Generation::Base

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

Constructor Details

This class inherits a constructor from WsdlMapper::SvcGeneration::GeneratorBase

Instance Method Details

- (Object) generate_async_operation(f, op)



36
37
38
39
40
41
# File 'lib/wsdl_mapper/svc_generation/proxy_generator.rb', line 36

def generate_async_operation(f, op)
  name = op.property_name.attr_name
  f.in_def name + '_async', ['args_promise'] do
    f.call '@_api._call_async', "@_port.#{name}", 'args_promise'
  end
end

- (Object) generate_operation(f, op)



43
44
45
46
47
48
# File 'lib/wsdl_mapper/svc_generation/proxy_generator.rb', line 43

def generate_operation(f, op)
  name = op.property_name.attr_name
  f.in_def name, ['body, *args'] do
    f.call '@_api._call', "@_port.#{name}", 'body', '*args'
  end
end

- (Object) generate_proxy(service, port, ops, result)



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/wsdl_mapper/svc_generation/proxy_generator.rb', line 6

def generate_proxy(service, port, ops, result)
  modules = get_module_names service.name
  proxy_name = service_namer.get_proxy_name(service.type, port.type)

  type_file_for proxy_name, result do |f|
    f.requires proxy_base.require_path,
      port.name.require_path,
      *operation_requires(ops)

    f.in_modules modules do
      f.in_class service.name.class_name do
        generate_proxy_class f, ops, proxy_name, port
      end
    end
  end
end

- (Object) generate_proxy_class(f, ops, proxy_name, port)



27
28
29
30
31
32
33
34
# File 'lib/wsdl_mapper/svc_generation/proxy_generator.rb', line 27

def generate_proxy_class(f, ops, proxy_name, port)
  f.in_sub_class proxy_name.class_name, proxy_base.name do
    ops.each do |op|
      generate_operation f, op
      generate_async_operation f, op
    end
  end
end

- (Object) operation_requires(ops)



23
24
25
# File 'lib/wsdl_mapper/svc_generation/proxy_generator.rb', line 23

def operation_requires(ops)
  []
end