class AdsCommon::Build::SavonRegistryGenerator

Constants

REGISTRY_TEMPLATE

Public Class Methods

new(args) click to toggle source
# 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

Public Instance Methods

add_exceptions(exceptions) click to toggle source
# File lib/ads_common/build/savon_registry_generator.rb, line 102
def add_exceptions(exceptions)
  @exceptions += exceptions
end
add_methods(methods) click to toggle source
# File lib/ads_common/build/savon_registry_generator.rb, line 106
def add_methods(methods)
  @methods += methods
end
add_namespaces(namespaces) click to toggle source
# File lib/ads_common/build/savon_registry_generator.rb, line 114
def add_namespaces(namespaces)
  @namespaces += namespaces
end
add_types(types) click to toggle source
# File lib/ads_common/build/savon_registry_generator.rb, line 110
def add_types(types)
  @types += types
end
get_code_template() click to toggle source
# File lib/ads_common/build/savon_registry_generator.rb, line 98
def get_code_template()
  REGISTRY_TEMPLATE
end

Private Instance Methods

format_array(objects_array) click to toggle source

Prepares string representing a simple array.

# File lib/ads_common/build/savon_registry_generator.rb, line 138
def format_array(objects_array)
  return (objects_array.nil?) ? '[]' : PP.singleline_pp(objects_array, '')
end
format_doc(doc) click to toggle source

Multi-line documentation formatter. Used to format text extracted from XML into stripped multi-line text.

# File lib/ads_common/build/savon_registry_generator.rb, line 122
def format_doc(doc)
  res = []
  doc.split(/\n/).each do |line|
    line = line.strip();
    res << line if !(line.empty?)
  end
  return res
end
format_signature(objects_array) click to toggle source

Prepares a hash string based on array of hashes passed.

# File lib/ads_common/build/savon_registry_generator.rb, line 132
def format_signature(objects_array)
  objects_hash = get_hash_for_names_array(objects_array)
  return PP.singleline_pp(objects_hash, '')
end
get_hash_for_names_array(input) click to toggle source

Converts an array of hashes to a hash based on “:name” fields:

{:name => 'foo', :data => 'bar'}

> {:foo => {:data => 'bar'}}

# File lib/ads_common/build/savon_registry_generator.rb, line 144
def get_hash_for_names_array(input)
  return input.inject({}) do |output, e|
    key = e[:name].to_sym
    output[key] = e.reject {|k, v| k.equal?(:name)}
    output
  end
end