16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/ratis/route.rb', line 16
def self.all
response = Request.get 'Allroutes2'
return [] unless response.success?
routes = {}
response.to_hash[:allroutes2_response][:routes][:item].each do |item|
if routes.has_key? item[:route]
routes[item[:route]] << item
else
routes[item[:route]] = [item]
end
end
routes.map do |short_name, _routes|
directions = _routes.map{|rte| rte[:direction] }.reject{|dir| dir == '*' }
Route.new(short_name, directions)
end.compact.sort_by{|rte| rte.short_name }
end
|