> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Ownership

export const VersionRequirements = ({versions = []}) => {
  if (!Array.isArray(versions) || versions.length === 0) {
    return null;
  }
  const boundaries = {
    upper: " or lower",
    exact: "",
    lower: " or higher"
  };
  const containerStyle = {
    marginTop: "0.5rem",
    marginBottom: "1.5rem"
  };
  const lineStyle = {
    display: "block",
    margin: "0 0 0.35rem 0",
    fontSize: "0.875rem",
    lineHeight: "1.4"
  };
  const pillBaseStyle = {
    display: "inline-block",
    padding: "0.1em 0.4em",
    borderRadius: "0.25rem",
    border: "1px solid",
    fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace",
    fontSize: "0.85em",
    fontWeight: 500
  };
  const pillColors = {
    "AppSignal for Elixir": {
      background: "#f3e8ff",
      borderColor: "#e9d5ff",
      color: "#9333ea"
    },
    "AppSignal for Front-end": {
      background: "#fef9c3",
      borderColor: "#fde68a",
      color: "#ca8a04"
    },
    "AppSignal for Go": {
      background: "#ccfbf1",
      borderColor: "#99f6e4",
      color: "#0d9488"
    },
    "AppSignal for JavaScript": {
      background: "#fef9c3",
      borderColor: "#fde68a",
      color: "#ca8a04"
    },
    "AppSignal for Node.js": {
      background: "#dcfce7",
      borderColor: "#bbf7d0",
      color: "#16a34a"
    },
    "AppSignal for Python": {
      background: "#dbeafe",
      borderColor: "#bfdbfe",
      color: "#2563eb"
    },
    "AppSignal for Ruby": {
      background: "#fee2e2",
      borderColor: "#fecaca",
      color: "#dc2626"
    },
    "AppSignal for Rust": {
      background: "#ffedd5",
      borderColor: "#fed7aa",
      color: "#ea580c"
    }
  };
  const defaultPillColor = {
    background: "#f4f4f5",
    borderColor: "#e4e4e7",
    color: "#52525b"
  };
  const getPillStyle = name => ({
    ...pillBaseStyle,
    ...pillColors[name] || defaultPillColor
  });
  const getBoundText = bound => {
    return boundaries[bound] || boundaries.lower;
  };
  return <div style={containerStyle}>
      {versions.map((v, i) => <p key={`${v.name}-${v.version}-${v.bound || "lower"}-${i}`} style={lineStyle}>
          This feature requires{" "}
          <code style={getPillStyle(v.name)}>{v.name}</code> version {v.version}
          {getBoundText(v.bound)}.
        </p>)}
    </div>;
};

<VersionRequirements
  versions={[
{ name: "AppSignal for Ruby", version: "4.3.3" }
]}
/>

De AppSignal-gem is direct compatibel met de [Ownership](https://github.com/ankane/ownership/)-gem.

## Gebruik

Wanneer u de Ownership-gem gebruikt om eigendom toe te wijzen aan specifieke codeblokken, voegt de AppSignal voor Ruby-gem automatisch een owner-tag toe aan het resulterende sample, met als waarde de laatste owner die tijdens dat sample aan een codeblok is toegewezen:

<CodeGroup>
  ```ruby Ruby theme={null}
  # This will set the owner tag for this sample to :growth
  owner :growth do
    crunch_user_numbers
  end
  ```
</CodeGroup>

<img src="https://mintcdn.com/appsignal-715f5a51/4TRZP0Sq9Zq7PAPW/assets/images/screenshots/ruby/integrations/ownership/owner-tag.png?fit=max&auto=format&n=4TRZP0Sq9Zq7PAPW&q=85&s=12141ed9f7c50631e3e5f56a92426cfd" alt="Ownership integration in AppSignal" width="1120" height="200" data-path="assets/images/screenshots/ruby/integrations/ownership/owner-tag.png" />

U kunt deze tag gebruiken om samples in AppSignal te filteren op het team dat eigenaar is van de bijbehorende code.

Wanneer een fout wordt gerapporteerd, wordt de owner-tag voor het foutsample ingesteld op de eigenaar van het codeblok dat de fout heeft veroorzaakt.

## Namespaces instellen

U kunt ook de [configuratieoptie `ownership_set_namespace`](/ruby/configuration/options#option-ownership_set_namespace`) op `true` zetten om, naast de owner-tag, ook de namespace automatisch op de owner te laten instellen.

Met namespaces kunt u eenvoudig zien welke performance-acties en fouten eigendom zijn van een specifiek team.

Houd er rekening mee dat het wijzigen van de namespace voor acties en fouten die al aan AppSignal zijn gerapporteerd, ervoor zorgt dat ze als nieuwe acties en fouten worden gerapporteerd.

## Integratie uitschakelen

Om de integratie met de Ownership-gem volledig uit te schakelen, stelt u de [configuratieoptie `instrument_ownership`](/ruby/configuration/options#option-instrument_ownership) in op `false`.
