diff --git a/Gemfile.lock b/Gemfile.lock index a7328323..78e5a3ae 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - facebookbusiness (22.0.0) + facebookbusiness (24.0.1) concurrent-ruby (~> 1.1) countries (>= 3, < 7) faraday (~> 2.6) @@ -87,6 +87,7 @@ GEM PLATFORMS arm64-darwin-22 arm64-darwin-23 + arm64-darwin-24 x86_64-linux DEPENDENCIES diff --git a/lib/facebook_ads/fields.rb b/lib/facebook_ads/fields.rb index c49d9894..f143478e 100644 --- a/lib/facebook_ads/fields.rb +++ b/lib/facebook_ads/fields.rb @@ -18,35 +18,36 @@ def field(name, type, *args) self.field_types[name] = type unless name == :id - define_reader(name) - define_writer(name) + method_name = name == :object_id ? :fb_object_id : name + define_reader(method_name, name) + define_writer(method_name, name) end self.deserializer ||= ParamSet.new self.deserializer.has_param(name, type, *args) end - def define_reader(name) - define_method(name) do - if !@__all_fields.include?(name) - @__all_fields << name - Utils.logger.warn("#{name} not in the fields") + def define_reader(method_name, attr_name) + define_method(method_name) do + if !@__all_fields.include?(attr_name) + @__all_fields << attr_name + Utils.logger.warn("#{attr_name} not in the fields") end load! unless loaded? - if changes.has_key?(name) - changes[name] + if changes.has_key?(attr_name) + changes[attr_name] else - @attributes[name] + @attributes[attr_name] end end end - def define_writer(name) - define_method("#{name}=") do |val| - changes[name] = val - @__all_fields.add(name.to_s) + def define_writer(method_name, attr_name) + define_method("#{method_name}=") do |val| + changes[attr_name] = val + @__all_fields.add(attr_name.to_s) end end end