X-Git-Url: https://git.donarmstrong.com/?p=dsa-puppet.git;a=blobdiff_plain;f=3rdparty%2Fmodules%2Faviator%2Ffeature%2Faviator%2Fcore%2Frequest_builder.rb;fp=3rdparty%2Fmodules%2Faviator%2Ffeature%2Faviator%2Fcore%2Frequest_builder.rb;h=0000000000000000000000000000000000000000;hp=249cf1699ddfdaa95ca0b85371e3264c1dec0660;hb=706621d7a3318aef2d3a0b3665d08a98fdd9a458;hpb=6eb028a997c0756fdd3d27a16297180db269631b diff --git a/3rdparty/modules/aviator/feature/aviator/core/request_builder.rb b/3rdparty/modules/aviator/feature/aviator/core/request_builder.rb deleted file mode 100644 index 249cf169..00000000 --- a/3rdparty/modules/aviator/feature/aviator/core/request_builder.rb +++ /dev/null @@ -1,89 +0,0 @@ -module Aviator - - class BaseRequestNotFoundError < StandardError - attr_reader :base_request_hierarchy - - def initialize(base_hierarchy) - @base_request_hierarchy = base_hierarchy - super("#{ base_request_hierarchy } could not be found!") - end - end - - - class RequestAlreadyDefinedError < StandardError - attr_reader :namespace, - :request_name - - def initialize(namespace, request_name) - @namespace = namespace - @request_name = request_name - super("#{ namespace }::#{ request_name } is already defined") - end - end - - - class RequestBuilder - - class << self - - def define_request(root_namespace, request_name, options, &block) - base_klass = get_request_class(root_namespace, options[:inherit]) - - klass = Class.new(base_klass, &block) - - namespace_arr = [ - klass.provider, - klass.service, - klass.api_version, - klass.endpoint_type - ] - - namespace = namespace_arr.inject(root_namespace) do |namespace, sym| - const_name = sym.to_s.camelize - namespace.const_set(const_name, Module.new) unless namespace.const_defined?(const_name, false) - namespace.const_get(const_name, false) - end - - klassname = request_name.to_s.camelize - - if namespace.const_defined?(klassname, false) - raise RequestAlreadyDefinedError.new(namespace, klassname) - end - - namespace.const_set(klassname, klass) - end - - - def get_request_class(root_namespace, request_class_arr) - request_class_arr.inject(root_namespace) do |namespace, sym| - namespace.const_get(sym.to_s.camelize, false) - end - rescue NameError => e - arr = ['..', '..'] + request_class_arr - arr[-1,1] = arr.last.to_s + '.rb' - path = Pathname.new(__FILE__).join(*arr.map{|i| i.to_s }).expand_path - - if path.exist? - require path - request_class_arr.inject(root_namespace) do |namespace, sym| - namespace.const_get(sym.to_s.camelize, false) - end - else - raise BaseRequestNotFoundError.new(request_class_arr) - end - end - - end - - end - - - class << self - - def define_request(request_name, options={ :inherit => [:request] }, &block) - RequestBuilder.define_request self, request_name, options, &block - end - - end # class << self - -end \ No newline at end of file