Module: Psych::Pure::CommentExtensions::ToRuby

Defined in:
lib/psych/pure.rb

Overview

Extend the ToRuby visitor to be able to attach comments to the resulting Ruby objects.

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#commentsObject (readonly)

Returns the value of attribute comments.



829
830
831
# File 'lib/psych/pure.rb', line 829

def comments
  @comments
end

Instance Method Details

#accept(node) ⇒ Object



836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
# File 'lib/psych/pure.rb', line 836

def accept(node)
  result = super

  if @comments
    case result
    when LoadedObject, LoadedHash
      # skip
    else
      result =
        if result.is_a?(Array)
          LoadedArray.new(result, node)
        else
          LoadedObject.new(result, node)
        end
    end
  end

  result
end

#initialize(ss, class_loader, symbolize_names: false, freeze: false, comments: false) ⇒ Object



831
832
833
834
# File 'lib/psych/pure.rb', line 831

def initialize(ss, class_loader, symbolize_names: false, freeze: false, comments: false)
  super(ss, class_loader, symbolize_names: symbolize_names, freeze: freeze)
  @comments = comments
end