Class: WsdlMapper::SvcGeneration::PortGenerator
- Inherits:
-
GeneratorBase
show all
- Defined in:
- lib/wsdl_mapper/svc_generation/port_generator.rb
Instance Method Summary
(collapse)
#initialize
#append_file_for, #file, #file_for, #generate_name, #get_formatter, #get_module_names, #get_type_name, #initialize, #type_file_for
Instance Method Details
- (Object) generate_port(service, port, result)
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/wsdl_mapper/svc_generation/port_generator.rb', line 6
def generate_port(service, port, result)
modules = get_module_names service.name
ops = port.type.binding.each_operation.map do |op|
TypeToGenerate.new op, service_namer.get_operation_name(service.type, port.type, op), service_namer.get_property_name(op)
end
proxy_generator.generate_proxy service, port, ops, result
ops.each do |op|
operation_generator.generate_operation service, port, op, result
end
type_file_for port.name, result do |f|
f.requires port_base.require_path
f.in_modules modules do
f.in_class service.name.class_name do
generate_port_class f, ops, port
end
end
end
end
|
- (Object) generate_port_class(f, ops, port)
29
30
31
32
33
34
35
|
# File 'lib/wsdl_mapper/svc_generation/port_generator.rb', line 29
def generate_port_class(f, ops, port)
f.in_sub_class port.name.class_name, port_base.name do
f.requires *ops.map { |op| op.name.require_path }
generate_port_operation_accessors f, ops
generate_port_ctr f, ops, port
end
end
|
- (Object) generate_port_ctr(f, ops, port)
37
38
39
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/wsdl_mapper/svc_generation/port_generator.rb', line 37
def generate_port_ctr(f, ops, port)
f.in_def :initialize, 'api', 'service' do
f.call :super, 'api', 'service'
f.assignment '@_style', port.type.binding.style.inspect
f.assignment '@_transport', port.type.binding.transport.inspect
f.assignment '@_soap_address', port.type.address_location.inspect
ops.each do |op|
f.assignment op.property_name.var_name, op.name.name + '.new(api, service, self)'
f.statement "@_operations << #{op.property_name.var_name}"
end
end
end
|
- (Object) generate_port_operation_accessors(f, ops)
51
52
53
|
# File 'lib/wsdl_mapper/svc_generation/port_generator.rb', line 51
def generate_port_operation_accessors(f, ops)
f.attr_readers *ops.map { |op| op.property_name.attr_name }
end
|