class PositronicBrain::Base
Attributes
dump_name[W]
dump_path[W]
namespace[R]
persistence[RW]
Public Class Methods
dump_name()
click to toggle source
# File lib/positronic_brain/base.rb, line 25 def dump_name @dump_name || self.name.gsub(/^.*\:\:/, '').underscore end
dump_path()
click to toggle source
# File lib/positronic_brain/base.rb, line 29 def dump_path @dump_path || self.superclass.dump_path end
initialize_persistence(path, options = {})
click to toggle source
# File lib/positronic_brain/base.rb, line 45 def initialize_persistence(path, options = {}) persistence_class.new path, persistence_options.merge(options) end
new(namespace, options = {})
click to toggle source
# File lib/positronic_brain/base.rb, line 8 def initialize(namespace, options = {}) @namespace = namespace @persistence = self.class.initialize_persistence(dump_path, options[:persistence] || {}) end
persistence(klass, options = {})
click to toggle source
# File lib/positronic_brain/base.rb, line 41 def persistence(klass, options = {}) @persistence_class, @persistence_options = klass, options end
persistence_class()
click to toggle source
# File lib/positronic_brain/base.rb, line 33 def persistence_class @persistence_class || self.superclass.persistence_class end
persistence_options()
click to toggle source
# File lib/positronic_brain/base.rb, line 37 def persistence_options @persistence_options || self.superclass.persistence_options end
Public Instance Methods
dump_path()
click to toggle source
# File lib/positronic_brain/base.rb, line 13 def dump_path path_parts = [self.class.dump_path, self.class.dump_name, "#{@namespace}.marshal"].compact File.join *path_parts end
inspect()
click to toggle source
# File lib/positronic_brain/base.rb, line 18 def inspect "#<#{self.class.name} #{namespace}>" end