Class: TreasureData::FileReader::TimeParserFilter
- Inherits:
-
Object
- Object
- TreasureData::FileReader::TimeParserFilter
- Defined in:
- lib/td/file_reader.rb
Instance Method Summary collapse
- #forward ⇒ Object
-
#initialize(parser, error, opts) ⇒ TimeParserFilter
constructor
A new instance of TimeParserFilter.
- #parse_time(value, format) ⇒ Object
Constructor Details
#initialize(parser, error, opts) ⇒ TimeParserFilter
Returns a new instance of TimeParserFilter.
235 236 237 238 239 240 241 242 243 |
# File 'lib/td/file_reader.rb', line 235 def initialize(parser, error, opts) @parser = parser @error = error @time_column = opts[:time_column] unless @time_column raise '--time-column or --time-value option is required' end @time_format = opts[:time_format] end |
Instance Method Details
#forward ⇒ Object
245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 |
# File 'lib/td/file_reader.rb', line 245 def forward while true row = @parser.forward tval = row[@time_column] unless tval @error.call("time column '#{@time_column}' is missing", row) next end begin if tf = @time_format row['time'] = parse_time(tval, tf).to_i elsif tval.is_a?(Integer) row['time'] = tval else row['time'] = Time.parse(tval).to_i end return row rescue @error.call("invalid time format '#{tval}': #{$!}", row) next end end end |
#parse_time(value, format) ⇒ Object
273 274 275 |
# File 'lib/td/file_reader.rb', line 273 def parse_time(value, format) Time.strptime(value, format) end |