class GoogleDistanceMatrix::Route
Public: Thin wrapper class for an element in the matrix.
The route has the data the element contains, pluss it references it's origin and destination.
Constants
- ATTRIBUTES
- STATUSES
Public Class Methods
new(attributes = {})
click to toggle source
# File lib/google_distance_matrix/route.rb, line 24 def initialize(attributes = {}) attributes = attributes.with_indifferent_access @origin = attributes[:origin] @destination = attributes[:destination] @status = ActiveSupport::StringInquirer.new attributes[:status].downcase assign attributes if ok? end
Public Instance Methods
inspect()
click to toggle source
# File lib/google_distance_matrix/route.rb, line 35 def inspect attrs = ATTRIBUTES.reject do |a| public_send(a).blank? end inspection = attrs.map { |a| "#{a}: #{public_send(a).inspect}" }.join ', ' "#<#{self.class} #{inspection}>" end
Private Instance Methods
assign(attributes)
click to toggle source
# File lib/google_distance_matrix/route.rb, line 47 def assign(attributes) @distance_text = attributes[:distance][:text] @distance_in_meters = attributes[:distance][:value] @duration_text = attributes[:duration][:text] @duration_in_seconds = attributes[:duration][:value] return unless attributes.key? :duration_in_traffic @duration_in_traffic_text = attributes[:duration_in_traffic][:text] @duration_in_traffic_in_seconds = attributes[:duration_in_traffic][:value] end