forgot to run the spec, and wrap the case as a context
override Ripper::Filter#parse to hide structure of its argument
delete needless library
delete codes for just trying ripper
require only ripper/filter
delete on_default to use Ripper::Filter's default on_default
declare on_kw method
add a simple class representing the state of a parser
add a class method to Parser to hide the Ripper::Filter's API, which I don't like.
make sure Parser#on_default returns the argument as-is

set the initial value of parse

make on_kw return state as-is