class MapboxDirections::Parametizer
Constants
- ACCEPTED_PARAMS
- ALLOWED_VALUES
- TRANSPORT_MODES
Public Class Methods
new(options)
click to toggle source
# File lib/mapbox_directions/parametizer.rb, line 13 def initialize(options) @options = options end
Public Instance Methods
params_hash()
click to toggle source
# File lib/mapbox_directions/parametizer.rb, line 17 def params_hash raise MissingAccessTokenError unless filtered_params[:access_token] filtered_params end
profile()
click to toggle source
# File lib/mapbox_directions/parametizer.rb, line 22 def profile raise UnsupportedTransportModeError unless TRANSPORT_MODES.include?(@options[:mode]) "mapbox.#{@options[:mode]}" end
waypoints()
click to toggle source
# File lib/mapbox_directions/parametizer.rb, line 27 def waypoints raise CoordinatesFormatError if invalid_waypoints? "#{@options[:origin]};#{@options[:destination]}" end
Private Instance Methods
filtered_params()
click to toggle source
# File lib/mapbox_directions/parametizer.rb, line 34 def filtered_params @filtered_params ||= @options.select { |key, value| valid_key_value?(key, value) } end
invalid_coordinates?(coordinates)
click to toggle source
# File lib/mapbox_directions/parametizer.rb, line 42 def invalid_coordinates?(coordinates) /^(\-?\d*(\.\d+)?),(\-?\d*(\.\d+)?)$/.match(coordinates).nil? end
invalid_waypoints?()
click to toggle source
# File lib/mapbox_directions/parametizer.rb, line 38 def invalid_waypoints? invalid_coordinates?(@options[:origin]) || invalid_coordinates?(@options[:destination]) end
valid_key_value?(key, value)
click to toggle source
# File lib/mapbox_directions/parametizer.rb, line 46 def valid_key_value?(key, value) key == :access_token || ACCEPTED_PARAMS.include?(key.to_s) && ALLOWED_VALUES[key].include?(value) end