Sha256: a479aa1f3bf98fff85df01ad3c0a5c48d29cc40bc3538bd46526d1ce78718ae8

Contents?: true

Size: 510 Bytes

Versions: 24

Compression:

Stored size: 510 Bytes

Contents

# frozen_string_literal: true

# :markup: markdown

module ActionDispatch
  module Journey # :nodoc:
    module NFA # :nodoc:
      module Dot # :nodoc:
        def to_dot
          edges = transitions.map { |from, sym, to|
            "  #{from} -> #{to} [label=\"#{sym || 'ε'}\"];"
          }

          <<-eodot
digraph nfa {
  rankdir=LR;
  node [shape = doublecircle];
  #{accepting_states.join ' '};
  node [shape = circle];
#{edges.join "\n"}
}
          eodot
        end
      end
    end
  end
end

Version data entries

24 entries across 24 versions & 2 rubygems

Version Path
actionpack-8.0.2 lib/action_dispatch/journey/nfa/dot.rb
actionpack-8.0.1 lib/action_dispatch/journey/nfa/dot.rb
actionpack-8.0.0.1 lib/action_dispatch/journey/nfa/dot.rb
actionpack-7.2.2.1 lib/action_dispatch/journey/nfa/dot.rb
actionpack-8.0.0 lib/action_dispatch/journey/nfa/dot.rb
actionpack-7.2.2 lib/action_dispatch/journey/nfa/dot.rb
actionpack-8.0.0.rc2 lib/action_dispatch/journey/nfa/dot.rb
actionpack-7.2.1.2 lib/action_dispatch/journey/nfa/dot.rb
actionpack-8.0.0.rc1 lib/action_dispatch/journey/nfa/dot.rb
actionpack-7.2.1.1 lib/action_dispatch/journey/nfa/dot.rb
actionpack-8.0.0.beta1 lib/action_dispatch/journey/nfa/dot.rb
omg-actionpack-8.0.0.alpha9 lib/action_dispatch/journey/nfa/dot.rb
omg-actionpack-8.0.0.alpha8 lib/action_dispatch/journey/nfa/dot.rb
omg-actionpack-8.0.0.alpha7 lib/action_dispatch/journey/nfa/dot.rb
omg-actionpack-8.0.0.alpha4 lib/action_dispatch/journey/nfa/dot.rb
omg-actionpack-8.0.0.alpha3 lib/action_dispatch/journey/nfa/dot.rb
omg-actionpack-8.0.0.alpha2 lib/action_dispatch/journey/nfa/dot.rb
omg-actionpack-8.0.0.alpha1 lib/action_dispatch/journey/nfa/dot.rb
actionpack-7.2.1 lib/action_dispatch/journey/nfa/dot.rb
actionpack-7.2.0 lib/action_dispatch/journey/nfa/dot.rb