class CPEE::StateMachine
Public Class Methods
Source
# File lib/cpee/statemachine.rb, line 24 def initialize(file,&state) @states = XML::Smart.open_unprotected(file) @state = state @readonly = @states.find("/states/observable/*[*]").map { |e| e.qname.name } @final = @states.find("/states/observable/*[not(*)]").map { |e| e.qname.name } end
Public Instance Methods
Source
# File lib/cpee/statemachine.rb, line 40 def final?(id) @final.include? @state.call(id) end
Source
# File lib/cpee/statemachine.rb, line 36 def readonly?(id) @readonly.include? @state.call(id) end
Source
# File lib/cpee/statemachine.rb, line 31 def setable?(id,nval) cval = @state.call(id) @states.find("/states/setable/#{cval}[#{nval}]").length > 0 end