From c6fee54cea354af1248b12199104839bd12b0447 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Tue, 24 Mar 2026 04:16:11 +0000 Subject: [PATCH] feat: add support for actions directory in codegen Updated codegen/factories.rb to define the Actions module and require its files. Also updated codegen/src/filters.rb to properly handle the Actions module when extracting expanded class names, preventing infinite loops. Co-authored-by: dorasun <10905385+dorasun@users.noreply.github.com> --- codegen/factories.rb | 6 ++++++ codegen/src/filters.rb | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/codegen/factories.rb b/codegen/factories.rb index fd1a849c5..2cbccd335 100644 --- a/codegen/factories.rb +++ b/codegen/factories.rb @@ -16,6 +16,8 @@ module GoogleAds end Google::Ads::GoogleAds::KNOWN_API_VERSIONS.each do |version| Google::Ads::GoogleAds.const_set("#{version.to_s.upcase}", Module.new do + module Actions + end module Common end module Enums @@ -59,6 +61,10 @@ module Services Dir["#{GEM_ROOT}/lib/google/ads/google_ads/#{version.to_s.downcase}/errors/*.rb"].each do |fn| require fn.gsub("#{GEM_ROOT}/lib/", "") end + + Dir["#{GEM_ROOT}/lib/google/ads/google_ads/#{version.to_s.downcase}/actions/*.rb"].each do |fn| + require fn.gsub("#{GEM_ROOT}/lib/", "") + end end resources = filter_resources_for_google_ads(version, potential_resources) diff --git a/codegen/src/filters.rb b/codegen/src/filters.rb index dfef0261f..7a1b6a7c4 100644 --- a/codegen/src/filters.rb +++ b/codegen/src/filters.rb @@ -65,7 +65,7 @@ def get_class_name(klass) def get_expanded_class_name(klass) components = klass.name.split("::") - while !["Resources", "Common", "Services"].include?(components.first) + while !["Resources", "Common", "Services", "Actions"].include?(components.first) components.shift end components.shift