{
  "SPDXID": "SPDXRef-DOCUMENT",
  "name": "rubygem-websocket-driver-doc-0.0.7.6-2.oe2403sp1.aarch64.rpm",
  "spdxVersion": "SPDX-2.2",
  "creationInfo": {
    "created": "2026-08-01T18:38:11.49130576Z",
    "creators": [
      "openeuler_creator"
    ]
  },
  "dataLicense": "CC0-1.0",
  "documentNamespace": "https://sbom.openEuler.org/rubygem-websocket-driver-doc-0.0.7.6-2.oe2403sp1.aarch64.rpm",
  "packages": [
    {
      "SPDXID": "SPDXRef-rpm-rubygem-websocket-driver-doc-0.7.6",
      "name": "rubygem-websocket-driver-doc",
      "licenseConcluded": "MIT",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "2cb479c78d2b2931c310f11800245b4c8d21930506723b72cb95cbb198d99379"
        }
      ],
      "description": "Documentation for rubygem-websocket-driver.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/rubygem-websocket-driver-doc@0.7.6-2.oe2403sp1?arch=noarch&epoch=0&upstream=rubygem-websocket-driver-0.7.6-2.oe2403sp1.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "http://github.com/faye/websocket-driver-ruby",
      "licenseDeclared": "MIT",
      "sourceInfo": "acquired package info from repodata DB: repodata/49812e1cb655fdb98aae3f2bca46c110f68209046fc0d0ee105a88e91d47c87d-primary.sqlite.bz2",
      "summary": "Documentation for rubygem-websocket-driver",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:0.7.6-2.oe2403sp1"
    },
    {
      "SPDXID": "SPDXRef-rpm-rubygem-websocket-driver-0.7.6",
      "name": "rubygem-websocket-driver",
      "licenseConcluded": "MIT",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "c83349673380f47f43a1ed603ea71d488f0392b84b3af3ec80c78bcd515df2f4"
        }
      ],
      "description": "This module provides a complete implementation of the WebSocket protocols that\ncan be hooked up to any TCP library. It aims to simplify things by decoupling\nthe protocol details from the I/O layer, such that users only need to implement\ncode to stream data in and out of it without needing to know anything about how\nthe protocol actually works. Think of it as a complete WebSocket system with\npluggable I/O.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/rubygem-websocket-driver@0.7.6-2.oe2403sp1?arch=x86_64&epoch=0&upstream=rubygem-websocket-driver-0.7.6-2.oe2403sp1.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "http://github.com/faye/websocket-driver-ruby",
      "licenseDeclared": "MIT",
      "sourceInfo": "acquired package info from repodata DB: repodata/49812e1cb655fdb98aae3f2bca46c110f68209046fc0d0ee105a88e91d47c87d-primary.sqlite.bz2",
      "summary": "WebSocket protocol handler with pluggable I/O",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:0.7.6-2.oe2403sp1"
    }
  ],
  "relationships": [
    {
      "spdxElementId": "SPDXRef-rpm-rubygem-websocket-driver-doc-0.7.6",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-rubygem-websocket-driver-0.7.6"
    }
  ]
}
