Class: KBS::Blackboard::Persistence::Store

Inherits:
Object
  • Object
show all
Defined in:
lib/kbs/blackboard/persistence/store.rb

Overview

Abstract interface for fact persistence

Direct Known Subclasses

HybridStore, RedisStore, SqliteStore

Instance Method Summary collapse

Instance Method Details

#add_fact(uuid, type, attributes) ⇒ Object

Raises:

  • (NotImplementedError)


8
9
10
# File 'lib/kbs/blackboard/persistence/store.rb', line 8

def add_fact(uuid, type, attributes)
  raise NotImplementedError, "#{self.class} must implement #add_fact"
end

#clear_session(session_id) ⇒ Object

Raises:

  • (NotImplementedError)


32
33
34
# File 'lib/kbs/blackboard/persistence/store.rb', line 32

def clear_session(session_id)
  raise NotImplementedError, "#{self.class} must implement #clear_session"
end

#closeObject

Raises:

  • (NotImplementedError)


40
41
42
# File 'lib/kbs/blackboard/persistence/store.rb', line 40

def close
  raise NotImplementedError, "#{self.class} must implement #close"
end

#get_fact(uuid) ⇒ Object

Raises:

  • (NotImplementedError)


20
21
22
# File 'lib/kbs/blackboard/persistence/store.rb', line 20

def get_fact(uuid)
  raise NotImplementedError, "#{self.class} must implement #get_fact"
end

#get_facts(type = nil, pattern = {}) ⇒ Object

Raises:

  • (NotImplementedError)


24
25
26
# File 'lib/kbs/blackboard/persistence/store.rb', line 24

def get_facts(type = nil, pattern = {})
  raise NotImplementedError, "#{self.class} must implement #get_facts"
end

#query_facts(conditions = nil, params = []) ⇒ Object

Raises:

  • (NotImplementedError)


28
29
30
# File 'lib/kbs/blackboard/persistence/store.rb', line 28

def query_facts(conditions = nil, params = [])
  raise NotImplementedError, "#{self.class} must implement #query_facts"
end

#remove_fact(uuid) ⇒ Object

Raises:

  • (NotImplementedError)


12
13
14
# File 'lib/kbs/blackboard/persistence/store.rb', line 12

def remove_fact(uuid)
  raise NotImplementedError, "#{self.class} must implement #remove_fact"
end

#statsObject

Raises:

  • (NotImplementedError)


36
37
38
# File 'lib/kbs/blackboard/persistence/store.rb', line 36

def stats
  raise NotImplementedError, "#{self.class} must implement #stats"
end

#transaction(&block) ⇒ Object



48
49
50
51
# File 'lib/kbs/blackboard/persistence/store.rb', line 48

def transaction(&block)
  # Default: just execute the block
  yield if block_given?
end

#update_fact(uuid, attributes) ⇒ Object

Raises:

  • (NotImplementedError)


16
17
18
# File 'lib/kbs/blackboard/persistence/store.rb', line 16

def update_fact(uuid, attributes)
  raise NotImplementedError, "#{self.class} must implement #update_fact"
end

#vacuumObject



44
45
46
# File 'lib/kbs/blackboard/persistence/store.rb', line 44

def vacuum
  # Optional operation - no-op by default
end