Sha256: 18462fdf958c95c9705070d2d56054f803cf6900deb9760427b642d7bced9656

Contents?: true

Size: 1.22 KB

Versions: 1

Compression:

Stored size: 1.22 KB

Contents

module Ratis

  ################################# EXAMPLE ############################################
  #
  # Ratis::RouteStops.all :route => 8, :direction => 'S', :order => 'S'
  #
  ######################################################################################

  class RouteStops

    def self.all(conditions)
      route = conditions.delete :route
      direction = conditions.delete(:direction).to_s.upcase
      order = conditions.delete(:order).to_s.upcase

      raise ArgumentError.new('You must provide a route') unless route
      raise ArgumentError.new('You must provide a direction') unless direction

      Ratis.all_conditions_used? conditions

      request_params = {'Route' => route, 'Direction' => direction }
      request_params.merge! order ? { 'Order' => order } : {}
      response = Request.get 'Routestops', request_params

      return [] unless response.success?

      response.to_hash[:routestops_response][:stops][:stop].map do |s|
        stop = Stop.new
        stop.description = s[:description]
        stop.area = s[:area]
        stop.atis_stop_id = s[:atisstopid]
        stop.stop_seq = s[:stopseq]
        stop.latitude, stop.longitude = s[:point].split ','
        stop
      end
    end

  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ratis-2.5.2.1 lib/ratis/route_stops.rb