summaryrefslogtreecommitdiffstats
path: root/legacy/example.rb
blob: 182ae1d11a3adf8d029defe2707661f6af0fcbd2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
require 'state'

include UpState

HdAvail = State.new_type("hdAvail", [Event.new("DevKit_FoundHD")], [], [:uid, :name, :blkdev])
FstabAvail = State.new_type("fstabLine", [Event.new("Can_Mount", {:mount_str => /.*/})], [], [[:uid, :name, :blkdev], :mount_str])
Mount = State.new_type("mount", [Event::Epsilon], [Dependency.new(HdAvail, {:uid => /.*/}), Dependency.new(FstabAvail, {:mount_str => /.*/})])

events = [
	["DevKit_FoundHD", {:uid => "1234", :name => "myhd", :blkdev => "/dev/sda1"}],
	["Can_Mount", {:uid => "1234", :mount_str => "/home"}],
	["Can_Mount", {:uid => "1234"}],
]

State.print_all_color
events.each do |x|
	State.process_event Event.new(*x)
	State.print_all_color
end