def register(scope, name)
      scope = scope.to_s
      block_exists = content_blocks[scope].any? { |content_block| content_block.name == name }

      if block_exists
        raise(
          ContentBlockAlreadyRegistered,
          "There's a content block already registered with the name `:#{name}` for the scope `:#{scope}, must be unique"
        )
      end

      content_block = ContentBlockManifest.new(name: name)

      yield(content_block)

      content_block.validate!
      content_blocks[scope].push(content_block)
    end
def register(scope, name)
      scope = scope.to_s
      block_exists = content_blocks[scope].any? { |content_block| content_block.name == name }

      if block_exists
        raise(
          ContentBlockAlreadyRegistered,
          "There's a content block already registered with the name `:#{name}` for the scope `:#{scope}, must be unique"
        )
      end

      content_block = ContentBlockManifest.new(name: name)

      yield(content_block)

      content_block.validate!
      content_blocks[scope].push(content_block)
    end
Public: Registers a content block for the home page.

 scope - a symbol or string representing the scope of the content block.
         Will be persisted as a string.
 name - a symbol representing the name of the content block
 &block - The content block definition.

 Returns nothing. Raises an error if there's already a content block
 registered with that name.