1 >
' http://dfwtraffic.dot.state.tx.us/DalTrans/GetFile.aspx?FileName=MapBurnerOutput/TrafficDetectors.js' class= " ясное " >
it
тип Sensor< #Purpose: # => 1) получает текст содержа информацию о 1 датчике # => 2) Parses info, и хранит он как свойства obj # через предмет Struct # => 3) имеет метод для того чтобы нажать данные в архив .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 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: новая дата \ ("). *? (? =")/ 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] конец mysql_out def (db_mysql) конец csv_out def (f_output) self.each делают |iий| f_output.print iий, «,» конец «f_output.print \ n» конец конец #Objective - # => # => # => # => collect_stats def (s_html, s_path) rgx_pass_1 = /id. *?}/m #1. создают RegExp для того чтобы получить индивидуальными # результаты s_file = открытое (s_html) вебсайт пропуска .read #2. в s_file перемеююый b = [] #3. создает пустой блок для того чтобы держать # предметы датчика s_file.scan (rgx_pass_1) .each делают |iий| #4. Шнур развертки для спичек RegExp # a) Проходите каждый результат a = Sensor.new #5. создают новый предмет датчика a.fill_struct (I) #6. призывают метод заполнения предмета # a) с результатом магазин b< end