# File lib/nanoc/base/compilation/rule_memory_calculator.rb, line 23
    def [](obj)
      result = case obj.type
        when :item_rep
          @rules_collection.new_rule_memory_for_rep(obj)
        when :layout
          @rules_collection.new_rule_memory_for_layout(obj)
        else
          raise RuntimeError,
            "Do not know how to calculate the rule memory for #{obj.inspect}"
      end

      result
    end