Class: Byebug::Printers::Xml::Variable
- Inherits:
-
Object
- Object
- Byebug::Printers::Xml::Variable
- Defined in:
- lib/byebug/printers/xml.rb
Instance Attribute Summary collapse
-
#kind ⇒ Object
readonly
Returns the value of attribute kind.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Instance Method Summary collapse
- #has_children? ⇒ Boolean
- #id ⇒ Object
-
#initialize(name, value, kind = nil) ⇒ Variable
constructor
A new instance of Variable.
- #to_hash ⇒ Object
- #type ⇒ Object
- #value ⇒ Object
Constructor Details
#initialize(name, value, kind = nil) ⇒ Variable
Returns a new instance of Variable.
97 98 99 100 101 |
# File 'lib/byebug/printers/xml.rb', line 97 def initialize(name, value, kind = nil) @name = name.to_s @value = value @kind = kind end |
Instance Attribute Details
#kind ⇒ Object (readonly)
Returns the value of attribute kind.
96 97 98 |
# File 'lib/byebug/printers/xml.rb', line 96 def kind @kind end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
96 97 98 |
# File 'lib/byebug/printers/xml.rb', line 96 def name @name end |
Instance Method Details
#has_children? ⇒ Boolean
103 104 105 106 107 108 109 110 111 |
# File 'lib/byebug/printers/xml.rb', line 103 def has_children? if @value.is_a?(Array) || @value.is_a?(Hash) !@value.empty? else !@value.instance_variables.empty? || !@value.class.class_variables.empty? end rescue false end |
#id ⇒ Object
134 135 136 137 138 |
# File 'lib/byebug/printers/xml.rb', line 134 def id @value.respond_to?(:object_id) ? "%#+x" % @value.object_id : nil rescue nil end |
#to_hash ⇒ Object
146 147 148 |
# File 'lib/byebug/printers/xml.rb', line 146 def to_hash {name: @name, kind: @kind, value: value, type: type, has_children: has_children?, id: id} end |
#type ⇒ Object
140 141 142 143 144 |
# File 'lib/byebug/printers/xml.rb', line 140 def type @value.class rescue "Undefined" end |
#value ⇒ Object
113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 |
# File 'lib/byebug/printers/xml.rb', line 113 def value if @value.is_a?(Array) || @value.is_a?(Hash) if has_children? "#{@value.class} (#{@value.size} element(s))" else "Empty #{@value.class}" end else value_str = @value.nil? ? 'nil' : @value.to_s if !value_str.is_a?(String) "ERROR: #{@value.class}.to_s method returns #{value_str.class}. Should return String." elsif binary_data?(value_str) "[Binary Data]" else value_str.gsub(/^(")(.*)(")$/, '\2') end end rescue => e "<raised exception: #{e}>" end |