lib/google/ads/googleads/proto_lookup_util.rb in google-ads-googleads-0.1.0 vs lib/google/ads/googleads/proto_lookup_util.rb in google-ads-googleads-0.2.0

- old
+ new

@@ -45,33 +45,57 @@ QualityInfo: ['resources', 'ad_group_criterion_pb', 'AdGroupCriterion::QualityInfo'], PositionEstimates: ['resources', 'ad_group_criterion_pb', 'AdGroupCriterion::PositionEstimates'], AdGroup: ['resources', 'ad_group_pb', 'AdGroup'], + AdGroupBidModifier: ['resources', 'ad_group_bid_modifier_pb', + 'AdGroupBidModifier'], BiddingStrategy: ['resources', 'bidding_strategy_pb', 'BiddingStrategy'], CampaignBudget: ['resources', 'campaign_budget_pb', 'CampaignBudget'], CampaignCriterion: ['resources', 'campaign_criterion_pb', 'CampaignCriterion'], Campaign: ['resources', 'campaign_pb', 'Campaign'], NetworkSettings: ['resources', 'campaign_pb', 'Campaign::NetworkSettings'], + HotelSettingInfo: ['resources', 'campaign_pb', + 'Campaign::HotelSettingInfo'], DynamicSearchAdsSetting: ['resources', 'campaign_pb', 'Campaign::DynamicSearchAdsSetting'], Customer: ['resources', 'customer_pb', 'Customer'], + GeoTargetConstant: ['resources', 'geo_target_constant_pb', + 'GeoTargetConstant'], GoogleAdsField: ['resources', 'google_ads_field_pb', 'GoogleAdsField'], KeywordView: ['resources', 'keyword_view_pb', 'KeywordView'], + Recommendation: ['resources', 'recommendation_pb', 'Recommendation'], + RecommendationImpact: ['resources', 'recommendation_pb', + 'Recommendation::RecommendationImpact'], + RecommendationMetrics: ['resources', 'recommendation_pb', + 'Recommendation::RecommendationMetrics'], + CampaignBudgetRecommendation: ['resources', 'recommendation_pb', + 'Recommendation::CampaignBudgetRecommendation'], + CampaignBudgetRecommendationOption: ['resources', 'recommendation_pb', + 'Recommendation::CampaignBudgetRecommendation::CampaignBudgetRecommendationOption'], + KeywordRecommendation: ['resources', 'recommendation_pb', + 'Recommendation::KeywordRecommendation'], + TextAdRecommendation: ['resources', 'recommendation_pb', + 'Recommendation::TextAdRecommendation'], + TargetCpaOptInRecommendation: ['resources', 'recommendation_pb', + 'Recommendation::TargetCpaOptInRecommendation'], + TargetCpaOptInRecommendationOption: ['resources', 'recommendation_pb', + 'Recommendation::TargetCpaOptInRecommendation::TargetCpaOptInRecommendationOption'], Ad: ['common', 'ad_pb', 'Ad'], TextAdInfo: ['common', 'ad_pb', 'TextAdInfo'], ExpandedTextAdInfo: ['common', 'ad_pb', 'ExpandedTextAdInfo'], DynamicSearchAdInfo: ['common', 'ad_pb', 'DynamicSearchAdInfo'], ResponsiveDisplayAdInfo: ['common', 'ad_pb', 'ResponsiveDisplayAdInfo'], CallOnlyAdInfo: ['common', 'ad_pb', 'CallOnlyAdInfo'], ExpandedDynamicSearchAdInfo: ['common', 'ad_pb', 'ExpandedDynamicSearchAdInfo'], + HotelAdInfo: ['common', 'ad_pb', 'HotelAdInfo'], EnhancedCpc: ['common', 'bidding_pb', 'EnhancedCpc'], ManualCpc: ['common', 'bidding_pb', 'ManualCpc'], ManualCpm: ['common', 'bidding_pb', 'ManualCpm'], MaximizeConversions: ['common', 'bidding_pb', 'MaximizeConversions'], MaximizeConversionValue: ['common', 'bidding_pb', @@ -80,14 +104,43 @@ TargetCpa: ['common', 'bidding_pb', 'TargetCpa'], TargetOutrankShare: ['common', 'bidding_pb', 'TargetOutrankShare'], TargetRoas: ['common', 'bidding_pb', 'TargetRoas'], TargetSpend: ['common', 'bidding_pb', 'TargetSpend'], KeywordInfo: ['common', 'criteria_pb', 'KeywordInfo'], + LocationInfo: ['common', 'criteria_pb', 'LocationInfo'], + PlatformInfo: ['common', 'criteria_pb', 'PlatformInfo'], + ListingGroupInfo: ['common', 'criteria_pb', 'ListingGroupInfo'], + ListingDimensionInfo: ['common', 'criteria_pb', + 'ListingDimensionInfo'], + ListingBrandInfo: ['common', 'criteria_pb', 'ListingBrandInfo'], + HotelIdInfo: ['common', 'criteria_pb', 'HotelIdInfo'], + HotelClassInfo: ['common', 'criteria_pb', 'HotelClassInfo'], + HotelCountryRegionInfo: ['common', 'criteria_pb', + 'HotelCountryRegionInfo'], + HotelStateInfo: ['common', 'criteria_pb', 'HotelStateInfo'], + HotelCityInfo: ['common', 'criteria_pb', 'HotelCityInfo'], + ListingCustomAttributeInfo: ['common', 'criteria_pb', + 'ListingCustomAttributeInfo'], + HotelDateSelectionTypeInfo: ['common', 'criteria_pb', + 'HotelDateSelectionTypeInfo'], + HotelAdvanceBookingWindowInfo: ['common', 'criteria_pb', + 'HotelAdvanceBookingWindowInfo'], + HotelLengthOfStayInfo: ['common', 'criteria_pb', + 'HotelLengthOfStayInfo'], + HotelCheckInDayInfo: ['common', 'criteria_pb', 'HotelCheckInDayInfo'], CustomParameter: ['common', 'custom_parameter_pb', 'CustomParameter'], Metrics: ['common', 'metrics_pb', 'Metrics'], PolicyViolationKey: ['common', 'policy_pb', 'PolicyViolationKey'], - Value: ['common', 'value_pb', 'Value'] + Value: ['common', 'value_pb', 'Value'], + CampaignBudgetParameters: ['services', 'recommendation_service_pb', + 'ApplyRecommendationOperation::CampaignBudgetParameters'], + TextAdParameters: ['services', 'recommendation_service_pb', + 'ApplyRecommendationOperation::TextAdParameters'], + KeywordParameters: ['services', 'recommendation_service_pb', + 'ApplyRecommendationOperation::KeywordParameters'], + TargetCpaOptInParameters: ['services', 'recommendation_service_pb', + 'ApplyRecommendationOperation::TargetCpaOptInParameters'] }.freeze ENUMS = { AdGroupAdStatus: ['ad_group_ad_status_pb', 'AdGroupAdStatus'], AdGroupCriterionStatus: ['ad_group_criterion_status_pb', @@ -100,11 +153,11 @@ AdType: ['ad_type_pb', 'AdType'], AdvertisingChannelSubType: ['advertising_channel_sub_type_pb', 'AdvertisingChannelSubType'], AdvertisingChannelType: ['advertising_channel_type_pb', 'AdvertisingChannelType'], - BidSource: ['bid_source_pb', 'BidSource'], + BiddingSource: ['bidding_source_pb', 'BiddingSource'], BiddingStrategyType: ['bidding_strategy_type_pb', 'BiddingStrategyType'], BudgetDeliveryMethod: ['budget_delivery_method_pb', 'BudgetDeliveryMethod'], BudgetStatus: ['budget_status_pb', 'BudgetStatus'], @@ -116,18 +169,27 @@ GoogleAdsFieldCategory: ['google_ads_field_category_pb', 'GoogleAdsFieldCategory'], GoogleAdsFieldDataType: ['google_ads_field_data_type_pb', 'GoogleAdsFieldDataType'], KeywordMatchType: ['keyword_match_type_pb', 'KeywordMatchType'], + ListingCustomAttributeIndex: ['listing_custom_attribute_index_pb', + 'ListingCustomAttributeIndex'], + ListingGroupType: ['listing_group_type_pb', 'ListingGroupType'], PageOnePromotedStrategyGoal: ['page_one_promoted_strategy_goal_pb', 'PageOnePromotedStrategyGoal'], QualityScoreBucket: ['quality_score_bucket_pb', 'QualityScoreBucket'], - Slot: ['slot_pb', 'Slot'] + RecommendationType: ['recommendation_type_pb', 'RecommendationType'], + Slot: ['slot_pb', 'Slot'], + TargetCpaOptInRecommendationGoal: [ + 'target_cpa_opt_in_recommendation_goal_pb', + 'TargetCpaOptInRecommendationGoal'] }.freeze SERVICES = { AdGroupAd: ['ad_group_ad_service_client', 'AdGroupAdServiceClient'], + AdGroupBidModifier: ['ad_group_bid_modifier_service_client', + 'AdGroupBidModifierServiceClient'], AdGroupCriterion: ['ad_group_criterion_service_client', 'AdGroupCriterionServiceClient'], AdGroup: ['ad_group_service_client', 'AdGroupServiceClient'], BiddingStrategy: ['bidding_strategy_service_client', 'BiddingStrategyServiceClient'], @@ -135,30 +197,38 @@ 'CampaignBudgetServiceClient'], CampaignCriterion: ['campaign_criterion_service_client', 'CampaignCriterionServiceClient'], Campaign: ['campaign_service_client', 'CampaignServiceClient'], Customer: ['customer_service_client', 'CustomerServiceClient'], + GeoTargetConstant: ['geo_target_constant_service_client', + 'GeoTargetConstantServiceClient'], GoogleAdsField: ['google_ads_field_service_client', 'GoogleAdsFieldServiceClient'], GoogleAds: ['google_ads_service_client', 'GoogleAdsServiceClient'], KeywordView: ['keyword_view_service_client', - 'KeywordViewServiceClient'] - } + 'KeywordViewServiceClient'], + Recommendation: ['recommendation_service_client', + 'RecommendationServiceClient'] + }.freeze OPERATIONS = { AdGroupAd: ['ad_group_ad_service_pb', 'AdGroupAdOperation'], + AdGroupBidModifier: ['ad_group_bid_modifier_service_pb', + 'AdGroupBidModifierOperation'], AdGroupCriterion: ['ad_group_criterion_service_pb', 'AdGroupCriterionOperation'], AdGroup: ['ad_group_service_pb', 'AdGroupOperation'], + ApplyRecommendation: ['recommendation_service_pb', + 'ApplyRecommendationOperation'], BiddingStrategy: ['bidding_strategy_service_pb', 'BiddingStrategyOperation'], CampaignBudget: ['campaign_budget_service_pb', 'CampaignBudgetOperation'], CampaignCriterion: ['campaign_criterion_service_pb', 'CampaignCriterionOperation'], Campaign: ['campaign_service_pb', 'CampaignOperation'], - } + }.freeze def initialize(version) @version = version @path_version = version.downcase end @@ -174,11 +244,12 @@ require_path = sprintf(RESOURCE_PATH, @path_version, resource_info[0], resource_info[1]) require require_path - class_path = resource_info.first == 'resources' ? - RESOURCE_CLASS_PATH : COMMON_CLASS_PATH + class_path = RESOURCE_CLASS_PATH + class_path = COMMON_CLASS_PATH if resource_info.first == 'common' + class_path = SERVICE_CLASS_PATH if resource_info.first == 'services' class_path = sprintf(class_path, @version, resource_info[2]) return class_for_path(class_path) end # Look up the class for an enum by name.