Class: Lookup
- Inherits:
-
Object
- Object
- Lookup
- Defined in:
- lib/esper_plugin/lookup.rb
Constant Summary collapse
- FILE_UPDATE_CHECK_INTERVAL =
60- @@lookup_table =
Hash.new
- @@next_update_check =
nil
Class Method Summary collapse
Class Method Details
.lookup_tsv(path, key, default_value) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/esper_plugin/lookup.rb', line 18 def self.lookup_tsv(path,key,default_value) unless @@lookup_table[path] @@lookup_table[path] = self.read_tsv(path) end if Time.now > @@next_update_check # Check if file was updated in last FILE_UPDATE_CHECK_INTERVAL sec. if File::Stat.new(path).mtime > (@@next_update_check - FILE_UPDATE_CHECK_INTERVAL) @@lookup_table[path] = self.read_tsv(path) else @@next_update_check = Time.now + FILE_UPDATE_CHECK_INTERVAL end end @@lookup_table[path][key] || default_value end |
.read_tsv(path) ⇒ Object
9 10 11 12 13 14 15 16 |
# File 'lib/esper_plugin/lookup.rb', line 9 def self.read_tsv(path) info "Lookup#read_tsv Loading file : #{path}" if @logger @@next_update_check = Time.now + FILE_UPDATE_CHECK_INTERVAL data = File.open(path).readlines.map do |line| line.chomp.split("\t") end Hash[data] end |