[Fog|Core] Move fog/core/parser to fog-xml gem
This commit is contained in:
parent
7d0d7c01ae
commit
040ca09632
|
@ -10,7 +10,6 @@ require 'fog/core'
|
||||||
# data exchange specific (to be extracted and used on a per provider basis)
|
# data exchange specific (to be extracted and used on a per provider basis)
|
||||||
require 'fog/xml'
|
require 'fog/xml'
|
||||||
require 'fog/json'
|
require 'fog/json'
|
||||||
require 'fog/core/parser'
|
|
||||||
|
|
||||||
# deprecation wrappers (XML wrapped version)
|
# deprecation wrappers (XML wrapped version)
|
||||||
require 'fog/core/deprecated/connection'
|
require 'fog/core/deprecated/connection'
|
||||||
|
|
|
@ -86,8 +86,6 @@ module Fog
|
||||||
# * AutoScaling object with connection to AWS.
|
# * AutoScaling object with connection to AWS.
|
||||||
|
|
||||||
def initialize(options={})
|
def initialize(options={})
|
||||||
require 'fog/core/parser'
|
|
||||||
|
|
||||||
@use_iam_profile = options[:use_iam_profile]
|
@use_iam_profile = options[:use_iam_profile]
|
||||||
|
|
||||||
@connection_options = options[:connection_options] || {}
|
@connection_options = options[:connection_options] || {}
|
||||||
|
|
|
@ -64,7 +64,6 @@ module Fog
|
||||||
class Real
|
class Real
|
||||||
include Fog::AWS::CredentialFetcher::ConnectionMethods
|
include Fog::AWS::CredentialFetcher::ConnectionMethods
|
||||||
def initialize(options={})
|
def initialize(options={})
|
||||||
require 'fog/core/parser'
|
|
||||||
|
|
||||||
@use_iam_profile = options[:use_iam_profile]
|
@use_iam_profile = options[:use_iam_profile]
|
||||||
|
|
||||||
|
|
|
@ -142,7 +142,6 @@ EOF
|
||||||
# ==== Returns
|
# ==== Returns
|
||||||
# * cdn object with connection to aws.
|
# * cdn object with connection to aws.
|
||||||
def initialize(options={})
|
def initialize(options={})
|
||||||
require 'fog/core/parser'
|
|
||||||
|
|
||||||
@use_iam_profile = options[:use_iam_profile]
|
@use_iam_profile = options[:use_iam_profile]
|
||||||
setup_credentials(options)
|
setup_credentials(options)
|
||||||
|
|
|
@ -46,7 +46,6 @@ module Fog
|
||||||
# ==== Returns
|
# ==== Returns
|
||||||
# * CloudFormation object with connection to AWS.
|
# * CloudFormation object with connection to AWS.
|
||||||
def initialize(options={})
|
def initialize(options={})
|
||||||
require 'fog/core/parser'
|
|
||||||
|
|
||||||
@use_iam_profile = options[:use_iam_profile]
|
@use_iam_profile = options[:use_iam_profile]
|
||||||
|
|
||||||
|
|
|
@ -449,7 +449,6 @@ module Fog
|
||||||
attr_accessor :region
|
attr_accessor :region
|
||||||
|
|
||||||
def initialize(options={})
|
def initialize(options={})
|
||||||
require 'fog/core/parser'
|
|
||||||
|
|
||||||
@connection_options = options[:connection_options] || {}
|
@connection_options = options[:connection_options] || {}
|
||||||
@region = options[:region] ||= 'us-east-1'
|
@region = options[:region] ||= 'us-east-1'
|
||||||
|
|
|
@ -90,7 +90,6 @@ module Fog
|
||||||
# ==== Returns
|
# ==== Returns
|
||||||
# * dns object with connection to aws.
|
# * dns object with connection to aws.
|
||||||
def initialize(options={})
|
def initialize(options={})
|
||||||
require 'fog/core/parser'
|
|
||||||
|
|
||||||
@use_iam_profile = options[:use_iam_profile]
|
@use_iam_profile = options[:use_iam_profile]
|
||||||
setup_credentials(options)
|
setup_credentials(options)
|
||||||
|
|
|
@ -131,7 +131,6 @@ module Fog
|
||||||
# ==== Returns
|
# ==== Returns
|
||||||
# * ELB object with connection to AWS.
|
# * ELB object with connection to AWS.
|
||||||
def initialize(options={})
|
def initialize(options={})
|
||||||
require 'fog/core/parser'
|
|
||||||
|
|
||||||
@use_iam_profile = options[:use_iam_profile]
|
@use_iam_profile = options[:use_iam_profile]
|
||||||
@connection_options = options[:connection_options] || {}
|
@connection_options = options[:connection_options] || {}
|
||||||
|
|
|
@ -173,7 +173,6 @@ module Fog
|
||||||
# ==== Returns
|
# ==== Returns
|
||||||
# * IAM object with connection to AWS.
|
# * IAM object with connection to AWS.
|
||||||
def initialize(options={})
|
def initialize(options={})
|
||||||
require 'fog/core/parser'
|
|
||||||
|
|
||||||
@use_iam_profile = options[:use_iam_profile]
|
@use_iam_profile = options[:use_iam_profile]
|
||||||
@connection_options = options[:connection_options] || {}
|
@connection_options = options[:connection_options] || {}
|
||||||
|
|
|
@ -48,7 +48,6 @@ module Fog
|
||||||
# ==== Returns
|
# ==== Returns
|
||||||
# * SES object with connection to AWS.
|
# * SES object with connection to AWS.
|
||||||
def initialize(options={})
|
def initialize(options={})
|
||||||
require 'fog/core/parser'
|
|
||||||
|
|
||||||
@use_iam_profile = options[:use_iam_profile]
|
@use_iam_profile = options[:use_iam_profile]
|
||||||
setup_credentials(options)
|
setup_credentials(options)
|
||||||
|
|
|
@ -70,7 +70,6 @@ module Fog
|
||||||
# ==== Returns
|
# ==== Returns
|
||||||
# * SimpleDB object with connection to aws.
|
# * SimpleDB object with connection to aws.
|
||||||
def initialize(options={})
|
def initialize(options={})
|
||||||
require 'fog/core/parser'
|
|
||||||
|
|
||||||
@use_iam_profile = options[:use_iam_profile]
|
@use_iam_profile = options[:use_iam_profile]
|
||||||
setup_credentials(options)
|
setup_credentials(options)
|
||||||
|
|
|
@ -415,7 +415,6 @@ module Fog
|
||||||
# ==== Returns
|
# ==== Returns
|
||||||
# * S3 object with connection to aws.
|
# * S3 object with connection to aws.
|
||||||
def initialize(options={})
|
def initialize(options={})
|
||||||
require 'fog/core/parser'
|
|
||||||
|
|
||||||
@use_iam_profile = options[:use_iam_profile]
|
@use_iam_profile = options[:use_iam_profile]
|
||||||
@instrumentor = options[:instrumentor]
|
@instrumentor = options[:instrumentor]
|
||||||
|
|
|
@ -72,7 +72,6 @@ module Fog
|
||||||
# ==== Returns
|
# ==== Returns
|
||||||
# * STS object with connection to AWS.
|
# * STS object with connection to AWS.
|
||||||
def initialize(options={})
|
def initialize(options={})
|
||||||
require 'fog/core/parser'
|
|
||||||
|
|
||||||
@use_iam_profile = options[:use_iam_profile]
|
@use_iam_profile = options[:use_iam_profile]
|
||||||
setup_credentials(options)
|
setup_credentials(options)
|
||||||
|
|
|
@ -45,7 +45,6 @@ module Fog
|
||||||
|
|
||||||
class Real
|
class Real
|
||||||
def initialize(options={})
|
def initialize(options={})
|
||||||
require 'fog/core/parser'
|
|
||||||
|
|
||||||
@bare_metal_cloud_password = options[:bare_metal_cloud_password]
|
@bare_metal_cloud_password = options[:bare_metal_cloud_password]
|
||||||
@bare_metal_cloud_username = options[:bare_metal_cloud_username]
|
@bare_metal_cloud_username = options[:bare_metal_cloud_username]
|
||||||
|
|
|
@ -1,112 +1,2 @@
|
||||||
require "nokogiri"
|
Fog::Logger.deprecation("fog/core/parser is deprecated use fog/xml instead [light_black](#{caller.first})[/]")
|
||||||
|
require 'fog/xml'
|
||||||
module Fog
|
|
||||||
module Parsers
|
|
||||||
class Base < Nokogiri::XML::SAX::Document
|
|
||||||
attr_reader :response
|
|
||||||
|
|
||||||
def initialize
|
|
||||||
reset
|
|
||||||
end
|
|
||||||
|
|
||||||
def attr_value(name, attrs)
|
|
||||||
(entry = attrs.find {|a, v| a == name }) && entry.last
|
|
||||||
end
|
|
||||||
|
|
||||||
def reset
|
|
||||||
@response = {}
|
|
||||||
end
|
|
||||||
|
|
||||||
def characters(string)
|
|
||||||
@value ||= ''
|
|
||||||
@value << string
|
|
||||||
end
|
|
||||||
|
|
||||||
# ###############################################################################
|
|
||||||
# This is a workaround. Original implementation from Nokogiri is overwritten with
|
|
||||||
# one that does not join namespace prefix with local name.
|
|
||||||
def start_element_namespace name, attrs = [], prefix = nil, uri = nil, ns = []
|
|
||||||
start_element name, attrs
|
|
||||||
end
|
|
||||||
|
|
||||||
def end_element_namespace name, prefix = nil, uri = nil
|
|
||||||
end_element name
|
|
||||||
end
|
|
||||||
|
|
||||||
# ###############################################################################
|
|
||||||
|
|
||||||
def start_element(name, attrs = [])
|
|
||||||
@value = nil
|
|
||||||
end
|
|
||||||
|
|
||||||
def value
|
|
||||||
@value && @value.dup
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
module Fog
|
|
||||||
class ToHashDocument < Nokogiri::XML::SAX::Document
|
|
||||||
def initialize
|
|
||||||
@stack = []
|
|
||||||
end
|
|
||||||
|
|
||||||
def characters(string)
|
|
||||||
@value ||= ''
|
|
||||||
@value << string.strip
|
|
||||||
end
|
|
||||||
|
|
||||||
def end_element(name)
|
|
||||||
last = @stack.pop
|
|
||||||
if last.empty? && @value.empty?
|
|
||||||
@stack.last[name.to_sym] = ''
|
|
||||||
elsif last == {:i_nil=>"true"}
|
|
||||||
@stack.last[name.to_sym] = nil
|
|
||||||
elsif !@value.empty?
|
|
||||||
@stack.last[name.to_sym] = @value
|
|
||||||
end
|
|
||||||
@value = ''
|
|
||||||
end
|
|
||||||
|
|
||||||
def body
|
|
||||||
@stack.first
|
|
||||||
end
|
|
||||||
|
|
||||||
def response
|
|
||||||
body
|
|
||||||
end
|
|
||||||
|
|
||||||
def start_element(name, attributes = [])
|
|
||||||
@value = ''
|
|
||||||
parsed_attributes = {}
|
|
||||||
until attributes.empty?
|
|
||||||
if attributes.first.is_a?(Array)
|
|
||||||
key, value = attributes.shift
|
|
||||||
else
|
|
||||||
key, value = attributes.shift, attributes.shift
|
|
||||||
end
|
|
||||||
parsed_attributes[key.gsub(':','_').to_sym] = value
|
|
||||||
end
|
|
||||||
if @stack.last.is_a?(Array)
|
|
||||||
@stack.last << {name.to_sym => parsed_attributes}
|
|
||||||
else
|
|
||||||
data = if @stack.empty?
|
|
||||||
@stack.push(parsed_attributes)
|
|
||||||
parsed_attributes
|
|
||||||
elsif @stack.last[name.to_sym]
|
|
||||||
unless @stack.last[name.to_sym].is_a?(Array)
|
|
||||||
@stack.last[name.to_sym] = [@stack.last[name.to_sym]]
|
|
||||||
end
|
|
||||||
@stack.last[name.to_sym] << parsed_attributes
|
|
||||||
@stack.last[name.to_sym].last
|
|
||||||
else
|
|
||||||
@stack.last[name.to_sym] = {}
|
|
||||||
@stack.last[name.to_sym].merge!(parsed_attributes)
|
|
||||||
@stack.last[name.to_sym]
|
|
||||||
end
|
|
||||||
@stack.push(data)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -76,7 +76,6 @@ module Fog
|
||||||
# ==== Returns
|
# ==== Returns
|
||||||
# * dns object with connection to aws.
|
# * dns object with connection to aws.
|
||||||
def initialize(options={})
|
def initialize(options={})
|
||||||
require 'fog/core/parser'
|
|
||||||
|
|
||||||
@dnsmadeeasy_api_key = options[:dnsmadeeasy_api_key]
|
@dnsmadeeasy_api_key = options[:dnsmadeeasy_api_key]
|
||||||
@dnsmadeeasy_secret_key = options[:dnsmadeeasy_secret_key]
|
@dnsmadeeasy_secret_key = options[:dnsmadeeasy_secret_key]
|
||||||
|
|
|
@ -2,7 +2,6 @@ require 'nokogiri'
|
||||||
|
|
||||||
require 'fog/core'
|
require 'fog/core'
|
||||||
require 'fog/xml'
|
require 'fog/xml'
|
||||||
require 'fog/core/parser'
|
|
||||||
|
|
||||||
module Fog
|
module Fog
|
||||||
module Dynect
|
module Dynect
|
||||||
|
|
|
@ -284,7 +284,6 @@ module Fog
|
||||||
end
|
end
|
||||||
|
|
||||||
def initialize(options = {})
|
def initialize(options = {})
|
||||||
require 'fog/core/parser'
|
|
||||||
@base_path = options[:base_path] || '/cloudapi/ecloud'
|
@base_path = options[:base_path] || '/cloudapi/ecloud'
|
||||||
@connections = {}
|
@connections = {}
|
||||||
@connection_options = options[:connection_options] || {}
|
@connection_options = options[:connection_options] || {}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
require 'fog/core'
|
require 'fog/core'
|
||||||
|
require 'fog/xml'
|
||||||
module Fog
|
module Fog
|
||||||
module Ecloud
|
module Ecloud
|
||||||
ECLOUD_OPTIONS = [:ecloud_authentication_method]
|
ECLOUD_OPTIONS = [:ecloud_authentication_method]
|
||||||
|
|
|
@ -211,7 +211,6 @@ module Fog
|
||||||
# ==== Returns
|
# ==== Returns
|
||||||
# * Storage object with connection to google.
|
# * Storage object with connection to google.
|
||||||
def initialize(options={})
|
def initialize(options={})
|
||||||
require 'fog/core/parser'
|
|
||||||
|
|
||||||
@google_storage_access_key_id = options[:google_storage_access_key_id]
|
@google_storage_access_key_id = options[:google_storage_access_key_id]
|
||||||
@google_storage_secret_access_key = options[:google_storage_secret_access_key]
|
@google_storage_secret_access_key = options[:google_storage_secret_access_key]
|
||||||
|
|
|
@ -240,7 +240,6 @@ module Fog
|
||||||
# ==== Returns
|
# ==== Returns
|
||||||
# * S3 object with connection to aws.
|
# * S3 object with connection to aws.
|
||||||
def initialize(options={})
|
def initialize(options={})
|
||||||
require 'fog/core/parser'
|
|
||||||
|
|
||||||
setup_credentials(options)
|
setup_credentials(options)
|
||||||
@connection_options = options[:connection_options] || {}
|
@connection_options = options[:connection_options] || {}
|
||||||
|
|
|
@ -179,7 +179,6 @@ module Fog
|
||||||
|
|
||||||
def initialize(options = {})
|
def initialize(options = {})
|
||||||
require 'builder'
|
require 'builder'
|
||||||
require 'fog/core/parser'
|
|
||||||
|
|
||||||
@connections = {}
|
@connections = {}
|
||||||
@connection_options = options[:connection_options] || {}
|
@connection_options = options[:connection_options] || {}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
require 'fog/core'
|
require 'fog/core'
|
||||||
|
require 'fog/xml'
|
||||||
|
|
||||||
module Fog
|
module Fog
|
||||||
module Vcloud
|
module Vcloud
|
||||||
|
|
|
@ -67,7 +67,6 @@ module Fog
|
||||||
|
|
||||||
class Real
|
class Real
|
||||||
def initialize(options={})
|
def initialize(options={})
|
||||||
require 'fog/core/parser'
|
|
||||||
|
|
||||||
@zerigo_email = options[:zerigo_email]
|
@zerigo_email = options[:zerigo_email]
|
||||||
@zerigo_token = options[:zerigo_token]
|
@zerigo_token = options[:zerigo_token]
|
||||||
|
|
Loading…
Reference in New Issue