Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Order
- attr_accessor :tracking_id, :client_ref_no, :service, :vehicle, :round_trip,
- :pickup_target_from, :pickup_target_to
- FIELD_MAPPINGS = {
- tracking_id: "OrderTrackingID".freeze,
- client_ref_no: "ClientRefNo".freeze,
- service: "Service".freeze,
- vehicle: "Vehicle".freeze,
- round_trip: "RoundTrip".freeze,
- pickup_target_from: "PickupTargetFrom".freeze,
- pickup_target_to: "PickupTargetTo".freeze,
- }.freeze
- def initialize(response_body)
- FIELD_MAPPINGS.each do |attr, key|
- public_send("#{attr}=", response_body.fetch(key))
- end
- end
- end
- # Usage
- order = Order.new({
- "OrderTrackingID" => 603072717,
- "ClientRefNo" => "ORDER-1",
- "Service" => "Quick Delivery",
- "Vehicle" => "Car",
- "RoundTrip" => false,
- "PickupTargetFrom" => "2017-07-27T12:13:00",
- "PickupTargetTo" => "2017-07-27T13:13:00"
- })
- order.tracking_id
- # => 60307217
- order.pickup_target_from
- # => "2017-07-27T12:13:00"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement