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