File Coverage

blib/lib/Google/Ads/GoogleAds/V10/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   668 use warnings;
  1         2  
  1         23  
18 1     1   4 use base qw(Google::Ads::GoogleAds::BaseEntity);
  1         2  
  1         21  
19 1     1   4  
  1         3  
  1         66  
20             use Google::Ads::GoogleAds::Utils::GoogleAdsHelper;
21 1     1   5  
  1         2  
  1         589  
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             adGroupAdAssetCombinationView => $args->{adGroupAdAssetCombinationView},
31             adGroupAdAssetView => $args->{adGroupAdAssetView},
32             adGroupAdLabel => $args->{adGroupAdLabel},
33             adGroupAsset => $args->{adGroupAsset},
34             adGroupAudienceView => $args->{adGroupAudienceView},
35             adGroupBidModifier => $args->{adGroupBidModifier},
36             adGroupCriterion => $args->{adGroupCriterion},
37             adGroupCriterionCustomizer => $args->{adGroupCriterionCustomizer},
38             adGroupCriterionLabel => $args->{adGroupCriterionLabel},
39             adGroupCriterionSimulation => $args->{adGroupCriterionSimulation},
40             adGroupCustomizer => $args->{adGroupCustomizer},
41             adGroupExtensionSetting => $args->{adGroupExtensionSetting},
42             adGroupFeed => $args->{adGroupFeed},
43             adGroupLabel => $args->{adGroupLabel},
44             adGroupSimulation => $args->{adGroupSimulation},
45             adParameter => $args->{adParameter},
46             adScheduleView => $args->{adScheduleView},
47             ageRangeView => $args->{ageRangeView},
48             asset => $args->{asset},
49             assetFieldTypeView => $args->{assetFieldTypeView},
50             assetGroup => $args->{assetGroup},
51             assetGroupAsset => $args->{assetGroupAsset},
52             assetGroupListingGroupFilter => $args->{assetGroupListingGroupFilter},
53             assetGroupProductGroupView => $args->{assetGroupProductGroupView},
54             assetGroupSignal => $args->{assetGroupSignal},
55             assetSet => $args->{assetSet},
56             assetSetAsset => $args->{assetSetAsset},
57             audience => $args->{audience},
58             batchJob => $args->{batchJob},
59             biddingDataExclusion => $args->{biddingDataExclusion},
60             biddingSeasonalityAdjustment => $args->{biddingSeasonalityAdjustment},
61             biddingStrategy => $args->{biddingStrategy},
62             biddingStrategySimulation => $args->{biddingStrategySimulation},
63             billingSetup => $args->{billingSetup},
64             callView => $args->{callView},
65             campaign => $args->{campaign},
66             campaignAsset => $args->{campaignAsset},
67             campaignAssetSet => $args->{campaignAssetSet},
68             campaignAudienceView => $args->{campaignAudienceView},
69             campaignBidModifier => $args->{campaignBidModifier},
70             campaignBudget => $args->{campaignBudget},
71             campaignConversionGoal => $args->{campaignConversionGoal},
72             campaignCriterion => $args->{campaignCriterion},
73             campaignCriterionSimulation => $args->{campaignCriterionSimulation},
74             campaignCustomizer => $args->{campaignCustomizer},
75             campaignDraft => $args->{campaignDraft},
76             campaignExperiment => $args->{campaignExperiment},
77             campaignExtensionSetting => $args->{campaignExtensionSetting},
78             campaignFeed => $args->{campaignFeed},
79             campaignGroup => $args->{campaignGroup},
80             campaignLabel => $args->{campaignLabel},
81             campaignSharedSet => $args->{campaignSharedSet},
82             campaignSimulation => $args->{campaignSimulation},
83             carrierConstant => $args->{carrierConstant},
84             changeEvent => $args->{changeEvent},
85             changeStatus => $args->{changeStatus},
86             clickView => $args->{clickView},
87             combinedAudience => $args->{combinedAudience},
88             conversionAction => $args->{conversionAction},
89             conversionCustomVariable => $args->{conversionCustomVariable},
90             conversionGoalCampaignConfig => $args->{conversionGoalCampaignConfig},
91             conversionValueRule => $args->{conversionValueRule},
92             conversionValueRuleSet => $args->{conversionValueRuleSet},
93             currencyConstant => $args->{currencyConstant},
94             customAudience => $args->{customAudience},
95             customConversionGoal => $args->{customConversionGoal},
96             customInterest => $args->{customInterest},
97             customer => $args->{customer},
98             customerAsset => $args->{customerAsset},
99             customerClient => $args->{customerClient},
100             customerClientLink => $args->{customerClientLink},
101             customerConversionGoal => $args->{customerConversionGoal},
102             customerCustomizer => $args->{customerCustomizer},
103             customerExtensionSetting => $args->{customerExtensionSetting},
104             customerFeed => $args->{customerFeed},
105             customerLabel => $args->{customerLabel},
106             customerManagerLink => $args->{customerManagerLink},
107             customerNegativeCriterion => $args->{customerNegativeCriterion},
108             customerUserAccess => $args->{customerUserAccess},
109             customerUserAccessInvitation => $args->{customerUserAccessInvitation},
110             customizerAttribute => $args->{customizerAttribute},
111             detailPlacementView => $args->{detailPlacementView},
112             detailedDemographic => $args->{detailedDemographic},
113             displayKeywordView => $args->{displayKeywordView},
114             distanceView => $args->{distanceView},
115             domainCategory => $args->{domainCategory},
116             dynamicSearchAdsSearchTermView => $args->{dynamicSearchAdsSearchTermView},
117             expandedLandingPageView => $args->{expandedLandingPageView},
118             experiment => $args->{experiment},
119             experimentArm => $args->{experimentArm},
120             extensionFeedItem => $args->{extensionFeedItem},
121             feed => $args->{feed},
122             feedItem => $args->{feedItem},
123             feedItemSet => $args->{feedItemSet},
124             feedItemSetLink => $args->{feedItemSetLink},
125             feedItemTarget => $args->{feedItemTarget},
126             feedMapping => $args->{feedMapping},
127             feedPlaceholderView => $args->{feedPlaceholderView},
128             genderView => $args->{genderView},
129             geoTargetConstant => $args->{geoTargetConstant},
130             geographicView => $args->{geographicView},
131             groupPlacementView => $args->{groupPlacementView},
132             hotelGroupView => $args->{hotelGroupView},
133             hotelPerformanceView => $args->{hotelPerformanceView},
134             hotelReconciliation => $args->{hotelReconciliation},
135             incomeRangeView => $args->{incomeRangeView},
136             keywordPlan => $args->{keywordPlan},
137             keywordPlanAdGroup => $args->{keywordPlanAdGroup},
138             keywordPlanAdGroupKeyword => $args->{keywordPlanAdGroupKeyword},
139             keywordPlanCampaign => $args->{keywordPlanCampaign},
140             keywordPlanCampaignKeyword => $args->{keywordPlanCampaignKeyword},
141             keywordThemeConstant => $args->{keywordThemeConstant},
142             keywordView => $args->{keywordView},
143             label => $args->{label},
144             landingPageView => $args->{landingPageView},
145             languageConstant => $args->{languageConstant},
146             leadFormSubmissionData => $args->{leadFormSubmissionData},
147             lifeEvent => $args->{lifeEvent},
148             locationView => $args->{locationView},
149             managedPlacementView => $args->{managedPlacementView},
150             mediaFile => $args->{mediaFile},
151             metrics => $args->{metrics},
152             mobileAppCategoryConstant => $args->{mobileAppCategoryConstant},
153             mobileDeviceConstant => $args->{mobileDeviceConstant},
154             offlineUserDataJob => $args->{offlineUserDataJob},
155             operatingSystemVersionConstant => $args->{operatingSystemVersionConstant},
156             paidOrganicSearchTermView => $args->{paidOrganicSearchTermView},
157             parentalStatusView => $args->{parentalStatusView},
158             productBiddingCategoryConstant => $args->{productBiddingCategoryConstant},
159             productGroupView => $args->{productGroupView},
160             recommendation => $args->{recommendation},
161             remarketingAction => $args->{remarketingAction},
162             searchTermView => $args->{searchTermView},
163             segments => $args->{segments},
164             sharedCriterion => $args->{sharedCriterion},
165             sharedSet => $args->{sharedSet},
166             shoppingPerformanceView => $args->{shoppingPerformanceView},
167             smartCampaignSearchTermView => $args->{smartCampaignSearchTermView},
168             smartCampaignSetting => $args->{smartCampaignSetting},
169             thirdPartyAppAnalyticsLink => $args->{thirdPartyAppAnalyticsLink},
170             topicConstant => $args->{topicConstant},
171             topicView => $args->{topicView},
172             userInterest => $args->{userInterest},
173             userList => $args->{userList},
174             userLocationView => $args->{userLocationView},
175             video => $args->{video},
176             webpageView => $args->{webpageView}};
177              
178 0           # Delete the unassigned fields in this object for a more concise JSON payload
179             remove_unassigned_fields($self, $args);
180              
181 0           bless $self, $class;
182             return $self;
183 0           }
184 0            
185             1;