Sha256: ec51b39b44be3d9a083b726c8889c59c24f60386ef5843d5c91dfd91a58ae658
Contents?: true
Size: 1.86 KB
Versions: 1
Compression:
Stored size: 1.86 KB
Contents
require "google/ads/google_ads/version_alternate" require "google/ads/google_ads/factories/v9/resources" require "google/ads/google_ads/factories/v9/services" require "google/ads/google_ads/factories/v9/enums" require "google/ads/google_ads/factories/v9/operations" require "google/ads/google_ads/factories/v10/resources" require "google/ads/google_ads/factories/v10/services" require "google/ads/google_ads/factories/v10/enums" require "google/ads/google_ads/factories/v10/operations" module Google module Ads module GoogleAds module Factories Factory = Struct.new(:resources, :services, :enums, :operations) FACTORY_V9 = Factory.new( V9::Resources, V9::Services, V9::Enums, V9::Operations ).freeze FACTORY_V10 = Factory.new( V10::Resources, V10::Services, V10::Enums, V10::Operations ).freeze VERSIONS = [ :V9, :V10 ] HIGHEST_VERSION = :V10 def self.version_alternate_for(type) unless [:resources, :services, :enums, :operations].include?(type) raise ArgumentError.new( "Dont have version alternate for #{type}, valid values are :resources, :services, :enums, :operations, got #{type}" ) end VersionAlternate.new( FACTORY_V10.public_send(type), { V9: FACTORY_V9.public_send(type), V10: FACTORY_V10.public_send(type) } ) end def self.versions end def self.at_version(version) case version when :V9 FACTORY_V9 when :V10 FACTORY_V10 else raise ArgumentError.new("Got unkown version: #{version}") end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
google-ads-googleads-17.0.0 | lib/google/ads/google_ads/factories.rb |