class PackageTracker::Response
Attributes
statuses[R]
tracking_number[R]
Public Class Methods
new(tracking_number, carrier, statuses=[])
click to toggle source
# File lib/package_tracker/response.rb, line 6 def initialize(tracking_number, carrier, statuses=[]) @tracking_number = tracking_number @carrier = carrier @statuses = statuses sort_statuses! end
Public Instance Methods
add_status(message, time, location="")
click to toggle source
# File lib/package_tracker/response.rb, line 13 def add_status(message, time, location="") @statuses << { :message => message, :time => time, :location => location } sort_statuses! end
current_location()
click to toggle source
# File lib/package_tracker/response.rb, line 22 def current_location current_status[:location] end
current_status()
click to toggle source
# File lib/package_tracker/response.rb, line 18 def current_status @statuses.first end
delivered?()
click to toggle source
# File lib/package_tracker/response.rb, line 26 def delivered? current_status[:message] == @carrier.delivered_status end
Private Instance Methods
sort_statuses!()
click to toggle source
# File lib/package_tracker/response.rb, line 32 def sort_statuses! @statuses.sort_by! { |status| status[:time] }.reverse! end