protocolbuffers/protobuf
Vedi su GitHubCannot assign an array to a repeated field in Ruby
Open
#7161 aperta il 31 gen 2020
help wantedruby
Metriche repository
- Star
- (71.223 star)
- Metriche merge PR
- (Merge medio 2g 11h) (185 PR mergiate in 30 g)
Descrizione
What language does this apply to? Ruby
Describe the problem you are trying to solve. Consider trying to do this:
#!/usr/bin/ruby
require 'google/protobuf'
Google::Protobuf::DescriptorPool.generated_pool.build do
add_file("google/ads/googleads/v2/services/campaign_budget_service.proto", :syntax => :proto3) do
add_message "google.ads.googleads.v2.services.MutateCampaignBudgetsRequest" do
optional :customer_id, :string, 1
repeated :operations, :message, 2, "google.ads.googleads.v2.services.CampaignBudgetOperation"
end
add_message "google.ads.googleads.v2.services.CampaignBudgetOperation" do
oneof :operation do
optional :remove, :string, 1
end
end
end
end
module Google
module Ads
module GoogleAds
module V2
module Services
MutateCampaignBudgetsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v2.services.MutateCampaignBudgetsRequest").msgclass
CampaignBudgetOperation = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v2.services.CampaignBudgetOperation").msgclass
end
end
end
end
end
include Google::Ads::GoogleAds::V2::Services
def main
r = MutateCampaignBudgetsRequest.new
r.operations = [CampaignBudgetOperation.new]
end
if __FILE__ == $0
main
end
currently protobuf gives this error:
Traceback (most recent call last):
2: from hi.rb:40:in `<main>'
1: from hi.rb:36:in `main'
hi.rb:36:in `method_missing': Expected repeated field array (Google::Protobuf::TypeError)
Describe the solution you'd like Assigning an array to a repeated field should work if all the values are of the right type
Describe alternatives you've considered N/A Additional context my ldap pnlpn@ for on-corp discussions.