@@ -113,18 +113,35 @@ def generate_form(id, form_type, form_options = {})
113113 # Retrieves the estimated delivery date of each Rate via SmartRate.
114114 def retrieve_estimated_delivery_date ( id , planned_ship_date )
115115 url = "shipments/#{ id } /smartrate/delivery_date"
116- params = { planned_ship_date : planned_ship_date }
117- response = @client . make_request ( :get , url , params )
116+ wrapped_params = { planned_ship_date : planned_ship_date }
117+ response = @client . make_request ( :get , url , wrapped_params )
118118
119119 EasyPost ::InternalUtilities ::Json . convert_json_to_object ( response , MODEL_CLASS ) . rates
120120 end
121121
122122 # Retrieve a recommended ship date for an existing Shipment via the Precision Shipping API, based on a specific desired delivery date.
123123 def recommend_ship_date ( id , desired_delivery_date )
124124 url = "shipments/#{ id } /smartrate/precision_shipping"
125- params = { desired_delivery_date : desired_delivery_date }
126- response = @client . make_request ( :get , url , params )
125+ wrapped_params = { desired_delivery_date : desired_delivery_date }
126+ response = @client . make_request ( :get , url , wrapped_params )
127127
128128 EasyPost ::InternalUtilities ::Json . convert_json_to_object ( response , MODEL_CLASS ) . rates
129129 end
130+
131+ # Create and buy a Luma Shipment in one call.
132+ def create_and_buy_luma ( params = { } )
133+ url = 'shipments/luma'
134+ wrapped_params = { shipment : params }
135+ response = @client . make_request ( :post , url , wrapped_params )
136+
137+ EasyPost ::InternalUtilities ::Json . convert_json_to_object ( response , MODEL_CLASS )
138+ end
139+
140+ # Buy a Shipment with Luma.
141+ def buy_luma ( id , params = { } )
142+ url = "shipments/#{ id } /luma"
143+ response = @client . make_request ( :post , url , params )
144+
145+ EasyPost ::InternalUtilities ::Json . convert_json_to_object ( response , MODEL_CLASS )
146+ end
130147end
0 commit comments