classe Sensor<
#Purpose :
# le => 1) reçoit le texte contenant des informations sur 1 sonde
# le => 2) analyse l'information, et la stocke comme propriétés de l'obj
# par l'objet de Struct
# le => 3) a la méthode pour pousser les données dans un dossier 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 de 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 : nouvelle date \ ("). * ? (? =")/
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]
extrémité
mysql_out de def (db_mysql)
extrémité
csv_out de def (f_output)
self.each font |i|
f_output.print i, « , »
extrémité
« de f_output.print \ n »
extrémité
extrémité
#Objective -
# =>
# =>
# =>
# =>
collect_stats de def (s_html, s_path)
rgx_pass_1 = /id. * ?}/m #1. créent un RegExp pour devenir individuels
# résultats
(s_html) site Web s_file = ouvert de passage de .read #2. dans la variable s_file
b = [] #3. créent une rangée vide pour se tenir
# objets de sonde
s_file.scan (rgx_pass_1) .each font |i| #4. Corde de balayage pour des allumettes de RegExp
# a) passage chaque résultat
a = Sensor.new #5. créent le nouvel objet de sonde
a.fill_struct (i) #6. appellent la méthode de la suffisance de l'objet
# a) avec le résultat
magasin du b<
" clair " d'end