Class: GoogleDistanceMatrix::Route
- Inherits:
-
Object
- Object
- GoogleDistanceMatrix::Route
- Defined in:
- lib/google_distance_matrix/route.rb
Overview
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.
Constant Summary collapse
- STATUSES =
%w[ok zero_results not_found]
- ATTRIBUTES =
%w[ origin destination status distance_text distance_in_meters duration_text duration_in_seconds ]
Instance Method Summary collapse
-
#initialize(attributes = {}) ⇒ Route
constructor
A new instance of Route.
- #inspect ⇒ Object
Constructor Details
#initialize(attributes = {}) ⇒ Route
Returns a new instance of Route.
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/google_distance_matrix/route.rb', line 20 def initialize(attributes = {}) attributes = attributes.with_indifferent_access @origin = attributes[:origin] @destination = attributes[:destination] @status = ActiveSupport::StringInquirer.new attributes[:status].downcase if ok? @distance_text = attributes[:distance][:text] @distance_in_meters = attributes[:distance][:value] @duration_text = attributes[:duration][:text] @duration_in_seconds = attributes[:duration][:value] end end |
Instance Method Details
#inspect ⇒ Object
38 39 40 41 42 |
# File 'lib/google_distance_matrix/route.rb', line 38 def inspect inspection = ATTRIBUTES.reject { |a| public_send(a).blank? }.map { |a| "#{a}: #{public_send(a).inspect}" }.join ', ' "#<#{self.class} #{inspection}>" end |