clase Sensor<
#Purpose:
# el => 1) recibe el texto que contiene la información cerca de 1 sensor
# el => 2) analiza el Info, y lo almacena como características del obj
# a través del objeto de Struct
# el => 3) tiene método para empujar los datos en un archivo 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 del 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: ¿nueva fecha \ (").*? ¿(? =")/
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]
extremo
mysql_out del def (db_mysql)
extremo
csv_out del def (f_output)
self.each hacen |i|
f_output.print i, “,”
extremo
“\ n” de f_output.print
extremo
extremo
#Objective -
# =>
# =>
# =>
# =>
collect_stats del def (s_html, s_path)
rgx_pass_1 = /id. *?}/m #1. crean un RegExp para conseguir individuales
# resultados
(s_html) Web site s_file = abierto del paso de .read #2. en variable s_file
b = [] #3. crea un arsenal vacío para sostenerse
# objetos del sensor
s_file.scan (rgx_pass_1) .each hacen |i| #4. Secuencia de la exploración para los fósforos de RegExp
# a) paso cada resultado
a = Sensor.new #5. crean el nuevo objeto del sensor
a.fill_struct (i) #6. invocan el método del terraplén del objeto
# a) con el resultado
almacén del b< " claro " de end