lib/zuora/calls/subscribe.rb in zuora-ruby-0.6.0 vs lib/zuora/calls/subscribe.rb in zuora-ruby-0.7.0
- old
+ new
@@ -1,5 +1,7 @@
+# frozen_string_literal: true
+
module Zuora
module Calls
class Subscribe < Hashie::Dash
property :account, required: true
property :payment_method
@@ -8,11 +10,11 @@
property :subscribe_options
property :subscription
property :rate_plan
property :rate_plan_charge
- SIMPLE_OBJECTS = [:account, :payment_method, :bill_to_contact].freeze
+ SIMPLE_OBJECTS = %i[account payment_method bill_to_contact].freeze
# Generates a function that adds login fields to a buidler
# @return [Callable] function of builder
def xml_builder
lambda do |builder|
@@ -41,13 +43,15 @@
end
# Builds the complex, nested part of the subscribe request
# @param [Nokogiri::XML::Builder] builder
def build_complex_objects(builder)
- builder[:api].SubscribeOptions do
- Zuora::Utils::Envelope.build_fields(builder, :api, subscribe_options)
- end if subscribe_options
+ if subscribe_options
+ builder[:api].SubscribeOptions do
+ Zuora::Utils::Envelope.build_fields(builder, :api, subscribe_options)
+ end
+ end
builder[:api].SubscriptionData do
build_object(builder, :Subscription, subscription)
builder[:api].RatePlanData do
build_object(builder, :RatePlan, rate_plan)
@@ -61,12 +65,14 @@
# Helper for building one object
# [Nokogiri::XML::Builder] builder
# [Symbol] type
# [Hash] data
def build_object(builder, type, data)
- builder[:api].send(type) do
- build_fields builder, data
- end if data
+ if data
+ builder[:api].send(type) do
+ build_fields builder, data
+ end
+ end
end
# [Nokogiri::XML::Builder] builder
# [Nokogiri::XML::Builder] builder
# [Hash] data