File Manager

Path: /proc/self/root/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/pry-0.13.1/lib/pry/

Viewing File: command_state.rb

# frozen_string_literal: true

require 'ostruct'

class Pry
  # CommandState is a data structure to hold per-command state.
  #
  # Pry commands can store arbitrary state here. This state persists between
  # subsequent command invocations. All state saved here is unique to the
  # command.
  #
  # @since v0.13.0
  # @api private
  class CommandState
    def self.default
      @default ||= new
    end

    def initialize
      @command_state = {}
    end

    def state_for(command_name)
      @command_state[command_name] ||= OpenStruct.new
    end

    def reset(command_name)
      @command_state[command_name] = OpenStruct.new
    end
  end
end