require File.expand_path(File.join(File.dirname(__FILE__), '..', 'fathom')) class Fathom::KnowledgeBase attr_reader :data_store def initialize(opts={}) opts = OptionsHash.new(opts) @data_store = OpenStruct.new end def []=(key, value) @data_store.table[key] = value end def [](key) @data_store.table[key] end # This is temporary, but useful for now. After we have the persisted KnowledgeBase, # we'll create explicit accessor methods or a find syntax. def method_missing(sym, *args, &block) if @data_store.table.keys.include?(sym) @data_store.send(sym) else super end end end if __FILE__ == $0 include Fathom # TODO: Is there anything you want to do to run this file on its own? # KnowledgeBase.new end