Class: StrongJSON::Type::ErrorPath
- Inherits:
-
Object
- Object
- StrongJSON::Type::ErrorPath
- Defined in:
- lib/strong_json/type.rb
Instance Attribute Summary collapse
-
#parent ⇒ Object
readonly
Returns the value of attribute parent.
-
#type ⇒ Object
readonly
Returns the value of attribute type.
Class Method Summary collapse
Instance Method Summary collapse
- #dig(key:, type:) ⇒ Object
- #expand(type:) ⇒ Object
-
#initialize(type:, parent:) ⇒ ErrorPath
constructor
A new instance of ErrorPath.
- #root? ⇒ Boolean
- #to_s ⇒ Object
Constructor Details
#initialize(type:, parent:) ⇒ ErrorPath
Returns a new instance of ErrorPath.
375 376 377 378 |
# File 'lib/strong_json/type.rb', line 375 def initialize(type:, parent:) @type = type @parent = parent end |
Instance Attribute Details
#parent ⇒ Object (readonly)
Returns the value of attribute parent.
373 374 375 |
# File 'lib/strong_json/type.rb', line 373 def parent @parent end |
#type ⇒ Object (readonly)
Returns the value of attribute type.
373 374 375 |
# File 'lib/strong_json/type.rb', line 373 def type @type end |
Class Method Details
Instance Method Details
#dig(key:, type:) ⇒ Object
380 381 382 383 384 |
# File 'lib/strong_json/type.rb', line 380 def dig(key:, type:) # @type var parent: [Integer | Symbol | nil, ErrorPath] parent = [key, self] self.class.new(type: type, parent: parent) end |
#expand(type:) ⇒ Object
386 387 388 389 390 |
# File 'lib/strong_json/type.rb', line 386 def (type:) # @type var parent: [Integer | Symbol | nil, ErrorPath] parent = [nil, self] self.class.new(type: type, parent: parent) end |
#root? ⇒ Boolean
396 397 398 |
# File 'lib/strong_json/type.rb', line 396 def root? !parent end |
#to_s ⇒ Object
400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 |
# File 'lib/strong_json/type.rb', line 400 def to_s if pa = parent if key = pa[0] pa[1].to_s + case key when Integer "[#{key}]" when Symbol ".#{key}" end else pa[1].to_s end else "$" end end |