Class: Gisele::VM::ProgList

Inherits:
Component show all
Extended by:
Forwardable
Defined in:
lib/gisele/vm/prog_list.rb,
lib/gisele/vm/prog_list/sqldb.rb,
lib/gisele/vm/prog_list/memory.rb,
lib/gisele/vm/prog_list/storage.rb

Defined Under Namespace

Classes: Memory, Sqldb, Storage

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Component

#connected!, #connected?, #registered!, #registered?, #vm

Constructor Details

#initialize(storage) ⇒ ProgList

Returns a new instance of ProgList.



6
7
8
9
# File 'lib/gisele/vm/prog_list.rb', line 6

def initialize(storage)
  super()
  @storage = storage
end

Class Method Details

.memoryObject



11
12
13
# File 'lib/gisele/vm/prog_list.rb', line 11

def self.memory
  ProgList.new storage("memory")
end

.storage(options = nil) ⇒ Object



15
16
17
18
19
20
21
# File 'lib/gisele/vm/prog_list.rb', line 15

def self.storage(options = nil)
  options = {:uri => "memory"} unless options
  options = {:uri => options } unless Hash===options
  options[:uri] = "memory" unless options[:uri]
  options[:uri] = "#{Sqldb.sqlite_protocol}:memory" if options[:uri]=='memory'
  ProgList::Sqldb.new(options)
end

Instance Method Details

#connectObject



33
34
35
36
# File 'lib/gisele/vm/prog_list.rb', line 33

def connect
  super
  @storage.connect
end

#disconnectObject



38
39
40
41
# File 'lib/gisele/vm/prog_list.rb', line 38

def disconnect
  super
  @storage.disconnect
end

#registered(vm) ⇒ Object



23
24
25
26
# File 'lib/gisele/vm/prog_list.rb', line 23

def registered(vm)
  super
  @storage.registered(vm)
end

#unregisteredObject



28
29
30
31
# File 'lib/gisele/vm/prog_list.rb', line 28

def unregistered
  super
  @storage.unregistered
end