lib/fathom/knowledge_base.rb in fathom-0.1.0 vs lib/fathom/knowledge_base.rb in fathom-0.2.0
- old
+ new
@@ -1,18 +1,30 @@
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 = {}
+ @data_store = OpenStruct.new
end
def []=(key, value)
- @data_store[key] = value
+ @data_store.table[key] = value
end
def [](key)
- @data_store[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