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