File Coverage

blib/lib/Google/Ads/GoogleAds/V9/Services/GoogleAdsService/GoogleAdsRow.pm
Criterion Covered Total %
statement 12 17 70.5
branch n/a
condition n/a
subroutine 4 5 80.0
pod 0 1 0.0
total 16 23 69.5


line stmt bran cond sub pod time code
1             # Copyright 2020, Google LLC
2             #
3             # Licensed under the Apache License, Version 2.0 (the "License");
4             # you may not use this file except in compliance with the License.
5             # You may obtain a copy of the License at
6             #
7             # http://www.apache.org/licenses/LICENSE-2.0
8             #
9             # Unless required by applicable law or agreed to in writing, software
10             # distributed under the License is distributed on an "AS IS" BASIS,
11             # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12             # See the License for the specific language governing permissions and
13             # limitations under the License.
14              
15              
16             use strict;
17 1     1   848 use warnings;
  1         4  
  1         24  
18 1     1   3 use base qw(Google::Ads::GoogleAds::BaseEntity);
  1         2  
  1         23  
19 1     1   4  
  1         9  
  1         65  
20             use Google::Ads::GoogleAds::Utils::GoogleAdsHelper;
21 1     1   5  
  1         3  
  1         608  
22             my ($class, $args) = @_;
23             my $self = {
24 0     0 0   accessibleBiddingStrategy => $args->{accessibleBiddingStrategy},
25             accountBudget => $args->{accountBudget},
26             accountBudgetProposal => $args->{accountBudgetProposal},
27             accountLink => $args->{accountLink},
28             adGroup => $args->{adGroup},
29             adGroupAd => $args->{adGroupAd},
30             adGroupAdAssetView => $args->{adGroupAdAssetView},
31             adGroupAdLabel => $args->{adGroupAdLabel},
32             adGroupAsset => $args->{adGroupAsset},
33             adGroupAudienceView => $args->{adGroupAudienceView},
34             adGroupBidModifier => $args->{adGroupBidModifier},
35             adGroupCriterion => $args->{adGroupCriterion},
36             adGroupCriterionCustomizer => $args->{adGroupCriterionCustomizer},
37             adGroupCriterionLabel => $args->{adGroupCriterionLabel},
38             adGroupCriterionSimulation => $args->{adGroupCriterionSimulation},
39             adGroupCustomizer => $args->{adGroupCustomizer},
40             adGroupExtensionSetting => $args->{adGroupExtensionSetting},
41             adGroupFeed => $args->{adGroupFeed},
42             adGroupLabel => $args->{adGroupLabel},
43             adGroupSimulation => $args->{adGroupSimulation},
44             adParameter => $args->{adParameter},
45             adScheduleView => $args->{adScheduleView},
46             ageRangeView => $args->{ageRangeView},
47             asset => $args->{asset},
48             assetFieldTypeView => $args->{assetFieldTypeView},
49             assetGroup => $args->{assetGroup},
50             assetGroupAsset => $args->{assetGroupAsset},
51             assetGroupListingGroupFilter => $args->{assetGroupListingGroupFilter},
52             assetGroupProductGroupView => $args->{assetGroupProductGroupView},
53             assetSet => $args->{assetSet},
54             assetSetAsset => $args->{assetSetAsset},
55             batchJob => $args->{batchJob},
56             biddingDataExclusion => $args->{biddingDataExclusion},
57             biddingSeasonalityAdjustment => $args->{biddingSeasonalityAdjustment},
58             biddingStrategy => $args->{biddingStrategy},
59             biddingStrategySimulation => $args->{biddingStrategySimulation},
60             billingSetup => $args->{billingSetup},
61             callView => $args->{callView},
62             campaign => $args->{campaign},
63             campaignAsset => $args->{campaignAsset},
64             campaignAssetSet => $args->{campaignAssetSet},
65             campaignAudienceView => $args->{campaignAudienceView},
66             campaignBidModifier => $args->{campaignBidModifier},
67             campaignBudget => $args->{campaignBudget},
68             campaignConversionGoal => $args->{campaignConversionGoal},
69             campaignCriterion => $args->{campaignCriterion},
70             campaignCriterionSimulation => $args->{campaignCriterionSimulation},
71             campaignCustomizer => $args->{campaignCustomizer},
72             campaignDraft => $args->{campaignDraft},
73             campaignExperiment => $args->{campaignExperiment},
74             campaignExtensionSetting => $args->{campaignExtensionSetting},
75             campaignFeed => $args->{campaignFeed},
76             campaignLabel => $args->{campaignLabel},
77             campaignSharedSet => $args->{campaignSharedSet},
78             campaignSimulation => $args->{campaignSimulation},
79             carrierConstant => $args->{carrierConstant},
80             changeEvent => $args->{changeEvent},
81             changeStatus => $args->{changeStatus},
82             clickView => $args->{clickView},
83             combinedAudience => $args->{combinedAudience},
84             conversionAction => $args->{conversionAction},
85             conversionCustomVariable => $args->{conversionCustomVariable},
86             conversionGoalCampaignConfig => $args->{conversionGoalCampaignConfig},
87             conversionValueRule => $args->{conversionValueRule},
88             conversionValueRuleSet => $args->{conversionValueRuleSet},
89             currencyConstant => $args->{currencyConstant},
90             customAudience => $args->{customAudience},
91             customConversionGoal => $args->{customConversionGoal},
92             customInterest => $args->{customInterest},
93             customer => $args->{customer},
94             customerAsset => $args->{customerAsset},
95             customerClient => $args->{customerClient},
96             customerClientLink => $args->{customerClientLink},
97             customerConversionGoal => $args->{customerConversionGoal},
98             customerCustomizer => $args->{customerCustomizer},
99             customerExtensionSetting => $args->{customerExtensionSetting},
100             customerFeed => $args->{customerFeed},
101             customerLabel => $args->{customerLabel},
102             customerManagerLink => $args->{customerManagerLink},
103             customerNegativeCriterion => $args->{customerNegativeCriterion},
104             customerUserAccess => $args->{customerUserAccess},
105             customerUserAccessInvitation => $args->{customerUserAccessInvitation},
106             customizerAttribute => $args->{customizerAttribute},
107             detailPlacementView => $args->{detailPlacementView},
108             detailedDemographic => $args->{detailedDemographic},
109             displayKeywordView => $args->{displayKeywordView},
110             distanceView => $args->{distanceView},
111             domainCategory => $args->{domainCategory},
112             dynamicSearchAdsSearchTermView => $args->{dynamicSearchAdsSearchTermView},
113             expandedLandingPageView => $args->{expandedLandingPageView},
114             extensionFeedItem => $args->{extensionFeedItem},
115             feed => $args->{feed},
116             feedItem => $args->{feedItem},
117             feedItemSet => $args->{feedItemSet},
118             feedItemSetLink => $args->{feedItemSetLink},
119             feedItemTarget => $args->{feedItemTarget},
120             feedMapping => $args->{feedMapping},
121             feedPlaceholderView => $args->{feedPlaceholderView},
122             genderView => $args->{genderView},
123             geoTargetConstant => $args->{geoTargetConstant},
124             geographicView => $args->{geographicView},
125             groupPlacementView => $args->{groupPlacementView},
126             hotelGroupView => $args->{hotelGroupView},
127             hotelPerformanceView => $args->{hotelPerformanceView},
128             hotelReconciliation => $args->{hotelReconciliation},
129             incomeRangeView => $args->{incomeRangeView},
130             keywordPlan => $args->{keywordPlan},
131             keywordPlanAdGroup => $args->{keywordPlanAdGroup},
132             keywordPlanAdGroupKeyword => $args->{keywordPlanAdGroupKeyword},
133             keywordPlanCampaign => $args->{keywordPlanCampaign},
134             keywordPlanCampaignKeyword => $args->{keywordPlanCampaignKeyword},
135             keywordThemeConstant => $args->{keywordThemeConstant},
136             keywordView => $args->{keywordView},
137             label => $args->{label},
138             landingPageView => $args->{landingPageView},
139             languageConstant => $args->{languageConstant},
140             lifeEvent => $args->{lifeEvent},
141             locationView => $args->{locationView},
142             managedPlacementView => $args->{managedPlacementView},
143             mediaFile => $args->{mediaFile},
144             metrics => $args->{metrics},
145             mobileAppCategoryConstant => $args->{mobileAppCategoryConstant},
146             mobileDeviceConstant => $args->{mobileDeviceConstant},
147             offlineUserDataJob => $args->{offlineUserDataJob},
148             operatingSystemVersionConstant => $args->{operatingSystemVersionConstant},
149             paidOrganicSearchTermView => $args->{paidOrganicSearchTermView},
150             parentalStatusView => $args->{parentalStatusView},
151             productBiddingCategoryConstant => $args->{productBiddingCategoryConstant},
152             productGroupView => $args->{productGroupView},
153             recommendation => $args->{recommendation},
154             remarketingAction => $args->{remarketingAction},
155             searchTermView => $args->{searchTermView},
156             segments => $args->{segments},
157             sharedCriterion => $args->{sharedCriterion},
158             sharedSet => $args->{sharedSet},
159             shoppingPerformanceView => $args->{shoppingPerformanceView},
160             smartCampaignSearchTermView => $args->{smartCampaignSearchTermView},
161             smartCampaignSetting => $args->{smartCampaignSetting},
162             thirdPartyAppAnalyticsLink => $args->{thirdPartyAppAnalyticsLink},
163             topicConstant => $args->{topicConstant},
164             topicView => $args->{topicView},
165             userInterest => $args->{userInterest},
166             userList => $args->{userList},
167             userLocationView => $args->{userLocationView},
168             video => $args->{video},
169             webpageView => $args->{webpageView}};
170              
171 0           # Delete the unassigned fields in this object for a more concise JSON payload
172             remove_unassigned_fields($self, $args);
173              
174 0           bless $self, $class;
175             return $self;
176 0           }
177 0            
178             1;