I' writing a piece of code that will integrate with TripIt. In my TripIt plans, I have an example trip with ONE item (Activity). I want to sort by date. The sort fails. When I add another Activity the sort works. I believe it's because of when it's a single item, it's a hash and when it's a collection of items, it's an array of hashes.
Here is my sort method:
@tripit_trip[k].sort_by { |h| h["StartDateTime"]["date"] }.each do |o|
o["ObjectType"] = "ActivityObject"
tmp[ o["StartDateTime"]["date"] ] = [] if tmp[ o["StartDateTime"]["date"] ].nil?
tmp[ o["StartDateTime"]["date"] ] << o
end
It fails on the first line.
Here is what the data looks like coming from TripIt:
// One item --- id: "20392856" trip_id: "11086745" is_client_traveler: "true" relative_url: /reservation/show/id/20392856 display_name: Programming is_purchased: "true" StartDateTime: date: "2011-01-09" timezone: Asia/Ulaanbaatar
This is the TripIt data when there are two items:
// Two items
---
- id: "20631958"
trip_id: "11086745"
is_client_traveler: "true"
relative_url: /reservation/show/id/20631958
display_name: Programming 2
is_purchased: "true"
StartDateTime:
date: "2011-01-09"
timezone: Asia/Ulaanbaatar
- id: "20392856"
trip_id: "11086745"
is_client_traveler: "true"
relative_url: /reservation/show/id/20392856
display_name: Programming
is_purchased: "true"
StartDateTime:
date: "2011-01-09"
timezone: Asia/Ulaanbaatar
Any insight on what I'm doing wrong would be wonderful.
Thanks!