Class: AdsCommon::Build::SavonRegistryGenerator
- Inherits:
-
SavonAbstractGenerator
- Object
- SavonAbstractGenerator
- AdsCommon::Build::SavonRegistryGenerator
- Defined in:
- lib/ads_common/build/savon_registry_generator.rb
Constant Summary collapse
- REGISTRY_TEMPLATE =
%q{<% %> # Encoding: utf-8 # # This is auto-generated code, changes will be overwritten. # # Copyright:: Copyright <%= @year %>, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # # <%= @generator_stamp %> require '<%= @api_name.snakecase %>/errors' <%= @modules_open_string %> class <%= @service_name %>Registry <%= @service_name.upcase %>_METHODS = <%= format_signature(@methods) %> <%= @service_name.upcase %>_TYPES = <%= format_signature(@types) %> <%= @service_name.upcase %>_NAMESPACES = <%= format_array(@namespaces) %> def self.get_method_signature(method_name) return <%= @service_name.upcase %>_METHODS[method_name.to_sym] end def self.get_type_signature(type_name) return <%= @service_name.upcase %>_TYPES[type_name.to_sym] end def self.get_namespace(index) return <%= @service_name.upcase %>_NAMESPACES[index] end end <% @exceptions.each do |exception| %> <% array_fields = [] %> <% doc_lines = format_doc(exception[:doc]) %> <% doc_lines.each do |doc_line| %> # <%= doc_line %> <% end %> <% base_text = (exception[:base].nil?) ? @default_exception_base : exception[:base] %> class <%= exception[:name] %> < <%= base_text %> <% exception[:fields].each do |field| %> attr_reader :<%= field[:name] %> # <%= field[:type] %> <% is_array_field = (field[:max_occurs].nil?) ? false : ((field[:max_occurs] == :unbounded) || (field[:max_occurs] > 1)) %> <% array_fields << field[:name] if is_array_field %> <% end %> <% if !(array_fields.empty?) %> def initialize(exception_fault) @array_fields ||= [] <% array_fields.each do |field| %> @array_fields << '<%= field.to_s %>' <% end %> super(exception_fault, <%= @service_name %>Registry) end <% end %> end <% end %> <%= @modules_close_string %> }.gsub(/^ /, '')
Instance Method Summary collapse
- #add_exceptions(exceptions) ⇒ Object
- #add_methods(methods) ⇒ Object
- #add_namespaces(namespaces) ⇒ Object
- #add_types(types) ⇒ Object
- #get_code_template ⇒ Object
-
#initialize(args) ⇒ SavonRegistryGenerator
constructor
A new instance of SavonRegistryGenerator.
Methods inherited from SavonAbstractGenerator
Constructor Details
#initialize(args) ⇒ SavonRegistryGenerator
Returns a new instance of SavonRegistryGenerator.
89 90 91 92 93 94 95 96 |
# File 'lib/ads_common/build/savon_registry_generator.rb', line 89 def initialize(args) super(args) @exceptions = [] @methods = [] @types = [] @namespaces = [] @default_exception_base = "%s::Errors::ApiException" % @api_name end |
Instance Method Details
#add_exceptions(exceptions) ⇒ Object
102 103 104 |
# File 'lib/ads_common/build/savon_registry_generator.rb', line 102 def add_exceptions(exceptions) @exceptions += exceptions end |
#add_methods(methods) ⇒ Object
106 107 108 |
# File 'lib/ads_common/build/savon_registry_generator.rb', line 106 def add_methods(methods) @methods += methods end |
#add_namespaces(namespaces) ⇒ Object
114 115 116 |
# File 'lib/ads_common/build/savon_registry_generator.rb', line 114 def add_namespaces(namespaces) @namespaces += namespaces end |
#add_types(types) ⇒ Object
110 111 112 |
# File 'lib/ads_common/build/savon_registry_generator.rb', line 110 def add_types(types) @types += types end |
#get_code_template ⇒ Object
98 99 100 |
# File 'lib/ads_common/build/savon_registry_generator.rb', line 98 def get_code_template() REGISTRY_TEMPLATE end |