module ConfigurationParser
  class Proxy
    def initialize
      @hash = {}
    end

    attr_reader :hash

    private

    def set(value, other_value)
      @hash[value] = other_value
    end

    def configure(nest, &block)
      nester = Proxy.new
      nester.instance_eval(&block)
      @hash[nest] = nester.hash
    end
  end

  private_constant :Proxy
end

module ConfigurationParser
  class Proxy
    def initialize
      @hash = {}
    end

    attr_reader :hash

    private

    def set(value, other_value)
      @hash[value] = other_value
    end

    def configure(nest, &block)
      nester = self.class.new
      nester.instance_eval(&block)
      @hash[nest] = nester.hash
    end
  end

  private_constant :Proxy
end

Use `self.class` to indicate lack of collaborators
Use `self.class` to indicate lack of collaborators

Using `self.class` shows me that there are no other classes collaborating with
this class.
