Advertisement
Guest User

Untitled

a guest
Aug 22nd, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.93 KB | None | 0 0
  1. class Order
  2. attr_accessor :tracking_id, :client_ref_no, :service, :vehicle, :round_trip,
  3. :pickup_target_from, :pickup_target_to
  4.  
  5. FIELD_MAPPINGS = {
  6. tracking_id: "OrderTrackingID".freeze,
  7. client_ref_no: "ClientRefNo".freeze,
  8. service: "Service".freeze,
  9. vehicle: "Vehicle".freeze,
  10. round_trip: "RoundTrip".freeze,
  11. pickup_target_from: "PickupTargetFrom".freeze,
  12. pickup_target_to: "PickupTargetTo".freeze,
  13. }.freeze
  14.  
  15. def initialize(response_body)
  16. FIELD_MAPPINGS.each do |attr, key|
  17. public_send("#{attr}=", response_body.fetch(key))
  18. end
  19. end
  20. end
  21.  
  22. # Usage
  23.  
  24. order = Order.new({
  25. "OrderTrackingID" => 603072717,
  26. "ClientRefNo" => "ORDER-1",
  27. "Service" => "Quick Delivery",
  28. "Vehicle" => "Car",
  29. "RoundTrip" => false,
  30. "PickupTargetFrom" => "2017-07-27T12:13:00",
  31. "PickupTargetTo" => "2017-07-27T13:13:00"
  32. })
  33.  
  34. order.tracking_id
  35. # => 60307217
  36.  
  37. order.pickup_target_from
  38. # => "2017-07-27T12:13:00"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement