class AdsCommon::Build::SavonAbstractGenerator
Public Class Methods
new(args)
click to toggle source
# File lib/ads_common/build/savon_abstract_generator.rb, line 26 def initialize(args) if self.class() == AdsCommon::Build::SavonAbstractGenerator raise NoMethodError, "Tried to instantiate an abstract class" end @require_path = args[:require_path] @api_name = args[:api_name] @version = args[:version] @service_name = args[:service_name] @namespace = args[:namespace] prepare_template_strings() end
Public Instance Methods
generate_code()
click to toggle source
# File lib/ads_common/build/savon_abstract_generator.rb, line 38 def generate_code() code = ERB.new(get_code_template(), 0, '%<>') return remove_lines_with_blanks_only(code.result(binding)) end
get_code_template()
click to toggle source
# File lib/ads_common/build/savon_abstract_generator.rb, line 43 def get_code_template() raise NotImplementedError end
Private Instance Methods
prepare_template_strings()
click to toggle source
# File lib/ads_common/build/savon_abstract_generator.rb, line 49 def prepare_template_strings() @generator_stamp = "Code generated by AdsCommon library %s on %s." % [AdsCommon::ApiConfig::CLIENT_LIB_VERSION, Time.now.strftime("%Y-%m-%d %H:%M:%S")] @modules_open_string = 'module ' + [@api_name, @version.to_s.upcase, @service_name].join('; module ') @modules_close_string = 'end; end; end' @year = Time.now.year end
remove_lines_with_blanks_only(text)
click to toggle source
# File lib/ads_common/build/savon_abstract_generator.rb, line 59 def remove_lines_with_blanks_only(text) return text.gsub(/\n\ +$/, '') end