classe Sensor<
#Purpose:
# o => 1) recebe o texto que contem a informação aproximadamente 1 sensor
# o => 2) analisa gramaticalmente a informação, e armazena-a como propriedades do obj
# através do objeto de Struct
# o => 3) tem o método para introduzir os dados em uma lima de .csv
#
Struct.new (: s_id,
: s_name,
: s_dataSourceId,
: s_tmcId,
: s_type,
: s_status,
: s_speed,
: s_volume,
: s_longVolume,
: s_occupancy,
: s_lastUpdated)
fill_struct do def (s_text)
@arr = Array.new (11)
@arr [0] = (? <=id: ").*? (? =")/
@arr [1] = (? <=name: ").*? (? =")/
@arr [2] = (? <=dataSourceId: ").*? (? =")/
@arr [3] = (? <=tmcID: ").*? (? =")/
@arr [4] = (? <=type: ").*? (? =")/
@arr [5] = (? <=status: ").*? (? =")/
@arr [6] = (? <=speed: ). *? (? =,)/
@arr [7] = (? <=volume: ). *? (? =,)/
@arr [8] = (? <=longVolume: ). *? (? =,)/
@arr [9] = (? <=occupancy: ). *? (? =,)/
@arr [10] = (? <=lastUpdated: data nova \ (").*? (? =")/
self.s_id = s_text.scan (@arr [0]) [0]
self.s_name = s_text.scan (@arr [1]) [0]
self.s_dataSourceId = s_text.scan (@arr [2]) [0]
self.s_tmcId = s_text.scan (@arr [3]) [0]
self.s_type = s_text.scan (@arr [4]) [0]
self.s_status = s_text.scan (@arr [5]) [0]
self.s_speed = s_text.scan (@arr [6]) [0] .to_i
self.s_volume = s_text.scan (@arr [7]) [0] .to_i
self.s_longVolume = s_text.scan (@arr [8]) [0] .to_i
self.s_occupancy = s_text.scan (@arr [9]) [0] .to_i
self.s_lastUpdated = s_text.scan (@arr [10]) [0]
extremidade
mysql_out do def (db_mysql)
extremidade
csv_out do def (f_output)
self.each fazem |i|
f_output.print i, “,”
extremidade
“de f_output.print \ n”
extremidade
extremidade
#Objective -
# =>
# =>
# =>
# =>
collect_stats do def (s_html, s_path)
rgx_pass_1 = /id. *?}/m #1. criam um RegExp para começ individuais
# resultados
(s_html) Web site s_file = aberto da passagem de .read #2. na variável s_file
b = [] #3. cria uma disposição vazia para prender
# objetos do sensor
s_file.scan (rgx_pass_1) .each fazem |i| #4. Corda da varredura para fósforos de RegExp
# a) passagem cada resultado
a = Sensor.new #5. criam o objeto novo do sensor
a.fill_struct (i) #6. invocam o método da suficiência do objeto
# a) com o resultado
loja do b< " desobstruído " de end