class Blocktrain::Lookups
Public Instance Methods
aliases()
click to toggle source
# File lib/blocktrain/lookups.rb, line 10 def aliases init! if @aliases.nil? @aliases end
init!()
click to toggle source
Separate out initialization for testing purposes
# File lib/blocktrain/lookups.rb, line 20 def init! @lookups ||= {} @aliases ||= {} # Get unique list of keys from ES r = Aggregations::TermsAggregation.new(from: '2015-09-01 00:00:00Z', to: '2015-09-02 00:00:00Z', term: "memoryAddress").results addresses = r.map {|x| x["key"]} # Get a memory location for each key addresses.each do |address| r = Query.new(from: '2015-09-01 10:00:00Z', to: '2015-09-30 11:00:00Z', memory_addresses: address, limit: 1).results signal_name = remove_cruft(r.first["_source"]["signalName"].to_s) @lookups[signal_name] = address end # Read aliases from file aliases = OpenStruct.new fetch_yaml 'signal_aliases' aliases.each_pair do |key, value| @aliases[key.to_s] = @lookups[value] @lookups[key.to_s] = @lookups[value] end end
lookups()
click to toggle source
# File lib/blocktrain/lookups.rb, line 5 def lookups init! if @lookups.nil? @lookups end
reset!()
click to toggle source
# File lib/blocktrain/lookups.rb, line 15 def reset! @lookups = nil end
Private Instance Methods
fetch_yaml(file)
click to toggle source
# File lib/blocktrain/lookups.rb, line 42 def fetch_yaml file YAML.load(File.open(File.join(File.dirname(__FILE__), '..', '..', 'config/%s.yml' % file))) end
remove_cruft(signal)
click to toggle source
This will go away once we get the correct signals in the DB
# File lib/blocktrain/lookups.rb, line 47 def remove_cruft(signal) parts = signal.split(".") [ parts[0..-3].join('.'), parts.pop ].join('.') end