class CPEE::StateMachine

Public Class Methods

new(file,readonly,&state) click to toggle source
# File lib/cpee/statemachine.rb, line 18
def initialize(file,readonly,&state)
  @states = XML::Smart.open_unprotected(file)
  @state = state
  @readonly = readonly
end

Public Instance Methods

readonly?(id) click to toggle source
# File lib/cpee/statemachine.rb, line 29
def readonly?(id)
  @readonly.include? @state.call(id)
end
setable?(id,nval) click to toggle source
# File lib/cpee/statemachine.rb, line 24
def setable?(id,nval)
  cval = @state.call(id)
  @states.find("/states/setable/#{cval}[#{nval}]").length > 0
end