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