class Routific

Main class of this gem

Attributes

fleet[R]
options[R]
visits[R]

Public Class Methods

new() click to toggle source

Constructor

# File lib/routific.rb, line 18
def initialize()
  Routific.validate_token
  @visits = {}
  @fleet = {}
  @options = {}
end
set_token(token) click to toggle source

Sets the default access token to use

# File lib/routific.rb, line 70
def set_token(token)
  @@token = token
  validate_token
  @@token = Util.prefix_token(@@token)
end
token() click to toggle source
# File lib/routific.rb, line 76
def token
  @@token
end
validate_token() click to toggle source
# File lib/routific.rb, line 80
def validate_token
  raise ArgumentError, "access token must be set" if @@token.nil?
end

Public Instance Methods

get_route() click to toggle source

Returns the route using the previously provided visits and fleet information

# File lib/routific.rb, line 46
def get_route
  data = {
    visits: visits,
    fleet: fleet
  }

  data[:options] = options if options
  result = Util.send_request("POST", "vrp", Routific.token, data)
  RoutificApi::Route.parse(result)
end
get_route_async() click to toggle source
# File lib/routific.rb, line 57
def get_route_async
  data = {
    visits: visits,
    fleet: fleet
  }

  data[:options] = options if options
  result = Util.send_request("POST", "vrp-long", Routific.token, data)
  RoutificApi::Job.new(result["job_id"], data)
end
set_options(params) click to toggle source

Sets options with the specified params params: parameters for these options

# File lib/routific.rb, line 41
def set_options(params)
  @options = RoutificApi::Options.new(params)
end
set_vehicle(id, params) click to toggle source

Sets a vehicle with the specified ID and parameters id: vehicle ID params: parameters for this vehicle

# File lib/routific.rb, line 35
def set_vehicle(id, params)
  fleet[id] = RoutificApi::Vehicle.new(id, params)
end
set_visit(id, params={}) click to toggle source

Sets a visit for the specified location using the specified parameters id: ID of location to visit params: parameters for this visit

# File lib/routific.rb, line 28
def set_visit(id, params={})
  visits[id] = RoutificApi::Visit.new(id, params)
end