lib/regexp_parser/expression/methods/printing.rb
module Regexp::Expression
module Shared
def inspect
[
"#<#{self.class}",
pretty_print_instance_variables.map { |v| " #{v}=#{instance_variable_get(v).inspect}" },
">"
].join
end
# Make pretty-print work despite #inspect implementation.
def pretty_print(q)
q.pp_object(self)
end
# Called by pretty_print (ruby/pp) and #inspect.
def pretty_print_instance_variables
[
(:@text unless text.to_s.empty?),
(:@quantifier if quantified?),
(:@options unless options.empty?),
(:@expressions unless terminal?),
].compact
end
end
end