Sha256: accf1fbdc423041961115502debc7f59f131053aaae55ea3ce60062913370d15

Contents?: true

Size: 1.05 KB

Versions: 71

Compression:

Stored size: 1.05 KB

Contents

# This file is part of CPEE.
#
# CPEE is free software: you can redistribute it and/or modify it under the terms
# of the GNU General Public License as published by the Free Software Foundation,
# either version 3 of the License, or (at your option) any later version.
#
# CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.  See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along with
# CPEE (file COPYING in the main directory).  If not, see
# <http://www.gnu.org/licenses/>.

module CPEE

  class StateMachine
    def initialize(file,readonly,&state)
      @states = XML::Smart.open_unprotected(file)
      @state = state
      @readonly = readonly
    end

    def setable?(id,nval)
      cval = @state.call(id)
      @states.find("/states/setable/#{cval}[#{nval}]").length > 0
    end

    def readonly?(id)
      @readonly.include? @state.call(id)
    end
  end

end

Version data entries

71 entries across 71 versions & 1 rubygems

Version Path
cpee-2.1.79 lib/cpee/statemachine.rb
cpee-2.1.78 lib/cpee/statemachine.rb
cpee-2.1.77 lib/cpee/statemachine.rb
cpee-2.1.75 lib/cpee/statemachine.rb
cpee-2.1.74 lib/cpee/statemachine.rb
cpee-2.1.73 lib/cpee/statemachine.rb
cpee-2.1.71 lib/cpee/statemachine.rb
cpee-2.1.70 lib/cpee/statemachine.rb
cpee-2.1.69 lib/cpee/statemachine.rb
cpee-2.1.68 lib/cpee/statemachine.rb
cpee-2.1.67 lib/cpee/statemachine.rb
cpee-2.1.66 lib/cpee/statemachine.rb
cpee-2.1.64 lib/cpee/statemachine.rb
cpee-2.1.63 lib/cpee/statemachine.rb
cpee-2.1.62 lib/cpee/statemachine.rb
cpee-2.1.61 lib/cpee/statemachine.rb
cpee-2.1.60 lib/cpee/statemachine.rb
cpee-2.1.59 lib/cpee/statemachine.rb
cpee-2.1.58 lib/cpee/statemachine.rb
cpee-2.1.57 lib/cpee/statemachine.rb