class Google::Ads::GoogleAds::LookupUtil
Attributes
path_lookup_utils[R]
proto_lookup_utils[R]
Public Class Methods
new()
click to toggle source
# File lib/google/ads/google_ads/lookup_util.rb, line 7 def initialize @proto_lookup_utils = {} @path_lookup_utils = {} end
Public Instance Methods
path(version)
click to toggle source
Returns a reference to the PathLookupUtil to generate resource names.
# File lib/google/ads/google_ads/lookup_util.rb, line 13 def path(version) path_lookup_util(version) end
Private Instance Methods
class_for_path(path)
click to toggle source
Converts complete class path into class object.
# File lib/google/ads/google_ads/lookup_util.rb, line 41 def class_for_path(path) path.split('::').inject(Kernel) do |scope, const_name| scope.const_get(const_name) end end
path_lookup_util(version)
click to toggle source
Load up the path lookup util for the given version, storing a copy of it if this is the first time we needed it.
# File lib/google/ads/google_ads/lookup_util.rb, line 23 def path_lookup_util(version) unless valid_version?(version) raise sprintf('Unknown version %s', version) end if path_lookup_utils[version].nil? path_version = version.downcase require sprintf('google/ads/google_ads/utils/%s/path_lookup_util', path_version) class_path = sprintf( 'Google::Ads::GoogleAds::Utils::%s::PathLookupUtil', version ) path_lookup_utils[version] = class_for_path(class_path).new end path_lookup_utils[version] end
valid_version?(version)
click to toggle source
# File lib/google/ads/google_ads/lookup_util.rb, line 47 def valid_version?(version) Google::Ads::GoogleAds.valid_version?(version) end