Class: Watobo::DataStore

Inherits:
Object
  • Object
show all
Defined in:
lib/watobo/adapters/data_store.rb

Overview

:nodoc: all

Class Method Summary collapse

Class Method Details

.connect(project_name, session_name) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
# File 'lib/watobo/adapters/data_store.rb', line 33

def self.connect(project_name, session_name)
  a = Watobo::Conf::Datastore.adapter
  store = case
  when 'file'
    FileSessionStore.new(project_name, session_name)
  else
    nil
  end
  @engine = store
  store
end

.engineObject



7
8
9
# File 'lib/watobo/adapters/data_store.rb', line 7

def self.engine
  @engine
end

.method_missing(name, *args, &block) ⇒ Object



45
46
47
48
# File 'lib/watobo/adapters/data_store.rb', line 45

def self.method_missing(name, *args, &block)
  super unless @engine.respond_to? name
  @engine.send name, *args, &block
end

.projects(&block) ⇒ Object



11
12
13
14
15
16
17
18
19
# File 'lib/watobo/adapters/data_store.rb', line 11

def self.projects(&block)
  ps = []
   Dir.glob("#{Watobo.workspace_path}/*").each do |p|
     pname = File.basename(p)
     yield pname if block_given?
     ps << pname
   end
   ps
end

.sessions(project_name, &block) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
# File 'lib/watobo/adapters/data_store.rb', line 21

def self.sessions(project_name, &block)
  ss = []
  project_name = project_name.to_s if project_name.is_a? Symbol
  return ps unless File.exist? "#{Watobo.workspace_path}/#{project_name}"
   Dir.glob("#{Watobo.workspace_path}/#{project_name}/*").each do |s|
     sname = File.basename(s)
     yield sname if block_given?
     ss << sname
   end
   ss
end