Class: Transilien::StopArea

Inherits:
MicroService show all
Defined in:
lib/transilien/stop_area.rb

Constant Summary

Constants inherited from MicroService

MicroService::API_HOST, MicroService::API_URI, MicroService::Default_cache_duration

Instance Attribute Summary

Attributes inherited from MicroService

#access_time, #external_code, #name, #payload

Instance Method Summary collapse

Methods inherited from MicroService

action, action_component, action_instance_xpath, action_param, add_filters, cache_it, cache_keys, errors, filters, filters=, find, find_from_full_query_cache, find_from_query_caches, from_node, http, params, #to_s

Instance Method Details

#additional_dataObject



18
19
20
# File 'lib/transilien/stop_area.rb', line 18

def additional_data
  @additional_data ||= payload['AdditionalData']
end

#car_parkObject



10
11
12
# File 'lib/transilien/stop_area.rb', line 10

def car_park
  @car_park ||= payload['CarPark'] == '1'
end

#cityObject



44
45
46
# File 'lib/transilien/stop_area.rb', line 44

def city
  @city ||= Transilien::City.from_node(payload.at('City'), access_time)
end

#codesObject



60
61
62
# File 'lib/transilien/stop_area.rb', line 60

def codes
  @codes ||= lines.map(&:code).uniq.sort
end

#coordObject



26
27
28
29
30
31
# File 'lib/transilien/stop_area.rb', line 26

def coord
  @coord ||= {
    x: payload.at('Coord').at('CoordX').content.sub(',','.').to_f,
    y: payload.at('Coord').at('CoordY').content.sub(',','.').to_f
  }
end

#hangsObject



48
49
50
# File 'lib/transilien/stop_area.rb', line 48

def hangs
  @hangs ||= payload.at('HangList').children
end

#linesObject



56
57
58
# File 'lib/transilien/stop_area.rb', line 56

def lines
  @lines ||= Transilien::Line.find(stop_area_external_code: external_code)
end

#main_connectionObject



14
15
16
# File 'lib/transilien/stop_area.rb', line 14

def main_connection
  @main_connection ||= payload['MainConnection'] == '1'
end

#main_stop_areaObject



2
3
4
# File 'lib/transilien/stop_area.rb', line 2

def main_stop_area
  @main_stop_area ||= payload['MainStopArea'] == '1'
end

#modesObject Also known as: mode_types



33
34
35
36
37
38
39
40
41
# File 'lib/transilien/stop_area.rb', line 33

def modes
  @modes ||= begin
    modes = []
    payload.at('ModeList').children.each do |mode|
      modes << Transilien::ModeType.from_node(mode, access_time)
    end
    modes
  end
end

#multi_modalObject



6
7
8
# File 'lib/transilien/stop_area.rb', line 6

def multi_modal
  @multi_modal ||= payload['MultiModal'] == '1'
end

#resa_rail_codeObject



22
23
24
# File 'lib/transilien/stop_area.rb', line 22

def resa_rail_code
  @resa_rail_code ||= payload['ResaRailCode']
end

#stop_pointsObject



52
53
54
# File 'lib/transilien/stop_area.rb', line 52

def stop_points
  @stop_points ||= Transilien::StopPoint.find(stop_area_external_code: external_code)
end