Module: Nokogiri::XML::PP::Node
Instance Method Summary collapse
-
#inspect ⇒ Object
:nodoc:.
-
#pretty_print(pp) ⇒ Object
:nodoc:.
Instance Method Details
#inspect ⇒ Object
:nodoc:
6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/nokogiri/xml/pp/node.rb', line 6 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 |
#pretty_print(pp) ⇒ Object
:nodoc:
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 |
# File 'lib/nokogiri/xml/pp/node.rb', line 20 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 |