aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/journey/parser_extras.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack/lib/action_dispatch/journey/parser_extras.rb')
-rw-r--r--actionpack/lib/action_dispatch/journey/parser_extras.rb31
1 files changed, 31 insertions, 0 deletions
diff --git a/actionpack/lib/action_dispatch/journey/parser_extras.rb b/actionpack/lib/action_dispatch/journey/parser_extras.rb
new file mode 100644
index 0000000000..18ec6c9b9b
--- /dev/null
+++ b/actionpack/lib/action_dispatch/journey/parser_extras.rb
@@ -0,0 +1,31 @@
+# frozen_string_literal: true
+
+require "action_dispatch/journey/scanner"
+require "action_dispatch/journey/nodes/node"
+
+module ActionDispatch
+ # :stopdoc:
+ module Journey
+ class Parser < Racc::Parser
+ include Journey::Nodes
+
+ def self.parse(string)
+ new.parse string
+ end
+
+ def initialize
+ @scanner = Scanner.new
+ end
+
+ def parse(string)
+ @scanner.scan_setup(string)
+ do_parse
+ end
+
+ def next_token
+ @scanner.next_token
+ end
+ end
+ end
+ # :startdoc:
+end