/usr/lib/ruby/vendor_ruby/nokogiri/xml/pp/node.rb is in ruby-nokogiri 1.6.7.2-3build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | module Nokogiri
module XML
module PP
module Node
def inspect # :nodoc:
attributes = inspect_attributes.reject { |x|
begin
attribute = send x
!attribute || (attribute.respond_to?(:empty?) && attribute.empty?)
rescue NoMethodError
true
end
}.map { |attribute|
"#{attribute.to_s.sub(/_\w+/, 's')}=#{send(attribute).inspect}"
}.join ' '
"#<#{self.class.name}:#{sprintf("0x%x", object_id)} #{attributes}>"
end
def pretty_print pp # :nodoc:
nice_name = self.class.name.split('::').last
pp.group(2, "#(#{nice_name}:#{sprintf("0x%x", object_id)} {", '})') do
pp.breakable
attrs = inspect_attributes.map { |t|
[t, send(t)] if respond_to?(t)
}.compact.find_all { |x|
if x.last
if [:attribute_nodes, :children].include? x.first
!x.last.empty?
else
true
end
end
}
pp.seplist(attrs) do |v|
if [:attribute_nodes, :children].include? v.first
pp.group(2, "#{v.first.to_s.sub(/_\w+$/, 's')} = [", "]") do
pp.breakable
pp.seplist(v.last) do |item|
pp.pp item
end
end
else
pp.text "#{v.first} = "
pp.pp v.last
end
end
pp.breakable
end
end
end
end
end
end
|