Class: Ratis::RoutePattern

Inherits:
Object
  • Object
show all
Defined in:
lib/ratis/route_pattern.rb

Defined Under Namespace

Classes: Point, Stop

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Attribute Details

#dateObject

Returns the value of attribute date.



3
4
5
# File 'lib/ratis/route_pattern.rb', line 3

def date
  @date
end

#directionObject

Returns the value of attribute direction.



3
4
5
# File 'lib/ratis/route_pattern.rb', line 3

def direction
  @direction
end

#pointsObject

Returns the value of attribute points.



3
4
5
# File 'lib/ratis/route_pattern.rb', line 3

def points
  @points
end

#route_short_nameObject

Returns the value of attribute route_short_name.



3
4
5
# File 'lib/ratis/route_pattern.rb', line 3

def route_short_name
  @route_short_name
end

#routeidObject

Returns the value of attribute routeid.



3
4
5
# File 'lib/ratis/route_pattern.rb', line 3

def routeid
  @routeid
end

#service_typeObject

Returns the value of attribute service_type.



3
4
5
# File 'lib/ratis/route_pattern.rb', line 3

def service_type
  @service_type
end

#stopsObject

Returns the value of attribute stops.



3
4
5
# File 'lib/ratis/route_pattern.rb', line 3

def stops
  @stops
end

Class Method Details

.all(conditions) ⇒ Object

Ratis::RoutePattern.all( :route_short_name => “0”, :direction => “N”, :date => “01/28/2013”, :service_type => ‘W’, :routeid => “61540”)

Raises:

  • (ArgumentError)


6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/ratis/route_pattern.rb', line 6

def self.all(conditions)
  short_name   = conditions.delete :route_short_name
  direction    = conditions.delete :direction
  date         = conditions.delete :date
  service_type = conditions.delete :service_type
  routeid      = conditions.delete :routeid

  raise ArgumentError.new('You must provide a route_short_name') unless short_name
  raise ArgumentError.new('You must provide a direction') unless direction
  raise ArgumentError.new('You must provide a date') unless date
  raise ArgumentError.new('You must provide a service_type') unless service_type
  raise ArgumentError.new('You must provide a routeid') unless routeid

  Ratis.all_conditions_used? conditions

  request_params = { 'Route' => short_name, 'Direction' => direction, 'Date' => date, 'Servicetype' => service_type, 'Routeid' => routeid }

  response = Request.get 'Routepattern', request_params

  return nil unless response.success?

  routepattern = RoutePattern.new

  routepattern.stops = response.to_hash[:routepattern_response][:stops][:stop].map do |s|
    stop               = RoutePattern::Stop.new
    stop.desc          = s[:description]
    stop.area          = s[:area]
    stop.atisid        = s[:atisstopid]
    stop.stopid        = s[:stopid]
    stop.point         = s[:point]
    stop.lat, stop.lng = s[:point].split ','
    stop.boardflag     = s[:boardflag]
    stop.timepoint     = s[:timepoint]
    stop
  end

  routepattern.points = response.to_hash[:routepattern_response][:points][:point].map do |p|
    point                = RoutePattern::Point.new
    point.lat, point.lng = p.split ','
    point
  end

  routepattern
end