Sha256: 203f4b2e5f64e6997b94462d0b9c5241c410a7c2b419d6186a682ea815f48b82

Contents?: true

Size: 1.67 KB

Versions: 2

Compression:

Stored size: 1.67 KB

Contents

unless defined? $__fsm__
  $__fsm__ = __FILE__ 

  module FSM 
#--{{{
    FSM::LIBNAME = 
      'fsm' unless
        defined? FSM::LIBNAME

    FSM::VERSION = 
      '0.0.0' unless
        defined? FSM::VERSION

    FSM::LIBVER = 
      "#{ FSM::LIBNAME }-#{ FSM::VERSION }" unless
        defined? FSM::LIBVER

    FSM::DIRNAME = 
      File::dirname(File::expand_path(__FILE__)) + File::SEPARATOR unless
        defined? FSM::DIRNAME

    FSM::ROOTDIR = 
      File::dirname(FSM::DIRNAME) unless
        defined? FSM::ROOTDIR

    FSM::LIBDIR = 
      File::join(FSM::DIRNAME, FSM::LIBVER) + File::SEPARATOR unless
        defined? FSM::LIBDIR

    FSM::INCDIR = 
      File::dirname(FSM::LIBDIR) + File::SEPARATOR unless
        defined? FSM::INCDIR

    FSM::DISPLAY_CMD =
      ENV['FSM_DISPLAY_CMD'] || 'display'

    FSM::DOT_CMD =
      ENV['FSM_DOT_CMD'] || 'dot'

    require 'tempfile'
    require 'thread'
    require 'sync'
    require 'enumerator'

    begin
      $:.unshift LIBDIR
      require 'graph/directed_graph'
    ensure
      $:.shift
    end

    require LIBDIR + 'util'
    require LIBDIR + 'event'
    require LIBDIR + 'fsm'
    require LIBDIR + 'observer'
    require LIBDIR + 'system'
    require LIBDIR + 'dsl'

    def self.new(*a, &b) FSM.new(*a, &b) end
    def self.system(*a, &b) System.new(*a, &b) end

    module ::Kernel
      def FSM(*a, &b) ::FSM.new(*a, &b) end
      def FSMSystem(*a, &b) ::FSM::System.new(*a, &b) end
    end
#--}}}
  end # module FSM

  class Thread
    def joinable
      @joinable = false unless defined? @joinable
    end
    alias_method 'joinable?', 'joinable'
    def joinable= bool
      @joinable = bool ? true : false 
    end
  end
end

Version data entries

2 entries across 1 versions & 1 rubygems

Version Path
fsm-0.0.0 lib/fsm.rb
fsm-0.0.0 lib/fsm-0.0.0.rb