Sha256: c20c112333a636431112a0ac0aacb546ef819ab9ede919747b97b39c5355d7c2

Contents?: true

Size: 1001 Bytes

Versions: 6

Compression:

Stored size: 1001 Bytes

Contents

module Lrama
  class Counterexamples
    class Path
      def initialize(from_state_item, to_state_item)
        @from_state_item = from_state_item
        @to_state_item = to_state_item
      end

      def from
        @from_state_item
      end

      def to
        @to_state_item
      end

      def to_s
        "#<Path(#{type})>"
      end
      alias :inspect :to_s
    end

    class StartPath < Path
      def initialize(to_state_item)
        super nil, to_state_item
      end

      def type
        :start
      end

      def transition?
        false
      end

      def production?
        false
      end
    end

    class TransitionPath < Path
      def type
        :transition
      end

      def transition?
        true
      end

      def production?
        false
      end
    end

    class ProductionPath < Path
      def type
        :production
      end

      def transition?
        false
      end

      def production?
        true
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
lrama-0.5.9 lib/lrama/counterexamples/path.rb
lrama-0.5.8 lib/lrama/counterexamples/path.rb
lrama-0.5.7 lib/lrama/counterexamples/path.rb
lrama-0.5.6 lib/lrama/counterexamples/path.rb
lrama-0.5.5 lib/lrama/counterexamples/path.rb
lrama-0.5.4 lib/lrama/counterexamples/path.rb