diff --git a/Exception.html b/Exception.html index 6f9a81e..c56449d 100644 --- a/Exception.html +++ b/Exception.html @@ -407,7 +407,7 @@

- + raven/ext/exception.cr @@ -550,7 +550,7 @@


- [View source] + [View source]
@@ -566,7 +566,7 @@


- [View source] + [View source]
diff --git a/Raven.html b/Raven.html index 2f4da14..33bc8ec 100644 --- a/Raven.html +++ b/Raven.html @@ -386,231 +386,231 @@

- + raven.cr:8
- + raven.cr:19
- + raven/breadcrumb.cr
- + raven/breadcrumb_buffer.cr
- + raven/client.cr
- + raven/client_state.cr
- + raven/configuration.cr
- + raven/context.cr
- + raven/error.cr
- + raven/event.cr
- + raven/instance.cr
- + raven/interface.cr
- + raven/interfaces/exception.cr
- + raven/interfaces/http.cr
- + raven/interfaces/message.cr
- + raven/interfaces/single_exception.cr
- + raven/interfaces/stacktrace.cr
- + raven/log.cr
- + raven/log_backend.cr
- + raven/mixins/initialize_with.cr
- + raven/processor.cr
- + raven/processors/compact.cr
- + raven/processors/cookies.cr
- + raven/processors/http_headers.cr
- + raven/processors/remove_circular_references.cr
- + raven/processors/remove_stacktrace.cr
- + raven/processors/request_method_data.cr
- + raven/processors/sanitize_data.cr
- + raven/processors/utf8_conversion.cr
- + raven/transport.cr
- + raven/transports/dummy.cr
- + raven/transports/http.cr
- + raven/version.cr @@ -719,7 +719,7 @@


- [View source] + [View source]
@@ -735,7 +735,7 @@


- [View source] + [View source]
@@ -763,7 +763,7 @@


- [View source] + [View source]
diff --git a/Raven/Breadcrumb.html b/Raven/Breadcrumb.html index 0b2f686..e6a1745 100644 --- a/Raven/Breadcrumb.html +++ b/Raven/Breadcrumb.html @@ -388,7 +388,7 @@

- + raven/breadcrumb.cr @@ -619,7 +619,7 @@


- [View source] + [View source]
@@ -660,7 +660,7 @@


- [View source] + [View source]
@@ -685,7 +685,7 @@


- [View source] + [View source]
@@ -750,7 +750,7 @@


- [View source] + [View source]
@@ -772,7 +772,7 @@


- [View source] + [View source]
@@ -794,7 +794,7 @@


- [View source] + [View source]
@@ -816,7 +816,7 @@


- [View source] + [View source]
@@ -838,7 +838,7 @@


- [View source] + [View source]
@@ -860,7 +860,7 @@


- [View source] + [View source]
@@ -881,7 +881,7 @@


- [View source] + [View source]
@@ -902,7 +902,7 @@


- [View source] + [View source]
@@ -918,7 +918,7 @@


- [View source] + [View source]
@@ -944,7 +944,7 @@


- [View source] + [View source]
@@ -970,7 +970,7 @@


- [View source] + [View source]
@@ -996,7 +996,7 @@


- [View source] + [View source]
diff --git a/Raven/Breadcrumb/Severity.html b/Raven/Breadcrumb/Severity.html index 57e7f14..a50e963 100644 --- a/Raven/Breadcrumb/Severity.html +++ b/Raven/Breadcrumb/Severity.html @@ -383,7 +383,7 @@

- + raven/breadcrumb.cr @@ -561,7 +561,7 @@


- [View source] + [View source]
@@ -577,7 +577,7 @@


- [View source] + [View source]
@@ -593,7 +593,7 @@


- [View source] + [View source]
@@ -609,7 +609,7 @@


- [View source] + [View source]
@@ -625,7 +625,7 @@


- [View source] + [View source]
diff --git a/Raven/Breadcrumb/Type.html b/Raven/Breadcrumb/Type.html index e6aa131..9ba8b2c 100644 --- a/Raven/Breadcrumb/Type.html +++ b/Raven/Breadcrumb/Type.html @@ -388,7 +388,7 @@

- + raven/breadcrumb.cr @@ -546,7 +546,7 @@


- [View source] + [View source]
@@ -562,7 +562,7 @@


- [View source] + [View source]
@@ -578,7 +578,7 @@


- [View source] + [View source]
diff --git a/Raven/BreadcrumbBuffer.html b/Raven/BreadcrumbBuffer.html index 22a8fc8..90729cc 100644 --- a/Raven/BreadcrumbBuffer.html +++ b/Raven/BreadcrumbBuffer.html @@ -388,7 +388,7 @@

- + raven/breadcrumb_buffer.cr @@ -576,7 +576,7 @@


- [View source] + [View source]
@@ -604,7 +604,7 @@


- [View source] + [View source]
@@ -620,7 +620,7 @@


- [View source] + [View source]
@@ -650,7 +650,7 @@


- [View source] + [View source]
@@ -675,7 +675,7 @@


- [View source] + [View source]
@@ -706,7 +706,7 @@


- [View source] + [View source]
@@ -722,7 +722,7 @@


- [View source] + [View source]
@@ -738,7 +738,7 @@


- [View source] + [View source]
@@ -754,7 +754,7 @@


- [View source] + [View source]
@@ -770,7 +770,7 @@


- [View source] + [View source]
@@ -786,7 +786,7 @@


- [View source] + [View source]
@@ -802,7 +802,7 @@


- [View source] + [View source]
@@ -818,7 +818,7 @@


- [View source] + [View source]
diff --git a/Raven/Client.html b/Raven/Client.html index e717635..0891ecf 100644 --- a/Raven/Client.html +++ b/Raven/Client.html @@ -385,7 +385,7 @@

- + raven/client.cr @@ -533,7 +533,7 @@


- [View source] + [View source]
@@ -565,7 +565,7 @@


- [View source] + [View source]
@@ -581,7 +581,7 @@


- [View source] + [View source]
@@ -597,7 +597,7 @@


- [View source] + [View source]
@@ -613,7 +613,7 @@


- [View source] + [View source]
@@ -629,7 +629,7 @@


- [View source] + [View source]
diff --git a/Raven/Client/State.html b/Raven/Client/State.html index 9ad754f..14a4ff1 100644 --- a/Raven/Client/State.html +++ b/Raven/Client/State.html @@ -374,7 +374,7 @@

- + raven/client_state.cr @@ -498,7 +498,7 @@


- [View source] + [View source]
@@ -530,7 +530,7 @@


- [View source] + [View source]
@@ -546,7 +546,7 @@


- [View source] + [View source]
@@ -562,7 +562,7 @@


- [View source] + [View source]
@@ -578,7 +578,7 @@


- [View source] + [View source]
@@ -594,7 +594,7 @@


- [View source] + [View source]
diff --git a/Raven/Client/State/Status.html b/Raven/Client/State/Status.html index 7e6617c..c054906 100644 --- a/Raven/Client/State/Status.html +++ b/Raven/Client/State/Status.html @@ -372,7 +372,7 @@

- + raven/client_state.cr @@ -520,7 +520,7 @@


- [View source] + [View source]
@@ -536,7 +536,7 @@


- [View source] + [View source]
diff --git a/Raven/Configuration.html b/Raven/Configuration.html index 8f0dda4..db2515e 100644 --- a/Raven/Configuration.html +++ b/Raven/Configuration.html @@ -374,7 +374,7 @@

- + raven/configuration.cr @@ -1137,7 +1137,7 @@


- [View source] + [View source]
@@ -1169,7 +1169,7 @@


- [View source] + [View source]
@@ -1185,7 +1185,7 @@


- [View source] + [View source]
@@ -1201,7 +1201,7 @@


- [View source] + [View source]
@@ -1224,7 +1224,7 @@


- [View source] + [View source]
@@ -1247,7 +1247,7 @@


- [View source] + [View source]
@@ -1270,7 +1270,7 @@


- [View source] + [View source]
@@ -1286,7 +1286,7 @@


- [View source] + [View source]
@@ -1302,7 +1302,7 @@


- [View source] + [View source]
@@ -1329,7 +1329,7 @@


- [View source] + [View source]
@@ -1356,7 +1356,7 @@


- [View source] + [View source]
@@ -1383,7 +1383,7 @@


- [View source] + [View source]
@@ -1410,7 +1410,7 @@


- [View source] + [View source]
@@ -1426,7 +1426,7 @@


- [View source] + [View source]
@@ -1442,7 +1442,7 @@


- [View source] + [View source]
@@ -1458,7 +1458,7 @@


- [View source] + [View source]
@@ -1474,7 +1474,7 @@


- [View source] + [View source]
@@ -1495,7 +1495,7 @@


- [View source] + [View source]
@@ -1516,7 +1516,7 @@


- [View source] + [View source]
@@ -1532,7 +1532,7 @@


- [View source] + [View source]
@@ -1548,7 +1548,7 @@


- [View source] + [View source]
@@ -1564,7 +1564,7 @@


- [View source] + [View source]
@@ -1586,7 +1586,7 @@


- [View source] + [View source]
@@ -1608,7 +1608,7 @@


- [View source] + [View source]
@@ -1629,7 +1629,7 @@


- [View source] + [View source]
@@ -1645,7 +1645,7 @@


- [View source] + [View source]
@@ -1661,7 +1661,7 @@


- [View source] + [View source]
@@ -1682,7 +1682,7 @@


- [View source] + [View source]
@@ -1703,7 +1703,7 @@


- [View source] + [View source]
@@ -1724,7 +1724,7 @@


- [View source] + [View source]
@@ -1745,7 +1745,7 @@


- [View source] + [View source]
@@ -1768,7 +1768,7 @@


- [View source] + [View source]
@@ -1791,7 +1791,7 @@


- [View source] + [View source]
@@ -1814,7 +1814,7 @@


- [View source] + [View source]
@@ -1837,7 +1837,7 @@


- [View source] + [View source]
@@ -1858,7 +1858,7 @@


- [View source] + [View source]
@@ -1879,7 +1879,7 @@


- [View source] + [View source]
@@ -1895,7 +1895,7 @@


- [View source] + [View source]
@@ -1911,7 +1911,7 @@


- [View source] + [View source]
@@ -1927,7 +1927,7 @@


- [View source] + [View source]
@@ -1943,7 +1943,7 @@


- [View source] + [View source]
@@ -1964,7 +1964,7 @@


- [View source] + [View source]
@@ -1985,7 +1985,7 @@


- [View source] + [View source]
@@ -2006,7 +2006,7 @@


- [View source] + [View source]
@@ -2027,7 +2027,7 @@


- [View source] + [View source]
@@ -2049,7 +2049,7 @@


- [View source] + [View source]
@@ -2071,7 +2071,7 @@


- [View source] + [View source]
@@ -2093,7 +2093,7 @@


- [View source] + [View source]
@@ -2115,7 +2115,7 @@


- [View source] + [View source]
@@ -2136,7 +2136,7 @@


- [View source] + [View source]
@@ -2157,7 +2157,7 @@


- [View source] + [View source]
@@ -2179,7 +2179,7 @@


- [View source] + [View source]
@@ -2201,7 +2201,7 @@


- [View source] + [View source]
@@ -2222,7 +2222,7 @@


- [View source] + [View source]
@@ -2243,7 +2243,7 @@


- [View source] + [View source]
@@ -2264,7 +2264,7 @@


- [View source] + [View source]
@@ -2285,7 +2285,7 @@


- [View source] + [View source]
@@ -2307,7 +2307,7 @@


- [View source] + [View source]
@@ -2329,7 +2329,7 @@


- [View source] + [View source]
@@ -2351,7 +2351,7 @@


- [View source] + [View source]
@@ -2373,7 +2373,7 @@


- [View source] + [View source]
@@ -2395,7 +2395,7 @@


- [View source] + [View source]
@@ -2417,7 +2417,7 @@


- [View source] + [View source]
@@ -2439,7 +2439,7 @@


- [View source] + [View source]
@@ -2461,7 +2461,7 @@


- [View source] + [View source]
@@ -2485,7 +2485,7 @@


- [View source] + [View source]
@@ -2509,7 +2509,7 @@


- [View source] + [View source]
@@ -2531,7 +2531,7 @@


- [View source] + [View source]
@@ -2553,7 +2553,7 @@


- [View source] + [View source]
@@ -2575,7 +2575,7 @@


- [View source] + [View source]
@@ -2597,7 +2597,7 @@


- [View source] + [View source]
@@ -2619,7 +2619,7 @@


- [View source] + [View source]
@@ -2641,7 +2641,7 @@


- [View source] + [View source]
@@ -2665,7 +2665,7 @@


- [View source] + [View source]
@@ -2689,7 +2689,7 @@


- [View source] + [View source]
@@ -2710,7 +2710,7 @@


- [View source] + [View source]
@@ -2731,7 +2731,7 @@


- [View source] + [View source]
@@ -2752,7 +2752,7 @@


- [View source] + [View source]
@@ -2773,7 +2773,7 @@


- [View source] + [View source]
@@ -2797,7 +2797,7 @@


- [View source] + [View source]
@@ -2821,7 +2821,7 @@


- [View source] + [View source]
@@ -2842,7 +2842,7 @@


- [View source] + [View source]
@@ -2863,7 +2863,7 @@


- [View source] + [View source]
@@ -2879,7 +2879,7 @@


- [View source] + [View source]
@@ -2895,7 +2895,7 @@


- [View source] + [View source]
@@ -2911,7 +2911,7 @@


- [View source] + [View source]
@@ -3008,7 +3008,7 @@


- [View source] + [View source]
@@ -3033,7 +3033,7 @@


- [View source] + [View source]
@@ -3058,7 +3058,7 @@


- [View source] + [View source]
@@ -3074,7 +3074,7 @@


- [View source] + [View source]
@@ -3090,7 +3090,7 @@


- [View source] + [View source]
diff --git a/Raven/Configuration/Encoding.html b/Raven/Configuration/Encoding.html index 05aa1ca..2904eff 100644 --- a/Raven/Configuration/Encoding.html +++ b/Raven/Configuration/Encoding.html @@ -383,7 +383,7 @@

- + raven/configuration.cr @@ -531,7 +531,7 @@


- [View source] + [View source]
@@ -547,7 +547,7 @@


- [View source] + [View source]
diff --git a/Raven/Configuration/ValidationError.html b/Raven/Configuration/ValidationError.html index 520bc5e..ad2b63e 100644 --- a/Raven/Configuration/ValidationError.html +++ b/Raven/Configuration/ValidationError.html @@ -374,7 +374,7 @@

- + raven/configuration.cr @@ -540,7 +540,7 @@


- [View source] + [View source]
@@ -572,7 +572,7 @@


- [View source] + [View source]
@@ -588,7 +588,7 @@


- [View source] + [View source]
diff --git a/Raven/Context.html b/Raven/Context.html index 6605fbd..09ce7e1 100644 --- a/Raven/Context.html +++ b/Raven/Context.html @@ -374,7 +374,7 @@

- + raven/context.cr @@ -565,7 +565,7 @@


- [View source] + [View source]
@@ -593,7 +593,7 @@


- [View source] + [View source]
@@ -609,7 +609,7 @@


- [View source] + [View source]
@@ -625,7 +625,7 @@


- [View source] + [View source]
@@ -641,7 +641,7 @@


- [View source] + [View source]
@@ -699,7 +699,7 @@


- [View source] + [View source]
@@ -743,7 +743,7 @@


- [View source] + [View source]
@@ -787,7 +787,7 @@


- [View source] + [View source]
@@ -831,7 +831,7 @@


- [View source] + [View source]
diff --git a/Raven/Delegators.html b/Raven/Delegators.html index da97e8d..391fdcb 100644 --- a/Raven/Delegators.html +++ b/Raven/Delegators.html @@ -383,7 +383,7 @@

- + raven.cr @@ -595,7 +595,7 @@


- [View source] + [View source]
@@ -611,7 +611,7 @@


- [View source] + [View source]
@@ -627,7 +627,7 @@


- [View source] + [View source]
@@ -643,7 +643,7 @@


- [View source] + [View source]
@@ -659,7 +659,7 @@


- [View source] + [View source]
@@ -675,7 +675,7 @@


- [View source] + [View source]
@@ -691,7 +691,7 @@


- [View source] + [View source]
@@ -707,7 +707,7 @@


- [View source] + [View source]
@@ -723,7 +723,7 @@


- [View source] + [View source]
@@ -739,7 +739,7 @@


- [View source] + [View source]
@@ -755,7 +755,7 @@


- [View source] + [View source]
@@ -771,7 +771,7 @@


- [View source] + [View source]
@@ -787,7 +787,7 @@


- [View source] + [View source]
@@ -803,7 +803,7 @@


- [View source] + [View source]
@@ -819,7 +819,7 @@


- [View source] + [View source]
@@ -835,7 +835,7 @@


- [View source] + [View source]
@@ -851,7 +851,7 @@


- [View source] + [View source]
@@ -867,7 +867,7 @@


- [View source] + [View source]
@@ -883,7 +883,7 @@


- [View source] + [View source]
@@ -899,7 +899,7 @@


- [View source] + [View source]
@@ -915,7 +915,7 @@


- [View source] + [View source]
@@ -931,7 +931,7 @@


- [View source] + [View source]
@@ -947,7 +947,7 @@


- [View source] + [View source]
@@ -963,7 +963,7 @@


- [View source] + [View source]
@@ -979,7 +979,7 @@


- [View source] + [View source]
@@ -995,7 +995,7 @@


- [View source] + [View source]
@@ -1011,7 +1011,7 @@


- [View source] + [View source]
@@ -1027,7 +1027,7 @@


- [View source] + [View source]
@@ -1043,7 +1043,7 @@


- [View source] + [View source]
@@ -1059,7 +1059,7 @@


- [View source] + [View source]
diff --git a/Raven/Error.html b/Raven/Error.html index de8d237..fc635a1 100644 --- a/Raven/Error.html +++ b/Raven/Error.html @@ -388,7 +388,7 @@

- + raven/error.cr diff --git a/Raven/Event.html b/Raven/Event.html index 9187d13..ccc1015 100644 --- a/Raven/Event.html +++ b/Raven/Event.html @@ -388,7 +388,7 @@

- + raven/event.cr @@ -867,7 +867,7 @@


- [View source] + [View source]
@@ -895,7 +895,7 @@


- [View source] + [View source]
@@ -911,7 +911,7 @@


- [View source] + [View source]
@@ -941,7 +941,7 @@


- [View source] + [View source]
@@ -957,7 +957,7 @@


- [View source] + [View source]
@@ -973,7 +973,7 @@


- [View source] + [View source]
@@ -989,7 +989,7 @@


- [View source] + [View source]
@@ -1005,7 +1005,7 @@


- [View source] + [View source]
@@ -1021,7 +1021,7 @@


- [View source] + [View source]
@@ -1037,7 +1037,7 @@


- [View source] + [View source]
@@ -1081,7 +1081,7 @@


- [View source] + [View source]
@@ -1102,7 +1102,7 @@


- [View source] + [View source]
@@ -1123,7 +1123,7 @@


- [View source] + [View source]
@@ -1144,7 +1144,7 @@


- [View source] + [View source]
@@ -1165,7 +1165,7 @@


- [View source] + [View source]
@@ -1209,7 +1209,7 @@


- [View source] + [View source]
@@ -1232,7 +1232,7 @@


- [View source] + [View source]
@@ -1255,7 +1255,7 @@


- [View source] + [View source]
@@ -1277,7 +1277,7 @@


- [View source] + [View source]
@@ -1299,7 +1299,7 @@


- [View source] + [View source]
@@ -1315,7 +1315,7 @@


- [View source] + [View source]
@@ -1331,7 +1331,7 @@


- [View source] + [View source]
@@ -1347,7 +1347,7 @@


- [View source] + [View source]
@@ -1368,7 +1368,7 @@


- [View source] + [View source]
@@ -1389,7 +1389,7 @@


- [View source] + [View source]
@@ -1410,7 +1410,7 @@


- [View source] + [View source]
@@ -1426,7 +1426,7 @@


- [View source] + [View source]
@@ -1447,7 +1447,7 @@


- [View source] + [View source]
@@ -1468,7 +1468,7 @@


- [View source] + [View source]
@@ -1484,7 +1484,7 @@


- [View source] + [View source]
@@ -1500,7 +1500,7 @@


- [View source] + [View source]
@@ -1516,7 +1516,7 @@


- [View source] + [View source]
@@ -1537,7 +1537,7 @@


- [View source] + [View source]
@@ -1558,7 +1558,7 @@


- [View source] + [View source]
@@ -1581,7 +1581,7 @@


- [View source] + [View source]
@@ -1604,7 +1604,7 @@


- [View source] + [View source]
@@ -1625,7 +1625,7 @@


- [View source] + [View source]
@@ -1646,7 +1646,7 @@


- [View source] + [View source]
@@ -1690,7 +1690,7 @@


- [View source] + [View source]
@@ -1711,7 +1711,7 @@


- [View source] + [View source]
@@ -1732,7 +1732,7 @@


- [View source] + [View source]
@@ -1748,7 +1748,7 @@


- [View source] + [View source]
@@ -1764,7 +1764,7 @@


- [View source] + [View source]
@@ -1780,7 +1780,7 @@


- [View source] + [View source]
@@ -1824,7 +1824,7 @@


- [View source] + [View source]
diff --git a/Raven/Event/HashType.html b/Raven/Event/HashType.html index 378b29e..3490d4f 100644 --- a/Raven/Event/HashType.html +++ b/Raven/Event/HashType.html @@ -393,7 +393,7 @@

- + raven/event.cr diff --git a/Raven/Event/Hint.html b/Raven/Event/Hint.html index e7d8d83..feca05b 100644 --- a/Raven/Event/Hint.html +++ b/Raven/Event/Hint.html @@ -385,7 +385,7 @@

- + raven/event.cr @@ -517,7 +517,7 @@


- [View source] + [View source]
@@ -549,7 +549,7 @@


- [View source] + [View source]
@@ -565,7 +565,7 @@


- [View source] + [View source]
diff --git a/Raven/Event/Severity.html b/Raven/Event/Severity.html index c386e65..e21754e 100644 --- a/Raven/Event/Severity.html +++ b/Raven/Event/Severity.html @@ -383,7 +383,7 @@

- + raven/event.cr @@ -561,7 +561,7 @@


- [View source] + [View source]
@@ -577,7 +577,7 @@


- [View source] + [View source]
@@ -593,7 +593,7 @@


- [View source] + [View source]
@@ -609,7 +609,7 @@


- [View source] + [View source]
@@ -625,7 +625,7 @@


- [View source] + [View source]
diff --git a/Raven/Instance.html b/Raven/Instance.html index dc317ac..92a9ca2 100644 --- a/Raven/Instance.html +++ b/Raven/Instance.html @@ -403,7 +403,7 @@

- + raven/instance.cr @@ -664,7 +664,7 @@


- [View source] + [View source]
@@ -714,7 +714,7 @@


- [View source] + [View source]
@@ -730,7 +730,7 @@


- [View source] + [View source]
@@ -756,7 +756,7 @@


- [View source] + [View source]
@@ -781,7 +781,7 @@


- [View source] + [View source]
@@ -809,7 +809,7 @@


- [View source] + [View source]
@@ -833,7 +833,7 @@


- [View source] + [View source]
@@ -860,7 +860,7 @@


- [View source] + [View source]
@@ -882,7 +882,7 @@


- [View source] + [View source]
@@ -904,7 +904,7 @@


- [View source] + [View source]
@@ -925,7 +925,7 @@


- [View source] + [View source]
@@ -946,7 +946,7 @@


- [View source] + [View source]
@@ -970,7 +970,7 @@


- [View source] + [View source]
@@ -994,7 +994,7 @@


- [View source] + [View source]
@@ -1010,7 +1010,7 @@


- [View source] + [View source]
@@ -1034,7 +1034,7 @@


- [View source] + [View source]
@@ -1057,7 +1057,7 @@


- [View source] + [View source]
@@ -1073,7 +1073,7 @@


- [View source] + [View source]
@@ -1094,7 +1094,7 @@


- [View source] + [View source]
@@ -1117,7 +1117,7 @@


- [View source] + [View source]
@@ -1150,7 +1150,7 @@


- [View source] + [View source]
@@ -1174,7 +1174,7 @@


- [View source] + [View source]
@@ -1197,7 +1197,7 @@


- [View source] + [View source]
@@ -1221,7 +1221,7 @@


- [View source] + [View source]
@@ -1244,7 +1244,7 @@


- [View source] + [View source]
diff --git a/Raven/Interface.html b/Raven/Interface.html index 01b68f2..2549f4f 100644 --- a/Raven/Interface.html +++ b/Raven/Interface.html @@ -412,7 +412,7 @@

- + raven/interface.cr @@ -570,7 +570,7 @@


- [View source] + [View source]
@@ -586,7 +586,7 @@


- [View source] + [View source]
@@ -602,7 +602,7 @@


- [View source] + [View source]
@@ -618,7 +618,7 @@


- [View source] + [View source]
@@ -634,7 +634,7 @@


- [View source] + [View source]
@@ -664,7 +664,7 @@


- [View source] + [View source]
@@ -680,7 +680,7 @@


- [View source] + [View source]
@@ -696,7 +696,7 @@


- [View source] + [View source]
diff --git a/Raven/Interface/Exception.html b/Raven/Interface/Exception.html index 086a220..5d944bd 100644 --- a/Raven/Interface/Exception.html +++ b/Raven/Interface/Exception.html @@ -374,7 +374,7 @@

- + raven/interfaces/exception.cr @@ -578,7 +578,7 @@


- [View source] + [View source]
@@ -606,7 +606,7 @@


- [View source] + [View source]
@@ -636,7 +636,7 @@


- [View source] + [View source]
@@ -652,7 +652,7 @@


- [View source] + [View source]
diff --git a/Raven/Interface/HTTP.html b/Raven/Interface/HTTP.html index 064f962..6b8efd2 100644 --- a/Raven/Interface/HTTP.html +++ b/Raven/Interface/HTTP.html @@ -374,7 +374,7 @@

- + raven/interfaces/http.cr @@ -663,7 +663,7 @@


- [View source] + [View source]
@@ -691,7 +691,7 @@


- [View source] + [View source]
@@ -721,7 +721,7 @@


- [View source] + [View source]
@@ -737,7 +737,7 @@


- [View source] + [View source]
@@ -781,7 +781,7 @@


- [View source] + [View source]
@@ -825,7 +825,7 @@


- [View source] + [View source]
@@ -869,7 +869,7 @@


- [View source] + [View source]
@@ -899,7 +899,7 @@


- [View source] + [View source]
@@ -929,7 +929,7 @@


- [View source] + [View source]
@@ -945,7 +945,7 @@


- [View source] + [View source]
@@ -975,7 +975,7 @@


- [View source] + [View source]
diff --git a/Raven/Interface/Message.html b/Raven/Interface/Message.html index 7b40b4a..91a1562 100644 --- a/Raven/Interface/Message.html +++ b/Raven/Interface/Message.html @@ -374,7 +374,7 @@

- + raven/interfaces/message.cr @@ -598,7 +598,7 @@


- [View source] + [View source]
@@ -626,7 +626,7 @@


- [View source] + [View source]
@@ -670,7 +670,7 @@


- [View source] + [View source]
@@ -700,7 +700,7 @@


- [View source] + [View source]
@@ -716,7 +716,7 @@


- [View source] + [View source]
@@ -732,7 +732,7 @@


- [View source] + [View source]
diff --git a/Raven/Interface/SingleException.html b/Raven/Interface/SingleException.html index 4c0b311..0a6f742 100644 --- a/Raven/Interface/SingleException.html +++ b/Raven/Interface/SingleException.html @@ -374,7 +374,7 @@

- + raven/interfaces/single_exception.cr @@ -601,7 +601,7 @@


- [View source] + [View source]
@@ -633,7 +633,7 @@


- [View source] + [View source]
@@ -649,7 +649,7 @@


- [View source] + [View source]
@@ -665,7 +665,7 @@


- [View source] + [View source]
@@ -681,7 +681,7 @@


- [View source] + [View source]
@@ -711,7 +711,7 @@


- [View source] + [View source]
@@ -755,7 +755,7 @@


- [View source] + [View source]
diff --git a/Raven/Interface/Stacktrace.html b/Raven/Interface/Stacktrace.html index 9727e61..aaee9e3 100644 --- a/Raven/Interface/Stacktrace.html +++ b/Raven/Interface/Stacktrace.html @@ -374,7 +374,7 @@

- + raven/interfaces/stacktrace.cr @@ -588,7 +588,7 @@


- [View source] + [View source]
@@ -616,7 +616,7 @@


- [View source] + [View source]
@@ -646,7 +646,7 @@


- [View source] + [View source]
@@ -662,7 +662,7 @@


- [View source] + [View source]
@@ -678,7 +678,7 @@


- [View source] + [View source]
@@ -694,7 +694,7 @@


- [View source] + [View source]
diff --git a/Raven/Interface/Stacktrace/Frame.html b/Raven/Interface/Stacktrace/Frame.html index a44dacd..e722b0a 100644 --- a/Raven/Interface/Stacktrace/Frame.html +++ b/Raven/Interface/Stacktrace/Frame.html @@ -385,7 +385,7 @@

- + raven/interfaces/stacktrace.cr @@ -686,7 +686,7 @@


- [View source] + [View source]
@@ -714,7 +714,7 @@


- [View source] + [View source]
@@ -744,7 +744,7 @@


- [View source] + [View source]
@@ -760,7 +760,7 @@


- [View source] + [View source]
@@ -776,7 +776,7 @@


- [View source] + [View source]
@@ -792,7 +792,7 @@


- [View source] + [View source]
@@ -808,7 +808,7 @@


- [View source] + [View source]
@@ -824,7 +824,7 @@


- [View source] + [View source]
@@ -840,7 +840,7 @@


- [View source] + [View source]
@@ -856,7 +856,7 @@


- [View source] + [View source]
@@ -872,7 +872,7 @@


- [View source] + [View source]
@@ -888,7 +888,7 @@


- [View source] + [View source]
@@ -904,7 +904,7 @@


- [View source] + [View source]
@@ -920,7 +920,7 @@


- [View source] + [View source]
@@ -936,7 +936,7 @@


- [View source] + [View source]
@@ -952,7 +952,7 @@


- [View source] + [View source]
@@ -968,7 +968,7 @@


- [View source] + [View source]
@@ -984,7 +984,7 @@


- [View source] + [View source]
@@ -1000,7 +1000,7 @@


- [View source] + [View source]
@@ -1016,7 +1016,7 @@


- [View source] + [View source]
@@ -1032,7 +1032,7 @@


- [View source] + [View source]
@@ -1048,7 +1048,7 @@


- [View source] + [View source]
diff --git a/Raven/LogBackend.html b/Raven/LogBackend.html index 454c343..bc0639f 100644 --- a/Raven/LogBackend.html +++ b/Raven/LogBackend.html @@ -391,7 +391,7 @@

- + raven/log_backend.cr @@ -576,7 +576,7 @@


- [View source] + [View source]
@@ -608,7 +608,7 @@


- [View source] + [View source]
@@ -624,7 +624,7 @@


- [View source] + [View source]
@@ -646,7 +646,7 @@


- [View source] + [View source]
@@ -668,7 +668,7 @@


- [View source] + [View source]
@@ -690,7 +690,7 @@


- [View source] + [View source]
@@ -712,7 +712,7 @@


- [View source] + [View source]
@@ -734,7 +734,7 @@


- [View source] + [View source]
@@ -756,7 +756,7 @@


- [View source] + [View source]
@@ -778,7 +778,7 @@


- [View source] + [View source]
@@ -800,7 +800,7 @@


- [View source] + [View source]
@@ -825,7 +825,7 @@


- [View source] + [View source]
diff --git a/Raven/Mixin.html b/Raven/Mixin.html index b345707..977fa7e 100644 --- a/Raven/Mixin.html +++ b/Raven/Mixin.html @@ -372,7 +372,7 @@

- + raven/mixins/initialize_with.cr diff --git a/Raven/Mixin/InitializeWith.html b/Raven/Mixin/InitializeWith.html index 75f9426..f0db1de 100644 --- a/Raven/Mixin/InitializeWith.html +++ b/Raven/Mixin/InitializeWith.html @@ -419,7 +419,7 @@

- + raven/mixins/initialize_with.cr @@ -491,7 +491,7 @@


- [View source] + [View source]
@@ -507,7 +507,7 @@


- [View source] + [View source]
diff --git a/Raven/Processor.html b/Raven/Processor.html index 82715e6..900ba57 100644 --- a/Raven/Processor.html +++ b/Raven/Processor.html @@ -402,7 +402,7 @@

- + raven/processor.cr @@ -530,7 +530,7 @@


- [View source] + [View source]
@@ -562,7 +562,7 @@


- [View source] + [View source]
diff --git a/Raven/Processor/Compact.html b/Raven/Processor/Compact.html index 3d2460f..5fda19d 100644 --- a/Raven/Processor/Compact.html +++ b/Raven/Processor/Compact.html @@ -374,7 +374,7 @@

- + raven/processors/compact.cr @@ -498,7 +498,7 @@


- [View source] + [View source]
diff --git a/Raven/Processor/Cookies.html b/Raven/Processor/Cookies.html index ee541dc..5f18f58 100644 --- a/Raven/Processor/Cookies.html +++ b/Raven/Processor/Cookies.html @@ -374,7 +374,7 @@

- + raven/processors/cookies.cr @@ -498,7 +498,7 @@


- [View source] + [View source]
diff --git a/Raven/Processor/HTTPHeaders.html b/Raven/Processor/HTTPHeaders.html index 8acd878..178be6f 100644 --- a/Raven/Processor/HTTPHeaders.html +++ b/Raven/Processor/HTTPHeaders.html @@ -374,7 +374,7 @@

- + raven/processors/http_headers.cr @@ -538,7 +538,7 @@


- [View source] + [View source]
@@ -570,7 +570,7 @@


- [View source] + [View source]
@@ -586,7 +586,7 @@


- [View source] + [View source]
@@ -602,7 +602,7 @@


- [View source] + [View source]
diff --git a/Raven/Processor/RemoveCircularReferences.html b/Raven/Processor/RemoveCircularReferences.html index 790f0fd..2de9106 100644 --- a/Raven/Processor/RemoveCircularReferences.html +++ b/Raven/Processor/RemoveCircularReferences.html @@ -374,7 +374,7 @@

- + raven/processors/remove_circular_references.cr @@ -498,7 +498,7 @@


- [View source] + [View source]
diff --git a/Raven/Processor/RemoveStacktrace.html b/Raven/Processor/RemoveStacktrace.html index b00b94d..c50045e 100644 --- a/Raven/Processor/RemoveStacktrace.html +++ b/Raven/Processor/RemoveStacktrace.html @@ -374,7 +374,7 @@

- + raven/processors/remove_stacktrace.cr @@ -498,7 +498,7 @@


- [View source] + [View source]
diff --git a/Raven/Processor/RequestMethodData.html b/Raven/Processor/RequestMethodData.html index b464ccf..86adec2 100644 --- a/Raven/Processor/RequestMethodData.html +++ b/Raven/Processor/RequestMethodData.html @@ -374,7 +374,7 @@

- + raven/processors/request_method_data.cr @@ -519,7 +519,7 @@


- [View source] + [View source]
@@ -551,7 +551,7 @@


- [View source] + [View source]
@@ -567,7 +567,7 @@


- [View source] + [View source]
@@ -583,7 +583,7 @@


- [View source] + [View source]
diff --git a/Raven/Processor/SanitizeData.html b/Raven/Processor/SanitizeData.html index 7232644..23b0a08 100644 --- a/Raven/Processor/SanitizeData.html +++ b/Raven/Processor/SanitizeData.html @@ -374,7 +374,7 @@

- + raven/processors/sanitize_data.cr @@ -570,7 +570,7 @@


- [View source] + [View source]
@@ -607,7 +607,7 @@


- [View source] + [View source]
@@ -623,7 +623,7 @@


- [View source] + [View source]
@@ -639,7 +639,7 @@


- [View source] + [View source]
@@ -655,7 +655,7 @@


- [View source] + [View source]
@@ -671,7 +671,7 @@


- [View source] + [View source]
@@ -687,7 +687,7 @@


- [View source] + [View source]
@@ -703,7 +703,7 @@


- [View source] + [View source]
@@ -719,7 +719,7 @@


- [View source] + [View source]
diff --git a/Raven/Processor/UTF8Conversion.html b/Raven/Processor/UTF8Conversion.html index d66f5da..3668d88 100644 --- a/Raven/Processor/UTF8Conversion.html +++ b/Raven/Processor/UTF8Conversion.html @@ -374,7 +374,7 @@

- + raven/processors/utf8_conversion.cr @@ -498,7 +498,7 @@


- [View source] + [View source]
diff --git a/Raven/Transport.html b/Raven/Transport.html index 82093a5..70e6549 100644 --- a/Raven/Transport.html +++ b/Raven/Transport.html @@ -390,7 +390,7 @@

- + raven/transport.cr @@ -509,7 +509,7 @@


- [View source] + [View source]
@@ -541,7 +541,7 @@


- [View source] + [View source]
@@ -557,7 +557,7 @@


- [View source] + [View source]
@@ -573,7 +573,7 @@


- [View source] + [View source]
@@ -589,7 +589,7 @@


- [View source] + [View source]
diff --git a/Raven/Transport/Dummy.html b/Raven/Transport/Dummy.html index cf1d540..d16922f 100644 --- a/Raven/Transport/Dummy.html +++ b/Raven/Transport/Dummy.html @@ -374,7 +374,7 @@

- + raven/transports/dummy.cr @@ -538,7 +538,7 @@


- [View source] + [View source]
@@ -554,7 +554,7 @@


- [View source] + [View source]
@@ -570,7 +570,7 @@


- [View source] + [View source]
@@ -586,7 +586,7 @@


- [View source] + [View source]
@@ -602,7 +602,7 @@


- [View source] + [View source]
@@ -618,7 +618,7 @@


- [View source] + [View source]
diff --git a/Raven/Transport/HTTP.html b/Raven/Transport/HTTP.html index 6e4a4b8..1cfd042 100644 --- a/Raven/Transport/HTTP.html +++ b/Raven/Transport/HTTP.html @@ -374,7 +374,7 @@

- + raven/transports/http.cr @@ -518,7 +518,7 @@


- [View source] + [View source]
@@ -534,7 +534,7 @@


- [View source] + [View source]
diff --git a/Raven/Transport/HTTP/Error.html b/Raven/Transport/HTTP/Error.html index baff3bc..0bd81fd 100644 --- a/Raven/Transport/HTTP/Error.html +++ b/Raven/Transport/HTTP/Error.html @@ -374,7 +374,7 @@

- + raven/transports/http.cr @@ -553,7 +553,7 @@


- [View source] + [View source]
@@ -585,7 +585,7 @@


- [View source] + [View source]
@@ -601,7 +601,7 @@


- [View source] + [View source]
diff --git a/index.json b/index.json index 06e120d..db3cc83 100644 --- a/index.json +++ b/index.json @@ -1 +1 @@ -{"repository_name":"raven","body":"

\n \"Bug\n

\n\n

\n raven.cr • the Crystal client for Sentry\n

\n\n

\n \"Build\n \"Codacy\n \"Releases\"\n \"License\"\n

\n\nAn unofficial Crystal-language client and integration layer for the [Sentry](https://github.com/getsentry/sentry) error reporting API.\n\nBased on fine [raven-ruby](https://github.com/getsentry/raven-ruby) gem\nfrom folks at [@getsentry](https://github.com/getsentry).\n\n### Blog posts\n\n- [Crystal error tracking with Sentry](https://sija.pl/en/notes/crystal-error-tracking-with-sentry)\n- [Sentry error tracking for Kemal](https://sija.pl/en/notes/sentry-error-tracking-for-kemal)\n\n## Features\n\n- [x] Processors (data scrubbers)\n- [x] Interfaces (Message, Exception, Stacktrace, User, HTTP, ...)\n- [x] Contexts (user, tags, extra, os, runtime)\n- [x] Breadcrumbs\n- [x] Integrations ([Kemal](https://github.com/kemalcr/kemal), [Amber](https://github.com/amberframework/amber), [Lucky](https://github.com/luckyframework/lucky), [Sidekiq.cr](https://github.com/mperham/sidekiq.cr), [action-controller](https://github.com/spider-gazelle/action-controller))\n- [x] Async support\n- [x] User Feedback\n- [x] Source code context for stack traces\n- [x] Dedicated [`Log`](https://crystal-lang.org/api/Log.html) backend\n- [x] Crash Handler\n\n## Installation\n\nAdd this to your application's `shard.yml`:\n\n```yaml\ndependencies:\n raven:\n github: Sija/raven.cr\n```\n\n## Usage\n\n```crystal\nrequire \"raven\"\n```\n\n### Raven only runs when SENTRY_DSN is set\n\nRaven will capture and send exceptions to the Sentry server whenever its DSN is set.\nThis makes environment-based configuration easy - if you don't want to send\nerrors in a certain environment, just don't set the DSN in that environment!\n\n```sh\n# Set your SENTRY_DSN environment variable.\nexport SENTRY_DSN=https://public@example.com/project-id\n```\n\n```crystal\n# Or you can configure the client in the code (not recommended - keep your DSN secret!)\nRaven.configure do |config|\n config.dsn = \"https://public@example.com/project-id\"\nend\n```\n\n### Raven doesn't report some kinds of data by default\n\nIf used with integrations, Raven ignores some exceptions by default - most of\nthese are related to 404s or controller actions not being found.\n\nRaven doesn't report `POST`, `PUT`, `PATCH` data or cookies by default.\nIn addition, it will attempt to remove any obviously sensitive data,\nsuch as credit card or Social Security numbers.\nFor more information about how Sentry processes your data, [check out the documentation on the `processors` config setting.](https://docs.sentry.io/clients/ruby/config/)\n\n### Call\n\nRaven supports two methods of capturing exceptions:\n\n```crystal\nRaven.capture do\n # capture any exceptions which happen during execution of this block\n 1 // 0\nend\n\nbegin\n 1 // 0\nrescue ex : DivisionByZeroError\n Raven.capture(ex)\nend\n```\n\n### More configuration\n\nYou're all set - but there are a few more settings you may want to know about too!\n\n#### DSN\n\nWhile we advise that you set your Sentry DSN through the `SENTRY_DSN` environment\nvariable, there are two other configuration settings for controlling Raven:\n\n```crystal\n# DSN can be configured as a config setting instead.\n# Place in config/initializers or similar.\nRaven.configure do |config|\n config.dsn = \"your_dsn\"\nend\n```\n\nAnd, while not necessary if using `SENTRY_DSN`, you can also provide an\n`environments` setting. Raven will only capture events when\n`SENTRY_ENVIRONMENT` matches an environment on the list.\n\n```crystal\nRaven.configure do |config|\n config.environments = %w(staging production)\nend\n```\n\n#### async\n\nWhen an error or message occurs, the notification is immediately sent to Sentry.\nRaven can be configured to send asynchronously:\n\n```crystal\n# define your own handler\nconfig.async = ->(event : Raven::Event) {\n spawn { Raven.send_event(event) }\n}\n# or use default implementation based on fibers (i.e. the one above)\nconfig.async = true\n```\n\nIf the `async` callback raises an exception, Raven will attempt to send synchronously.\n\nWe recommend creating a background job, using your background job processor,\nthat will send Sentry notifications in the background.\nRather than enqueuing an entire `Raven::Event` object, we recommend providing\nthe `Hash` representation of an event as a job argument.\n\nHere’s an example for *Sidekiq.cr*:\n\n```crystal\nconfig.async = ->(event : Raven::Event) {\n # enqueue the job with a hash...\n SentryJob.async.perform(event.to_hash)\n # or with JSON string\n # SentryJob.async.perform(event.to_json)\n}\n\nclass SentryJob\n include Sidekiq::Worker\n\n sidekiq_options do |job|\n job.queue = \"sentry\"\n job.retry = true\n end\n\n def perform(event : Raven::Event::HashType)\n Raven.send_event(event)\n end\nend\n```\n\n#### transport_failure_callback\n\nIf Raven fails to send an event to Sentry for any reason\n(either the Sentry server has returned a 4XX or 5XX response),\nthis `Proc` will be called.\n\n```crystal\nconfig.transport_failure_callback = ->(event : Raven::Event::HashType) {\n AdminMailer.async.perform(\"Oh god, it's on fire!\", event)\n}\n```\n\n#### Context\n\nMuch of the usefulness of Sentry comes from additional context data with the events.\nRaven makes this very convenient by providing methods to set context data that\nis then submitted automatically with all events.\n\nThere are three primary methods for providing request context:\n\n```crystal\n# bind the logged in user\nRaven.user_context email: \"foo@example.com\"\n\n# tag the request with something interesting\nRaven.tags_context interesting: \"yes\"\n\n# provide a bit of additional context\nRaven.extra_context happiness: \"very\"\n```\n\nFor more information, see [Context](https://docs.sentry.io/clients/ruby/context/).\n\n## `Log` backend\n\n`Raven::LogBackend` allows for intercepting log entries, and takes following options:\n\n- `record_breadcrumbs` - records every log entry as Breadcrumbs\n- `capture_exceptions` - captures exceptions attached to the log entry\n- `capture_all` - captures every log entry\n\nEvery captured `Exception` or a `Breadcrumb` will have corresponding fields mapped\ndirectly from the original `Log::Entry`.\n\nMetadata will be passed as `Event#tags` and `Breadcrumb#data`, respectively.\n\n### Usage\n\n```crystal\n# append it to the existing bindings\nLog.builder.bind \"*\", :info, Raven::LogBackend.new(\n record_breadcrumbs: true,\n capture_exceptions: false,\n capture_all: false,\n)\n\n# or bind it within the `Log.setup` block\nLog.setup do |c|\n # bind the regular io-based backend\n c.bind \"*\", :info, Log::IOBackend.new\n\n # bind raven's backend\n c.bind \"*\", :info, Raven::LogBackend.new(record_breadcrumbs: true)\n c.bind \"*\", :warn, Raven::LogBackend.new(capture_exceptions: true)\n c.bind \"*\", :fatal, Raven::LogBackend.new(capture_all: true)\nend\n```\n\nSee more in Crystal's `Log` [documentation](https://crystal-lang.org/api/Log.html#configure-logging-explicitly-in-the-code).\n\n## Crash Handler\n\nSince Crystal doesn't provide native handlers for unhandled exceptions\nand segfaults, *raven.cr* introduces its own crash handler compiled as\nexternal binary.\n\n### Setup\n\nThe easiest way of using it is by adding the appropriate entry to the project's `shard.yml`:\n\n```yaml\ntargets:\n # other target definitions if any...\n\n sentry.crash_handler:\n main: lib/raven/src/crash_handler.cr\n```\n\nWith the above entry defined in `targets`, running `shards build` should result in\nbinary built in `bin/sentry.crash_handler`.\n\n__NOTE__: While building you might specify `SENTRY_DSN` env variable, which will be\ncompiled into the binary (as plain-text) and used by the handler.\n\n```sh\nSENTRY_DSN= shards build sentry.crash_handler\n```\n\nPass `--release` flag to disable debug messages.\n\n### Usage\n\nYou need to run your app with previously built `bin/sentry.crash_handler` in\nfront.\n\n```sh\nbin/sentry.crash_handler bin/your_app --some arguments --passed to your program\n```\n\nAs one would expect, `STDIN` is passed to the original process, while\n`STDOUT` and `STDERR` are piped back from it.\n\n__NOTE__: You can always pass `SENTRY_DSN` env variable during execution\nin case you didn't do it while building the wrapper.\n\n## More Information\n\n- [Documentation](https://docs.sentry.io/clients/ruby)\n- [Bug Tracker](https://github.com/Sija/raven.cr/issues)\n- [Code Repository](https://github.com/Sija/raven.cr)\n\n## Contributing\n\n1. [Fork it](https://github.com/Sija/raven.cr/fork)\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create a new [Pull Request](https://github.com/Sija/raven.cr/pulls)\n\n## Contributors\n\n- [@Sija](https://github.com/Sija) Sijawusz Pur Rahnama - creator, maintainer\n","program":{"html_id":"raven/toplevel","path":"toplevel.html","kind":"module","full_name":"Top Level Namespace","name":"Top Level Namespace","abstract":false,"locations":[],"repository_name":"raven","program":true,"enum":false,"alias":false,"const":false,"types":[{"html_id":"raven/Exception","path":"Exception.html","kind":"class","full_name":"Exception","name":"Exception","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/ext/exception.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/ext/exception.cr#L4"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"raven/Raven/Configuration/ValidationError","kind":"class","full_name":"Raven::Configuration::ValidationError","name":"ValidationError"},{"html_id":"raven/Raven/Error","kind":"class","full_name":"Raven::Error","name":"Error"}],"doc":"Represents errors that occur during application execution.\n\nException and its descendants are used to communicate between raise and\nrescue statements in `begin ... end` blocks.\nException objects carry information about the exception – its type (the\nexception’s class name), an optional descriptive string, and\noptional traceback information.\nException subclasses may add additional information.","summary":"

Represents errors that occur during application execution.

","instance_methods":[{"html_id":"__raven_event_id:String|Nil-instance-method","name":"__raven_event_id","abstract":false,"location":{"filename":"src/raven/ext/exception.cr","line_number":7,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/ext/exception.cr#L7"},"def":{"name":"__raven_event_id","return_type":"String | ::Nil","visibility":"Public","body":"@__raven_event_id"}},{"html_id":"__raven_event_id=(__raven_event_id:String|Nil)-instance-method","name":"__raven_event_id=","abstract":false,"args":[{"name":"__raven_event_id","external_name":"__raven_event_id","restriction":"String | ::Nil"}],"args_string":"(__raven_event_id : String | Nil)","args_html":"(__raven_event_id : String | Nil)","location":{"filename":"src/raven/ext/exception.cr","line_number":7,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/ext/exception.cr#L7"},"def":{"name":"__raven_event_id=","args":[{"name":"__raven_event_id","external_name":"__raven_event_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@__raven_event_id = __raven_event_id"}},{"html_id":"__raven_extra:AnyHash::JSON-instance-method","name":"__raven_extra","abstract":false,"def":{"name":"__raven_extra","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @__raven_extra).nil?\n @__raven_extra = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"__raven_extra=(__raven_extra:AnyHash::JSON)-instance-method","name":"__raven_extra=","abstract":false,"args":[{"name":"__raven_extra","external_name":"__raven_extra","restriction":"AnyHash::JSON"}],"args_string":"(__raven_extra : AnyHash::JSON)","args_html":"(__raven_extra : AnyHash::JSON)","def":{"name":"__raven_extra=","args":[{"name":"__raven_extra","external_name":"__raven_extra","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@__raven_extra = __raven_extra"}},{"html_id":"__raven_extra=(hash:Hash|NamedTuple|Nil)-instance-method","name":"__raven_extra=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","def":{"name":"__raven_extra=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"__raven_extra.replace(hash)"}},{"html_id":"__raven_tags:AnyHash::JSON-instance-method","name":"__raven_tags","abstract":false,"def":{"name":"__raven_tags","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @__raven_tags).nil?\n @__raven_tags = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"__raven_tags=(__raven_tags:AnyHash::JSON)-instance-method","name":"__raven_tags=","abstract":false,"args":[{"name":"__raven_tags","external_name":"__raven_tags","restriction":"AnyHash::JSON"}],"args_string":"(__raven_tags : AnyHash::JSON)","args_html":"(__raven_tags : AnyHash::JSON)","def":{"name":"__raven_tags=","args":[{"name":"__raven_tags","external_name":"__raven_tags","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@__raven_tags = __raven_tags"}},{"html_id":"__raven_tags=(hash:Hash|NamedTuple|Nil)-instance-method","name":"__raven_tags=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","def":{"name":"__raven_tags=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"__raven_tags.replace(hash)"}},{"html_id":"__raven_user:AnyHash::JSON-instance-method","name":"__raven_user","abstract":false,"def":{"name":"__raven_user","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @__raven_user).nil?\n @__raven_user = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"__raven_user=(__raven_user:AnyHash::JSON)-instance-method","name":"__raven_user=","abstract":false,"args":[{"name":"__raven_user","external_name":"__raven_user","restriction":"AnyHash::JSON"}],"args_string":"(__raven_user : AnyHash::JSON)","args_html":"(__raven_user : AnyHash::JSON)","def":{"name":"__raven_user=","args":[{"name":"__raven_user","external_name":"__raven_user","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@__raven_user = __raven_user"}},{"html_id":"__raven_user=(hash:Hash|NamedTuple|Nil)-instance-method","name":"__raven_user=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","def":{"name":"__raven_user=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"__raven_user.replace(hash)"}}]},{"html_id":"raven/Raven","path":"Raven.html","kind":"module","full_name":"Raven","name":"Raven","abstract":false,"locations":[{"filename":"src/raven.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L8"},{"filename":"src/raven.cr","line_number":19,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L19"},{"filename":"src/raven/breadcrumb.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L1"},{"filename":"src/raven/breadcrumb_buffer.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L1"},{"filename":"src/raven/client.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client.cr#L5"},{"filename":"src/raven/client_state.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client_state.cr#L1"},{"filename":"src/raven/configuration.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L4"},{"filename":"src/raven/context.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/context.cr#L1"},{"filename":"src/raven/error.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/error.cr#L1"},{"filename":"src/raven/event.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L3"},{"filename":"src/raven/instance.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L1"},{"filename":"src/raven/interface.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interface.cr#L1"},{"filename":"src/raven/interfaces/exception.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/exception.cr#L1"},{"filename":"src/raven/interfaces/http.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/http.cr#L1"},{"filename":"src/raven/interfaces/message.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/message.cr#L1"},{"filename":"src/raven/interfaces/single_exception.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/single_exception.cr#L1"},{"filename":"src/raven/interfaces/stacktrace.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L1"},{"filename":"src/raven/log.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log.cr#L3"},{"filename":"src/raven/log_backend.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log_backend.cr#L4"},{"filename":"src/raven/mixins/initialize_with.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/mixins/initialize_with.cr#L1"},{"filename":"src/raven/processor.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processor.cr#L1"},{"filename":"src/raven/processors/compact.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/compact.cr#L1"},{"filename":"src/raven/processors/cookies.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/cookies.cr#L1"},{"filename":"src/raven/processors/http_headers.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/http_headers.cr#L1"},{"filename":"src/raven/processors/remove_circular_references.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/remove_circular_references.cr#L1"},{"filename":"src/raven/processors/remove_stacktrace.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/remove_stacktrace.cr#L1"},{"filename":"src/raven/processors/request_method_data.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/request_method_data.cr#L1"},{"filename":"src/raven/processors/sanitize_data.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/sanitize_data.cr#L3"},{"filename":"src/raven/processors/utf8_conversion.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/utf8_conversion.cr#L1"},{"filename":"src/raven/transport.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transport.cr#L1"},{"filename":"src/raven/transports/dummy.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/dummy.cr#L1"},{"filename":"src/raven/transports/http.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/http.cr#L3"},{"filename":"src/raven/version.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/version.cr#L1"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Log","name":"Log","value":"::Log.for(self)"},{"id":"VERSION","name":"VERSION","value":"{{ (`shards version \\\"/home/runner/work/raven.cr/raven.cr/src/raven\\\"`).chomp.stringify }}"}],"extended_modules":[{"html_id":"raven/Raven/Delegators","kind":"module","full_name":"Raven::Delegators","name":"Delegators"}],"class_methods":[{"html_id":"instance:Raven::Instance-class-method","name":"instance","abstract":false,"location":{"filename":"src/raven.cr","line_number":22,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L22"},"def":{"name":"instance","return_type":"Raven::Instance","visibility":"Public","body":"if (value = @@instance).nil?\n @@instance = (Raven::Instance.new)\nelse\n value\nend"}},{"html_id":"sys_command(command)-class-method","name":"sys_command","abstract":false,"args":[{"name":"command","external_name":"command","restriction":""}],"args_string":"(command)","args_html":"(command)","location":{"filename":"src/raven.cr","line_number":29,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L29"},"def":{"name":"sys_command","args":[{"name":"command","external_name":"command","restriction":""}],"visibility":"Public","body":"result = begin\n (`(#{command}) 2>/dev/null`).strip\nrescue\n nil\nend\nif $?.success?\n result.presence\nend\n"}}],"macros":[{"html_id":"sys_command_compiled(command)-macro","name":"sys_command_compiled","abstract":false,"args":[{"name":"command","external_name":"command","restriction":""}],"args_string":"(command)","args_html":"(command)","location":{"filename":"src/raven.cr","line_number":24,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L24"},"def":{"name":"sys_command_compiled","args":[{"name":"command","external_name":"command","restriction":""}],"visibility":"Public","body":" \n%result\n = \n{{ (`(#{command.id} || true) 2>/dev/null`).stringify.strip }}\n\n \n%result\n.presence\n \n"}}],"types":[{"html_id":"raven/Raven/Breadcrumb","path":"Raven/Breadcrumb.html","kind":"class","full_name":"Raven::Breadcrumb","name":"Breadcrumb","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/breadcrumb.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"constructors":[{"html_id":"new(**options)-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":63,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L63"},"def":{"name":"new","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**options)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"category:String|Nil-instance-method","name":"category","doc":"Categories are dotted strings that indicate what the crumb is or where it comes from.\nTypically it’s a module name or a descriptive string.\nFor instance `ui.click` could be used to indicate that a click happened\nin the UI or `flask` could be used to indicate that the event originated\nin the Flask framework.","summary":"

Categories are dotted strings that indicate what the crumb is or where it comes from.

","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":47,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L47"},"def":{"name":"category","return_type":"String | ::Nil","visibility":"Public","body":"@category"}},{"html_id":"category=(category:String|Nil)-instance-method","name":"category=","doc":"Categories are dotted strings that indicate what the crumb is or where it comes from.\nTypically it’s a module name or a descriptive string.\nFor instance `ui.click` could be used to indicate that a click happened\nin the UI or `flask` could be used to indicate that the event originated\nin the Flask framework.","summary":"

Categories are dotted strings that indicate what the crumb is or where it comes from.

","abstract":false,"args":[{"name":"category","external_name":"category","restriction":"String | ::Nil"}],"args_string":"(category : String | Nil)","args_html":"(category : String | Nil)","location":{"filename":"src/raven/breadcrumb.cr","line_number":47,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L47"},"def":{"name":"category=","args":[{"name":"category","external_name":"category","restriction":"String | ::Nil"}],"visibility":"Public","body":"@category = category"}},{"html_id":"data:AnyHash::JSON-instance-method","name":"data","doc":"Data associated with this breadcrumb. Contains a sub-object whose\ncontents depend on the breadcrumb `type`. Additional parameters that\nare unsupported by the type are rendered as a key/value table.","summary":"

Data associated with this breadcrumb.

","abstract":false,"def":{"name":"data","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @data).nil?\n @data = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"data=(data:AnyHash::JSON)-instance-method","name":"data=","doc":"Data associated with this breadcrumb. Contains a sub-object whose\ncontents depend on the breadcrumb `type`. Additional parameters that\nare unsupported by the type are rendered as a key/value table.","summary":"

Data associated with this breadcrumb.

","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"AnyHash::JSON"}],"args_string":"(data : AnyHash::JSON)","args_html":"(data : AnyHash::JSON)","def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@data = data"}},{"html_id":"data=(hash:Hash|NamedTuple|Nil)-instance-method","name":"data=","doc":"Data associated with this breadcrumb. Contains a sub-object whose\ncontents depend on the breadcrumb `type`. Additional parameters that\nare unsupported by the type are rendered as a key/value table.","summary":"

Data associated with this breadcrumb.

","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/breadcrumb.cr","line_number":61,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L61"},"def":{"name":"data=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"data.replace(hash)"}},{"html_id":"level:Severity|Nil-instance-method","name":"level","doc":"This defines the level of the event. If not provided it defaults\nto `info` which is the middle level.","summary":"

This defines the level of the event.

","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":51,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L51"},"def":{"name":"level","return_type":"Severity | ::Nil","visibility":"Public","body":"@level"}},{"html_id":"level=(level:Severity|Nil)-instance-method","name":"level=","doc":"This defines the level of the event. If not provided it defaults\nto `info` which is the middle level.","summary":"

This defines the level of the event.

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Severity | ::Nil"}],"args_string":"(level : Severity | Nil)","args_html":"(level : Severity | Nil)","location":{"filename":"src/raven/breadcrumb.cr","line_number":51,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L51"},"def":{"name":"level=","args":[{"name":"level","external_name":"level","restriction":"Severity | ::Nil"}],"visibility":"Public","body":"@level = level"}},{"html_id":"level=(severity:Symbol)-instance-method","name":"level=","doc":"This defines the level of the event. If not provided it defaults\nto `info` which is the middle level.","summary":"

This defines the level of the event.

","abstract":false,"args":[{"name":"severity","external_name":"severity","restriction":"Symbol"}],"args_string":"(severity : Symbol)","args_html":"(severity : Symbol)","location":{"filename":"src/raven/breadcrumb.cr","line_number":54,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L54"},"def":{"name":"level=","args":[{"name":"severity","external_name":"severity","restriction":"Symbol"}],"visibility":"Public","body":"@level = Severity.parse(severity.to_s)"}},{"html_id":"message:String|Nil-instance-method","name":"message","doc":"If a message is provided it’s rendered as text and the whitespace is preserved.\nVery long text might be abbreviated in the UI.","summary":"

If a message is provided it’s rendered as text and the whitespace is preserved.

","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":40,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L40"},"def":{"name":"message","return_type":"String | ::Nil","visibility":"Public","body":"@message"}},{"html_id":"message=(message:String|Nil)-instance-method","name":"message=","doc":"If a message is provided it’s rendered as text and the whitespace is preserved.\nVery long text might be abbreviated in the UI.","summary":"

If a message is provided it’s rendered as text and the whitespace is preserved.

","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"String | ::Nil"}],"args_string":"(message : String | Nil)","args_html":"(message : String | Nil)","location":{"filename":"src/raven/breadcrumb.cr","line_number":40,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L40"},"def":{"name":"message=","args":[{"name":"message","external_name":"message","restriction":"String | ::Nil"}],"visibility":"Public","body":"@message = message"}},{"html_id":"timestamp:Time-instance-method","name":"timestamp","doc":"A timestamp representing when the breadcrumb occurred.","summary":"

A timestamp representing when the breadcrumb occurred.

","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":25,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L25"},"def":{"name":"timestamp","return_type":"Time","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Time)-instance-method","name":"timestamp=","doc":"A timestamp representing when the breadcrumb occurred.","summary":"

A timestamp representing when the breadcrumb occurred.

","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"args_string":"(timestamp : Time)","args_html":"(timestamp : Time)","location":{"filename":"src/raven/breadcrumb.cr","line_number":25,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L25"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"visibility":"Public","body":"@timestamp = timestamp"}},{"html_id":"to_hash-instance-method","name":"to_hash","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":67,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L67"},"def":{"name":"to_hash","visibility":"Public","body":"{\"timestamp\" => @timestamp.to_utc.to_unix, \"type\" => @type.try() do |__arg0|\n __arg0.to_s.downcase\nend, \"message\" => @message, \"data\" => data.to_h, \"category\" => @category, \"level\" => @level.try() do |__arg1|\n __arg1.to_s.downcase\nend}"}},{"html_id":"type:Type|Nil-instance-method","name":"type","doc":"The type of breadcrumb. The default type is `:default` which indicates\nno specific handling. Other types are currently:\n- `:http` for HTTP requests and\n- `:navigation` for navigation events.","summary":"

The type of breadcrumb.

","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":31,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L31"},"def":{"name":"type","return_type":"Type | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"type=(type:Type|Nil)-instance-method","name":"type=","doc":"The type of breadcrumb. The default type is `:default` which indicates\nno specific handling. Other types are currently:\n- `:http` for HTTP requests and\n- `:navigation` for navigation events.","summary":"

The type of breadcrumb.

","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"Type | ::Nil"}],"args_string":"(type : Type | Nil)","args_html":"(type : Type | Nil)","location":{"filename":"src/raven/breadcrumb.cr","line_number":31,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L31"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"Type | ::Nil"}],"visibility":"Public","body":"@type = type"}},{"html_id":"type=(type:Symbol)-instance-method","name":"type=","doc":"The type of breadcrumb. The default type is `:default` which indicates\nno specific handling. Other types are currently:\n- `:http` for HTTP requests and\n- `:navigation` for navigation events.","summary":"

The type of breadcrumb.

","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"Symbol"}],"args_string":"(type : Symbol)","args_html":"(type : Symbol)","location":{"filename":"src/raven/breadcrumb.cr","line_number":34,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L34"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"Symbol"}],"visibility":"Public","body":"@type = Type.parse(type.to_s)"}}],"types":[{"html_id":"raven/Raven/Breadcrumb/Severity","path":"Raven/Breadcrumb/Severity.html","kind":"enum","full_name":"Raven::Breadcrumb::Severity","name":"Severity","abstract":false,"ancestors":[{"html_id":"raven/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"raven/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"raven/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/breadcrumb.cr","line_number":16,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L16"}],"repository_name":"raven","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"DEBUG","name":"DEBUG","value":"0"},{"id":"INFO","name":"INFO","value":"1"},{"id":"WARNING","name":"WARNING","value":"2"},{"id":"ERROR","name":"ERROR","value":"3"},{"id":"CRITICAL","name":"CRITICAL","value":"4"}],"namespace":{"html_id":"raven/Raven/Breadcrumb","kind":"class","full_name":"Raven::Breadcrumb","name":"Breadcrumb"},"doc":"Levels are used in the UI to emphasize and deemphasize the crumb.","summary":"

Levels are used in the UI to emphasize and deemphasize the crumb.

","instance_methods":[{"html_id":"critical?-instance-method","name":"critical?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":21,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L21"},"def":{"name":"critical?","visibility":"Public","body":"self == CRITICAL"}},{"html_id":"debug?-instance-method","name":"debug?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":17,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L17"},"def":{"name":"debug?","visibility":"Public","body":"self == DEBUG"}},{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":20,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L20"},"def":{"name":"error?","visibility":"Public","body":"self == ERROR"}},{"html_id":"info?-instance-method","name":"info?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":18,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L18"},"def":{"name":"info?","visibility":"Public","body":"self == INFO"}},{"html_id":"warning?-instance-method","name":"warning?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":19,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L19"},"def":{"name":"warning?","visibility":"Public","body":"self == WARNING"}}]},{"html_id":"raven/Raven/Breadcrumb/Type","path":"Raven/Breadcrumb/Type.html","kind":"enum","full_name":"Raven::Breadcrumb::Type","name":"Type","abstract":false,"ancestors":[{"html_id":"raven/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"raven/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"raven/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/breadcrumb.cr","line_number":9,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L9"}],"repository_name":"raven","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"DEFAULT","name":"DEFAULT","value":"0"},{"id":"HTTP","name":"HTTP","value":"1"},{"id":"NAVIGATION","name":"NAVIGATION","value":"2"}],"namespace":{"html_id":"raven/Raven/Breadcrumb","kind":"class","full_name":"Raven::Breadcrumb","name":"Breadcrumb"},"doc":"The type of breadcrumb. The default type is `Type::DEFAULT` which indicates\nno specific handling. Other types are currently:\n- `Type::HTTP` for HTTP requests and\n- `Type::NAVIGATION` for navigation events.","summary":"

The type of breadcrumb.

","instance_methods":[{"html_id":"default?-instance-method","name":"default?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":10,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L10"},"def":{"name":"default?","visibility":"Public","body":"self == DEFAULT"}},{"html_id":"http?-instance-method","name":"http?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L11"},"def":{"name":"http?","visibility":"Public","body":"self == HTTP"}},{"html_id":"navigation?-instance-method","name":"navigation?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":12,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L12"},"def":{"name":"navigation?","visibility":"Public","body":"self == NAVIGATION"}}]}]},{"html_id":"raven/Raven/BreadcrumbBuffer","path":"Raven/BreadcrumbBuffer.html","kind":"class","full_name":"Raven::BreadcrumbBuffer","name":"BreadcrumbBuffer","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Enumerable","kind":"module","full_name":"Enumerable","name":"Enumerable"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/breadcrumb_buffer.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"raven/Enumerable","kind":"module","full_name":"Enumerable","name":"Enumerable"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"class_methods":[{"html_id":"clear!-class-method","name":"clear!","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":14,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L14"},"def":{"name":"clear!","visibility":"Public","body":"@@mutex.synchronize do\n @@current = nil\nend"}},{"html_id":"current-class-method","name":"current","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L8"},"def":{"name":"current","visibility":"Public","body":"@@mutex.synchronize do\n @@current || (@@current = new)\nend"}}],"constructors":[{"html_id":"new(size=100)-class-method","name":"new","abstract":false,"args":[{"name":"size","default_value":"100","external_name":"size","restriction":""}],"args_string":"(size = 100)","args_html":"(size = 100)","location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":22,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L22"},"def":{"name":"new","args":[{"name":"size","default_value":"100","external_name":"size","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(size)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"buffer:Array(Breadcrumb|Nil)-instance-method","name":"buffer","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":20,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L20"},"def":{"name":"buffer","return_type":"Array(Breadcrumb | ::Nil)","visibility":"Public","body":"@buffer"}},{"html_id":"each(&)-instance-method","name":"each","doc":"Must yield this collection's elements to the block.","summary":"

Must yield this collection's elements to the block.

","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":53,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L53"},"def":{"name":"each","yields":1,"block_arity":1,"visibility":"Public","body":"members.each do |breadcrumb|\n yield breadcrumb\nend"}},{"html_id":"empty?-instance-method","name":"empty?","doc":"Returns `true` if `self` does not contain any element.\n\n```\n([] of Int32).empty? # => true\n([1]).empty? # => false\n[nil, false].empty? # => false\n```\n\n* `#present?` returns the inverse.","summary":"

Returns true if self does not contain any element.

","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":59,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L59"},"def":{"name":"empty?","visibility":"Public","body":"members.empty?"}},{"html_id":"members:Array(Breadcrumb)-instance-method","name":"members","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":45,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L45"},"def":{"name":"members","return_type":"Array(Breadcrumb)","visibility":"Public","body":"@buffer.compact"}},{"html_id":"peek-instance-method","name":"peek","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":49,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L49"},"def":{"name":"peek","visibility":"Public","body":"members.last?"}},{"html_id":"record(crumb:Breadcrumb):Nil-instance-method","name":"record","abstract":false,"args":[{"name":"crumb","external_name":"crumb","restriction":"Breadcrumb"}],"args_string":"(crumb : Breadcrumb) : Nil","args_html":"(crumb : Breadcrumb) : Nil","location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":26,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L26"},"def":{"name":"record","args":[{"name":"crumb","external_name":"crumb","restriction":"Breadcrumb"}],"return_type":"Nil","visibility":"Public","body":"@buffer.shift\n@buffer << crumb\n"}},{"html_id":"record(**opts,&):Nil-instance-method","name":"record","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":31,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L31"},"def":{"name":"record","double_splat":{"name":"opts","external_name":"opts","restriction":""},"yields":1,"block_arity":1,"return_type":"Nil","visibility":"Public","body":"crumb = Breadcrumb.new(**opts)\nyield crumb\nrecord(crumb)\n"}},{"html_id":"record(opts:NamedTuple):Nil-instance-method","name":"record","abstract":false,"args":[{"name":"opts","external_name":"opts","restriction":"NamedTuple"}],"args_string":"(opts : NamedTuple) : Nil","args_html":"(opts : NamedTuple) : Nil","location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L41"},"def":{"name":"record","args":[{"name":"opts","external_name":"opts","restriction":"NamedTuple"}],"return_type":"Nil","visibility":"Public","body":"record(**opts)"}},{"html_id":"record(**opts):Nil-instance-method","name":"record","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":37,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L37"},"def":{"name":"record","double_splat":{"name":"opts","external_name":"opts","restriction":""},"return_type":"Nil","visibility":"Public","body":"record(**opts) do\nend"}},{"html_id":"to_hash-instance-method","name":"to_hash","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":63,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L63"},"def":{"name":"to_hash","visibility":"Public","body":"{\"values\" => members.map(&.to_hash)}"}}]},{"html_id":"raven/Raven/Client","path":"Raven/Client.html","kind":"class","full_name":"Raven::Client","name":"Client","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/client.cr","line_number":7,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client.cr#L7"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"PROTOCOL_VERSION","name":"PROTOCOL_VERSION","value":"7"},{"id":"USER_AGENT","name":"USER_AGENT","value":"\"raven.cr/#{Raven::VERSION}\""}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"doc":"Encodes events and sends them to the Sentry server.","summary":"

Encodes events and sends them to the Sentry server.

","constructors":[{"html_id":"new(configuration:Raven::Configuration)-class-method","name":"new","abstract":false,"args":[{"name":"configuration","external_name":"configuration","restriction":"::Raven::Configuration"}],"args_string":"(configuration : Raven::Configuration)","args_html":"(configuration : Raven::Configuration)","location":{"filename":"src/raven/client.cr","line_number":27,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client.cr#L27"},"def":{"name":"new","args":[{"name":"configuration","external_name":"configuration","restriction":"::Raven::Configuration"}],"visibility":"Public","body":"_ = allocate\n_.initialize(configuration)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"configuration:Configuration-instance-method","name":"configuration","abstract":false,"location":{"filename":"src/raven/client.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client.cr#L11"},"def":{"name":"configuration","return_type":"Configuration","visibility":"Public","body":"@configuration"}},{"html_id":"configuration=(configuration:Configuration)-instance-method","name":"configuration=","abstract":false,"args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"args_string":"(configuration : Configuration)","args_html":"(configuration : Configuration)","location":{"filename":"src/raven/client.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client.cr#L11"},"def":{"name":"configuration=","args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"visibility":"Public","body":"@configuration = configuration"}},{"html_id":"send_event(event:Event|Event::HashType,hint:Event::Hint|Nil=nil)-instance-method","name":"send_event","abstract":false,"args":[{"name":"event","external_name":"event","restriction":"Event | Event::HashType"},{"name":"hint","default_value":"nil","external_name":"hint","restriction":"Event::Hint | ::Nil"}],"args_string":"(event : Event | Event::HashType, hint : Event::Hint | Nil = nil)","args_html":"(event : Event | Event::HashType, hint : Event::Hint | Nil = nil)","location":{"filename":"src/raven/client.cr","line_number":46,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client.cr#L46"},"def":{"name":"send_event","args":[{"name":"event","external_name":"event","restriction":"Event | Event::HashType"},{"name":"hint","default_value":"nil","external_name":"hint","restriction":"Event::Hint | ::Nil"}],"visibility":"Public","body":"if ex = configuration.validate!\n Log.debug do\n \"Client#send_event with event '#{event}' failed: #{ex.error_messages}\"\n end\n return false\nend\nif event.is_a?(Event)\n configuration.before_send.try do |before_send|\n event = before_send.call(event, hint)\n if event\n else\n Log.info do\n \"Discarded event because before_send returned nil\"\n end\n return\n end\n end\nend\nevent = event.is_a?(Event) ? event.to_hash : event\nif @state.should_try?\nelse\n failed_send(nil, event)\n return\nend\nLog.info do\n \"Sending event #{event[:event_id]} to Sentry\"\nend\ncontent_type, encoded_data = encode(event)\nbegin\n options = {content_type: content_type}\n (transport.send_event(generate_auth_header, encoded_data, **options)).tap do\n successful_send\n end\nrescue ex\n failed_send(ex, event)\nend\n"}},{"html_id":"send_feedback(event_id:String,data:Hash)-instance-method","name":"send_feedback","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"data","external_name":"data","restriction":"Hash"}],"args_string":"(event_id : String, data : Hash)","args_html":"(event_id : String, data : Hash)","location":{"filename":"src/raven/client.cr","line_number":36,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client.cr#L36"},"def":{"name":"send_feedback","args":[{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"data","external_name":"data","restriction":"Hash"}],"visibility":"Public","body":"if ex = configuration.validate!\n Log.debug do\n \"Client#send_feedback with event id '#{event_id}' failed: #{ex.error_messages}\"\n end\n return false\nend\ntransport.send_feedback(event_id, data)\n"}},{"html_id":"transport:Transport-instance-method","name":"transport","abstract":false,"location":{"filename":"src/raven/client.cr","line_number":16,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client.cr#L16"},"def":{"name":"transport","return_type":"Transport","visibility":"Public","body":"if (value = @transport).nil?\n @transport = (case configuration.scheme\n when \"http\", \"https\"\n Transport::HTTP.new(configuration)\n when \"dummy\"\n Transport::Dummy.new(configuration)\n else\n raise(\"Unknown transport scheme '#{configuration.scheme}'\")\n end)\nelse\n value\nend"}}],"types":[{"html_id":"raven/Raven/Client/State","path":"Raven/Client/State.html","kind":"class","full_name":"Raven::Client::State","name":"State","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/client_state.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client_state.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Client","kind":"class","full_name":"Raven::Client","name":"Client"},"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/client_state.cr","line_number":13,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client_state.cr#L13"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"failed?-instance-method","name":"failed?","abstract":false,"location":{"filename":"src/raven/client_state.cr","line_number":45,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client_state.cr#L45"},"def":{"name":"failed?","visibility":"Public","body":"@status.error?"}},{"html_id":"failure(retry_after:Time::Span|Nil=nil):Nil-instance-method","name":"failure","abstract":false,"args":[{"name":"retry_after","default_value":"nil","external_name":"retry_after","restriction":"::Time::Span | ::Nil"}],"args_string":"(retry_after : Time::Span | Nil = nil) : Nil","args_html":"(retry_after : Time::Span | Nil = nil) : Nil","location":{"filename":"src/raven/client_state.cr","line_number":27,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client_state.cr#L27"},"def":{"name":"failure","args":[{"name":"retry_after","default_value":"nil","external_name":"retry_after","restriction":"::Time::Span | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"@status = Status::ERROR\n@retry_number = @retry_number + 1\n@last_check = Time.utc\n@retry_after = retry_after\n"}},{"html_id":"reset:Nil-instance-method","name":"reset","abstract":false,"location":{"filename":"src/raven/client_state.cr","line_number":38,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client_state.cr#L38"},"def":{"name":"reset","return_type":"Nil","visibility":"Public","body":"@status = Status::ONLINE\n@retry_number = 0\n@last_check = nil\n@retry_after = nil\n"}},{"html_id":"should_try?-instance-method","name":"should_try?","abstract":false,"location":{"filename":"src/raven/client_state.cr","line_number":18,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client_state.cr#L18"},"def":{"name":"should_try?","visibility":"Public","body":"if @status.online?\n return true\nend\ninterval = @retry_after || ({@retry_number, 6}.min ** 2).seconds\nif last_check = @last_check\nelse\n return true\nend\nif (Time.utc - last_check) >= interval\n return true\nend\nfalse\n"}},{"html_id":"success:Nil-instance-method","name":"success","abstract":false,"location":{"filename":"src/raven/client_state.cr","line_number":34,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client_state.cr#L34"},"def":{"name":"success","return_type":"Nil","visibility":"Public","body":"reset"}}],"types":[{"html_id":"raven/Raven/Client/State/Status","path":"Raven/Client/State/Status.html","kind":"enum","full_name":"Raven::Client::State::Status","name":"Status","abstract":false,"ancestors":[{"html_id":"raven/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"raven/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"raven/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/client_state.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client_state.cr#L3"}],"repository_name":"raven","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"ONLINE","name":"ONLINE","value":"0"},{"id":"ERROR","name":"ERROR","value":"1"}],"namespace":{"html_id":"raven/Raven/Client/State","kind":"class","full_name":"Raven::Client::State","name":"State"},"instance_methods":[{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/raven/client_state.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client_state.cr#L5"},"def":{"name":"error?","visibility":"Public","body":"self == ERROR"}},{"html_id":"online?-instance-method","name":"online?","abstract":false,"location":{"filename":"src/raven/client_state.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client_state.cr#L4"},"def":{"name":"online?","visibility":"Public","body":"self == ONLINE"}}]}]}]},{"html_id":"raven/Raven/Configuration","path":"Raven/Configuration.html","kind":"class","full_name":"Raven::Configuration","name":"Configuration","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/configuration.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L5"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DEFAULT_PROCESSORS","name":"DEFAULT_PROCESSORS","value":"[Processor::RemoveCircularReferences, Processor::Cookies, Processor::RequestMethodData, Processor::HTTPHeaders, Processor::UTF8Conversion, Processor::SanitizeData, Processor::Compact] of Processor.class","doc":"Note the order - we have to remove circular references and bad characters\nbefore passing to other processors.","summary":"

Note the order - we have to remove circular references and bad characters before passing to other processors.

"},{"id":"DEFAULT_REQUEST_METHODS_FOR_DATA_SANITIZATION","name":"DEFAULT_REQUEST_METHODS_FOR_DATA_SANITIZATION","value":"[\"POST\", \"PUT\", \"PATCH\"] of ::String","doc":"Array of default request methods for which data should be removed.","summary":"

Array of default request methods for which data should be removed.

"},{"id":"IGNORE_DEFAULT","name":"IGNORE_DEFAULT","value":"[] of Exception.class | String","doc":"Array of exception classes that should never be sent.","summary":"

Array of exception classes that should never be sent.

"},{"id":"REQUIRED_OPTIONS","name":"REQUIRED_OPTIONS","value":"[:host, :public_key, :project_id] of ::Symbol","doc":"Array of required properties needed to be set, before\n`Configuration` is considered valid.","summary":"

Array of required properties needed to be set, before Configuration is considered valid.

"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":260,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L260"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"app_dirs_pattern(*args,**options)-instance-method","name":"app_dirs_pattern","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L68"},"def":{"name":"app_dirs_pattern","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"backtracer.app_dirs_pattern(*args, **options)"}},{"html_id":"app_dirs_pattern(*args,**options,&)-instance-method","name":"app_dirs_pattern","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L68"},"def":{"name":"app_dirs_pattern","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"backtracer.app_dirs_pattern(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"app_dirs_pattern=(arg)-instance-method","name":"app_dirs_pattern=","abstract":false,"args":[{"name":"arg","external_name":"arg","restriction":""}],"args_string":"(arg)","args_html":"(arg)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L68"},"def":{"name":"app_dirs_pattern=","args":[{"name":"arg","external_name":"arg","restriction":""}],"visibility":"Public","body":"backtracer.app_dirs_pattern = arg"}},{"html_id":"async:Proc(Event,Nil)|Nil-instance-method","name":"async","doc":"Provide a `Proc` object that responds to `call` to send\nevents asynchronously, or pass `true` to to use standard `spawn`.\n\n```\n->(event : Raven::Event) { spawn { Raven.send_event(event) } }\n```","summary":"

Provide a Proc object that responds to call to send events asynchronously, or pass true to to use standard spawn.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":50,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L50"},"def":{"name":"async","return_type":"Proc(Event, Nil) | ::Nil","visibility":"Public","body":"@async"}},{"html_id":"async=(async:Proc(Event,Nil)|Nil)-instance-method","name":"async=","doc":"Provide a `Proc` object that responds to `call` to send\nevents asynchronously, or pass `true` to to use standard `spawn`.\n\n```\n->(event : Raven::Event) { spawn { Raven.send_event(event) } }\n```","summary":"

Provide a Proc object that responds to call to send events asynchronously, or pass true to to use standard spawn.

","abstract":false,"args":[{"name":"async","external_name":"async","restriction":"Proc(Event, Nil) | ::Nil"}],"args_string":"(async : Proc(Event, Nil) | Nil)","args_html":"(async : Proc(Event, Nil) | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":50,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L50"},"def":{"name":"async=","args":[{"name":"async","external_name":"async","restriction":"Proc(Event, Nil) | ::Nil"}],"visibility":"Public","body":"@async = async"}},{"html_id":"async=(switch:Bool)-instance-method","name":"async=","doc":"Sets `async` callback to either `Fiber`-based implementation (see below),\nor `nil`, depending on the given *switch* value.\n\n```\n->(event : Event) { spawn { Raven.send_event(event) } }\n```","summary":"

Sets #async callback to either Fiber-based implementation (see below), or nil, depending on the given switch value.

","abstract":false,"args":[{"name":"switch","external_name":"switch","restriction":"Bool"}],"args_string":"(switch : Bool)","args_html":"(switch : Bool)","location":{"filename":"src/raven/configuration.cr","line_number":58,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L58"},"def":{"name":"async=","args":[{"name":"switch","external_name":"switch","restriction":"Bool"}],"visibility":"Public","body":"if switch\nelse\n return @async = nil\nend\n@async = ->(event : Event) do\n spawn do\n Raven.send_event(event)\n end\n nil\nend\n"}},{"html_id":"backtracer:Backtracer::Configuration-instance-method","name":"backtracer","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":66,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L66"},"def":{"name":"backtracer","visibility":"Public","body":"@backtracer"}},{"html_id":"backtracer=(backtracer:Backtracer::Configuration)-instance-method","name":"backtracer=","abstract":false,"args":[{"name":"backtracer","external_name":"backtracer","restriction":"::Backtracer::Configuration"}],"args_string":"(backtracer : Backtracer::Configuration)","args_html":"(backtracer : Backtracer::Configuration)","location":{"filename":"src/raven/configuration.cr","line_number":66,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L66"},"def":{"name":"backtracer=","args":[{"name":"backtracer","external_name":"backtracer","restriction":"::Backtracer::Configuration"}],"visibility":"Public","body":"@backtracer = backtracer"}},{"html_id":"before_send(&block:Event,Event::Hint|Nil->_)-instance-method","name":"before_send","doc":"Optional `Proc`, called before sending an event to the server:\n\n```\n->(event : Raven::Event, hint : Raven::Event::Hint?) {\n if hint.try(&.exception).try(&.message) =~ /database unavailable/i\n event.fingerprint << \"database-unavailable\"\n end\n event\n}\n```","summary":"

Optional Proc, called before sending an event to the server:

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":253,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L253"},"def":{"name":"before_send","yields":2,"block_arity":2,"block_arg":{"name":"block","external_name":"block","restriction":"(Event, Event::Hint | ::Nil -> _)"},"visibility":"Public","body":"self.before_send = block"}},{"html_id":"before_send:Proc(Event,Event::Hint|Nil,Event|Nil)|Nil-instance-method","name":"before_send","doc":"Optional `Proc`, called before sending an event to the server:\n\n```\n->(event : Raven::Event, hint : Raven::Event::Hint?) {\n if hint.try(&.exception).try(&.message) =~ /database unavailable/i\n event.fingerprint << \"database-unavailable\"\n end\n event\n}\n```","summary":"

Optional Proc, called before sending an event to the server:

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":258,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L258"},"def":{"name":"before_send","return_type":"Proc(Event, Event::Hint | ::Nil, Event | ::Nil) | ::Nil","visibility":"Public","body":"@before_send"}},{"html_id":"before_send=(block:Event,Event::Hint|Nil->_)-instance-method","name":"before_send=","doc":"Optional `Proc`, called before sending an event to the server:\n\n```\n->(event : Raven::Event, hint : Raven::Event::Hint?) {\n if hint.try(&.exception).try(&.message) =~ /database unavailable/i\n event.fingerprint << \"database-unavailable\"\n end\n event\n}\n```","summary":"

Optional Proc, called before sending an event to the server:

","abstract":false,"args":[{"name":"block","external_name":"block","restriction":"(Event, Event::Hint | ::Nil -> _)"}],"args_string":"(block : Event, Event::Hint | Nil -> _)","args_html":"(block : Event, Event::Hint | Nil -> _)","location":{"filename":"src/raven/configuration.cr","line_number":246,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L246"},"def":{"name":"before_send=","args":[{"name":"block","external_name":"block","restriction":"(Event, Event::Hint | ::Nil -> _)"}],"visibility":"Public","body":"@before_send = ->(event : Event, hint : Event::Hint | ::Nil) do\n (block.call(event, hint)).as(Event | ::Nil)\nend"}},{"html_id":"before_send=(before_send:Proc(Event,Event::Hint|Nil,Event|Nil)|Nil)-instance-method","name":"before_send=","doc":"Optional `Proc`, called before sending an event to the server:\n\n```\n->(event : Raven::Event, hint : Raven::Event::Hint?) {\n if hint.try(&.exception).try(&.message) =~ /database unavailable/i\n event.fingerprint << \"database-unavailable\"\n end\n event\n}\n```","summary":"

Optional Proc, called before sending an event to the server:

","abstract":false,"args":[{"name":"before_send","external_name":"before_send","restriction":"Proc(Event, Event::Hint | ::Nil, Event | ::Nil) | ::Nil"}],"args_string":"(before_send : Proc(Event, Event::Hint | Nil, Event | Nil) | Nil)","args_html":"(before_send : Proc(Event, Event::Hint | Nil, Event | Nil) | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":258,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L258"},"def":{"name":"before_send=","args":[{"name":"before_send","external_name":"before_send","restriction":"Proc(Event, Event::Hint | ::Nil, Event | ::Nil) | ::Nil"}],"visibility":"Public","body":"@before_send = before_send"}},{"html_id":"capture_allowed!(message_or_ex):ValidationError|Nil-instance-method","name":"capture_allowed!","abstract":false,"args":[{"name":"message_or_ex","external_name":"message_or_ex","restriction":""}],"args_string":"(message_or_ex) : ValidationError | Nil","args_html":"(message_or_ex) : ValidationError | Nil","location":{"filename":"src/raven/configuration.cr","line_number":437,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L437"},"def":{"name":"capture_allowed!","args":[{"name":"message_or_ex","external_name":"message_or_ex","restriction":""}],"return_type":"ValidationError | ::Nil","visibility":"Public","body":"errors = capture_allowed(message_or_ex)\nif errors.empty?\nelse\n ValidationError.new(errors)\nend\n"}},{"html_id":"capture_allowed!:ValidationError|Nil-instance-method","name":"capture_allowed!","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":412,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L412"},"def":{"name":"capture_allowed!","return_type":"ValidationError | ::Nil","visibility":"Public","body":"errors = capture_allowed\nif errors.empty?\nelse\n ValidationError.new(errors)\nend\n"}},{"html_id":"capture_allowed?(message_or_ex):Bool-instance-method","name":"capture_allowed?","abstract":false,"args":[{"name":"message_or_ex","external_name":"message_or_ex","restriction":""}],"args_string":"(message_or_ex) : Bool","args_html":"(message_or_ex) : Bool","location":{"filename":"src/raven/configuration.cr","line_number":442,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L442"},"def":{"name":"capture_allowed?","args":[{"name":"message_or_ex","external_name":"message_or_ex","restriction":""}],"return_type":"Bool","visibility":"Public","body":"(capture_allowed(message_or_ex)).empty?"}},{"html_id":"capture_allowed?:Bool-instance-method","name":"capture_allowed?","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":417,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L417"},"def":{"name":"capture_allowed?","return_type":"Bool","visibility":"Public","body":"capture_allowed.empty?"}},{"html_id":"connect_timeout:Time::Span-instance-method","name":"connect_timeout","doc":"Timeout waiting for the Sentry server connection to open in seconds.","summary":"

Timeout waiting for the Sentry server connection to open in seconds.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":109,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L109"},"def":{"name":"connect_timeout","return_type":"Time::Span","visibility":"Public","body":"@connect_timeout"}},{"html_id":"connect_timeout=(connect_timeout:Time::Span)-instance-method","name":"connect_timeout=","doc":"Timeout waiting for the Sentry server connection to open in seconds.","summary":"

Timeout waiting for the Sentry server connection to open in seconds.

","abstract":false,"args":[{"name":"connect_timeout","external_name":"connect_timeout","restriction":"Time::Span"}],"args_string":"(connect_timeout : Time::Span)","args_html":"(connect_timeout : Time::Span)","location":{"filename":"src/raven/configuration.cr","line_number":109,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L109"},"def":{"name":"connect_timeout=","args":[{"name":"connect_timeout","external_name":"connect_timeout","restriction":"Time::Span"}],"visibility":"Public","body":"@connect_timeout = connect_timeout"}},{"html_id":"context_lines(*args,**options)-instance-method","name":"context_lines","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L68"},"def":{"name":"context_lines","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"backtracer.context_lines(*args, **options)"}},{"html_id":"context_lines(*args,**options,&)-instance-method","name":"context_lines","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L68"},"def":{"name":"context_lines","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"backtracer.context_lines(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"context_lines=(arg)-instance-method","name":"context_lines=","abstract":false,"args":[{"name":"arg","external_name":"arg","restriction":""}],"args_string":"(arg)","args_html":"(arg)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L68"},"def":{"name":"context_lines=","args":[{"name":"arg","external_name":"arg","restriction":""}],"visibility":"Public","body":"backtracer.context_lines = arg"}},{"html_id":"current_environment:String|Nil-instance-method","name":"current_environment","doc":"Defaults to `SENTRY_ENVIRONMENT` variable if set,\n`\"default\"` otherwise.","summary":"

Defaults to SENTRY_ENVIRONMENT variable if set, "default" otherwise.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":77,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L77"},"def":{"name":"current_environment","return_type":"String | ::Nil","visibility":"Public","body":"@current_environment"}},{"html_id":"current_environment=(current_environment:String|Nil)-instance-method","name":"current_environment=","doc":"Defaults to `SENTRY_ENVIRONMENT` variable if set,\n`\"default\"` otherwise.","summary":"

Defaults to SENTRY_ENVIRONMENT variable if set, "default" otherwise.

","abstract":false,"args":[{"name":"current_environment","external_name":"current_environment","restriction":"String | ::Nil"}],"args_string":"(current_environment : String | Nil)","args_html":"(current_environment : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":77,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L77"},"def":{"name":"current_environment=","args":[{"name":"current_environment","external_name":"current_environment","restriction":"String | ::Nil"}],"visibility":"Public","body":"@current_environment = current_environment"}},{"html_id":"dsn:String|Nil-instance-method","name":"dsn","doc":"Simple server string - set this to the DSN found on your Sentry settings.","summary":"

Simple server string - set this to the DSN found on your Sentry settings.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":202,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L202"},"def":{"name":"dsn","return_type":"String | ::Nil","visibility":"Public","body":"@dsn"}},{"html_id":"dsn=(uri:URI)-instance-method","name":"dsn=","abstract":false,"args":[{"name":"uri","external_name":"uri","restriction":"URI"}],"args_string":"(uri : URI)","args_html":"(uri : URI)","location":{"filename":"src/raven/configuration.cr","line_number":280,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L280"},"def":{"name":"dsn=","args":[{"name":"uri","external_name":"uri","restriction":"URI"}],"visibility":"Public","body":"uri_path = uri.path.try(&.split('/'))\nif uri.user\n @public_key = uri.user\n @secret_key = uri.password\n @project_id = uri_path.try(&.pop?).try(&.to_u64)\nelse\n @public_key = @secret_key = @project_id = nil\nend\n@scheme = uri.scheme\n@host = uri.host\nstandard_ports = {http: 80, https: 443}\n@port = uri.port\nif scheme = @scheme\n if @port == standard_ports[scheme]?\n @port = nil\n end\nend\n@path = uri_path.try(&.join('/'))\nif @path.try(&.empty?)\n @path = nil\nend\n@dsn = String.build do |str|\n (str << @scheme) << \"://\"\n if @public_key\n (str << @public_key) << '@'\n end\n str << @host\n if @port\n (str << ':') << @port\n end\n if @path\n str << @path\n end\n if @project_id\n (str << '/') << @project_id\n end\nend\n"}},{"html_id":"dsn=(value:String)-instance-method","name":"dsn=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/raven/configuration.cr","line_number":314,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L314"},"def":{"name":"dsn=","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"self.dsn = URI.parse(value)"}},{"html_id":"encoding:Encoding-instance-method","name":"encoding","doc":"Encoding type for event bodies.","summary":"

Encoding type for event bodies.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":86,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L86"},"def":{"name":"encoding","return_type":"Encoding","visibility":"Public","body":"@encoding"}},{"html_id":"encoding=(encoding:Encoding)-instance-method","name":"encoding=","doc":"Encoding type for event bodies.","summary":"

Encoding type for event bodies.

","abstract":false,"args":[{"name":"encoding","external_name":"encoding","restriction":"Encoding"}],"args_string":"(encoding : Encoding)","args_html":"(encoding : Encoding)","location":{"filename":"src/raven/configuration.cr","line_number":86,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L86"},"def":{"name":"encoding=","args":[{"name":"encoding","external_name":"encoding","restriction":"Encoding"}],"visibility":"Public","body":"@encoding = encoding"}},{"html_id":"environments:Array(String)-instance-method","name":"environments","doc":"Whitelist of environments that will send notifications to Sentry.","summary":"

Whitelist of environments that will send notifications to Sentry.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":89,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L89"},"def":{"name":"environments","visibility":"Public","body":"@environments"}},{"html_id":"environments=(environments:Array(String))-instance-method","name":"environments=","doc":"Whitelist of environments that will send notifications to Sentry.","summary":"

Whitelist of environments that will send notifications to Sentry.

","abstract":false,"args":[{"name":"environments","external_name":"environments","restriction":"::Array(::String)"}],"args_string":"(environments : Array(String))","args_html":"(environments : Array(String))","location":{"filename":"src/raven/configuration.cr","line_number":89,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L89"},"def":{"name":"environments=","args":[{"name":"environments","external_name":"environments","restriction":"::Array(::String)"}],"visibility":"Public","body":"@environments = environments"}},{"html_id":"exclude_loggers:Array(String)-instance-method","name":"exclude_loggers","doc":"`::Log#source` patterns excluded from breadcrumb recording.\n\nDefaults to `raven.*`.\n\nNOTE: You should probably append to this rather than overwrite it.","summary":"

::Log#source patterns excluded from breadcrumb recording.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":96,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L96"},"def":{"name":"exclude_loggers","return_type":"Array(String)","visibility":"Public","body":"@exclude_loggers"}},{"html_id":"exclude_loggers=(exclude_loggers:Array(String))-instance-method","name":"exclude_loggers=","doc":"`::Log#source` patterns excluded from breadcrumb recording.\n\nDefaults to `raven.*`.\n\nNOTE: You should probably append to this rather than overwrite it.","summary":"

::Log#source patterns excluded from breadcrumb recording.

","abstract":false,"args":[{"name":"exclude_loggers","external_name":"exclude_loggers","restriction":"Array(String)"}],"args_string":"(exclude_loggers : Array(String))","args_html":"(exclude_loggers : Array(String))","location":{"filename":"src/raven/configuration.cr","line_number":96,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L96"},"def":{"name":"exclude_loggers=","args":[{"name":"exclude_loggers","external_name":"exclude_loggers","restriction":"Array(String)"}],"visibility":"Public","body":"@exclude_loggers = exclude_loggers"}},{"html_id":"excluded_exceptions:Array(Exception.class|String)-instance-method","name":"excluded_exceptions","doc":"Array of exception classes that should never be sent.\n\nSee `IGNORE_DEFAULT`.\n\nNOTE: You should probably append to this rather than overwrite it.","summary":"

Array of exception classes that should never be sent.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":103,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L103"},"def":{"name":"excluded_exceptions","return_type":"Array(Exception.class | String)","visibility":"Public","body":"@excluded_exceptions"}},{"html_id":"excluded_exceptions=(excluded_exceptions:Array(Exception.class|String))-instance-method","name":"excluded_exceptions=","doc":"Array of exception classes that should never be sent.\n\nSee `IGNORE_DEFAULT`.\n\nNOTE: You should probably append to this rather than overwrite it.","summary":"

Array of exception classes that should never be sent.

","abstract":false,"args":[{"name":"excluded_exceptions","external_name":"excluded_exceptions","restriction":"Array(Exception.class | String)"}],"args_string":"(excluded_exceptions : Array(Exception.class | String))","args_html":"(excluded_exceptions : Array(Exception.class | String))","location":{"filename":"src/raven/configuration.cr","line_number":103,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L103"},"def":{"name":"excluded_exceptions=","args":[{"name":"excluded_exceptions","external_name":"excluded_exceptions","restriction":"Array(Exception.class | String)"}],"visibility":"Public","body":"@excluded_exceptions = excluded_exceptions"}},{"html_id":"host:String|Nil-instance-method","name":"host","doc":"NOTE: DSN component - set automatically if DSN provided.","summary":"

NOTE DSN component - set automatically if DSN provided.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":106,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L106"},"def":{"name":"host","return_type":"String | ::Nil","visibility":"Public","body":"@host"}},{"html_id":"host=(host:String|Nil)-instance-method","name":"host=","doc":"NOTE: DSN component - set automatically if DSN provided.","summary":"

NOTE DSN component - set automatically if DSN provided.

","abstract":false,"args":[{"name":"host","external_name":"host","restriction":"String | ::Nil"}],"args_string":"(host : String | Nil)","args_html":"(host : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":106,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L106"},"def":{"name":"host=","args":[{"name":"host","external_name":"host","restriction":"String | ::Nil"}],"visibility":"Public","body":"@host = host"}},{"html_id":"ignored_logger?(source)-instance-method","name":"ignored_logger?","abstract":false,"args":[{"name":"source","external_name":"source","restriction":""}],"args_string":"(source)","args_html":"(source)","location":{"filename":"src/raven/configuration.cr","line_number":370,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L370"},"def":{"name":"ignored_logger?","args":[{"name":"source","external_name":"source","restriction":""}],"visibility":"Public","body":"exclude_loggers.any? do |pattern|\n ::Log::Builder.matches(source, pattern)\nend"}},{"html_id":"modules_path_pattern(*args,**options)-instance-method","name":"modules_path_pattern","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L68"},"def":{"name":"modules_path_pattern","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"backtracer.modules_path_pattern(*args, **options)"}},{"html_id":"modules_path_pattern(*args,**options,&)-instance-method","name":"modules_path_pattern","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L68"},"def":{"name":"modules_path_pattern","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"backtracer.modules_path_pattern(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"modules_path_pattern=(arg)-instance-method","name":"modules_path_pattern=","abstract":false,"args":[{"name":"arg","external_name":"arg","restriction":""}],"args_string":"(arg)","args_html":"(arg)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L68"},"def":{"name":"modules_path_pattern=","args":[{"name":"arg","external_name":"arg","restriction":""}],"visibility":"Public","body":"backtracer.modules_path_pattern = arg"}},{"html_id":"path:String|Nil-instance-method","name":"path","doc":"NOTE: DSN component - set automatically if DSN provided.","summary":"

NOTE DSN component - set automatically if DSN provided.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":112,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L112"},"def":{"name":"path","return_type":"String | ::Nil","visibility":"Public","body":"@path"}},{"html_id":"path=(path:String|Nil)-instance-method","name":"path=","doc":"NOTE: DSN component - set automatically if DSN provided.","summary":"

NOTE DSN component - set automatically if DSN provided.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String | ::Nil"}],"args_string":"(path : String | Nil)","args_html":"(path : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":112,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L112"},"def":{"name":"path=","args":[{"name":"path","external_name":"path","restriction":"String | ::Nil"}],"visibility":"Public","body":"@path = path"}},{"html_id":"port:Int32|Nil-instance-method","name":"port","doc":"NOTE: DSN component - set automatically if DSN provided.","summary":"

NOTE DSN component - set automatically if DSN provided.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":115,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L115"},"def":{"name":"port","return_type":"Int32 | ::Nil","visibility":"Public","body":"@port"}},{"html_id":"port=(port:Int32|Nil)-instance-method","name":"port=","doc":"NOTE: DSN component - set automatically if DSN provided.","summary":"

NOTE DSN component - set automatically if DSN provided.

","abstract":false,"args":[{"name":"port","external_name":"port","restriction":"Int32 | ::Nil"}],"args_string":"(port : Int32 | Nil)","args_html":"(port : Int32 | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":115,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L115"},"def":{"name":"port=","args":[{"name":"port","external_name":"port","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@port = port"}},{"html_id":"processors:Array(Processor.class)-instance-method","name":"processors","doc":"Processors to run on data before sending upstream. See `DEFAULT_PROCESSORS`.\nYou should probably append to this rather than overwrite it.","summary":"

Processors to run on data before sending upstream.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":119,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L119"},"def":{"name":"processors","return_type":"Array(Processor.class)","visibility":"Public","body":"@processors"}},{"html_id":"processors=(processors:Array(Processor.class))-instance-method","name":"processors=","doc":"Processors to run on data before sending upstream. See `DEFAULT_PROCESSORS`.\nYou should probably append to this rather than overwrite it.","summary":"

Processors to run on data before sending upstream.

","abstract":false,"args":[{"name":"processors","external_name":"processors","restriction":"Array(Processor.class)"}],"args_string":"(processors : Array(Processor.class))","args_html":"(processors : Array(Processor.class))","location":{"filename":"src/raven/configuration.cr","line_number":119,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L119"},"def":{"name":"processors=","args":[{"name":"processors","external_name":"processors","restriction":"Array(Processor.class)"}],"visibility":"Public","body":"@processors = processors"}},{"html_id":"project_id:UInt64|Nil-instance-method","name":"project_id","doc":"Project ID number to send to the Sentry server\n\nNOTE: If you provide a DSN, this will be set automatically.","summary":"

Project ID number to send to the Sentry server

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":124,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L124"},"def":{"name":"project_id","return_type":"UInt64 | ::Nil","visibility":"Public","body":"@project_id"}},{"html_id":"project_id=(project_id:UInt64|Nil)-instance-method","name":"project_id=","doc":"Project ID number to send to the Sentry server\n\nNOTE: If you provide a DSN, this will be set automatically.","summary":"

Project ID number to send to the Sentry server

","abstract":false,"args":[{"name":"project_id","external_name":"project_id","restriction":"UInt64 | ::Nil"}],"args_string":"(project_id : UInt64 | Nil)","args_html":"(project_id : UInt64 | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":124,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L124"},"def":{"name":"project_id=","args":[{"name":"project_id","external_name":"project_id","restriction":"UInt64 | ::Nil"}],"visibility":"Public","body":"@project_id = project_id"}},{"html_id":"project_root:String-instance-method","name":"project_root","doc":"Project directory root for revision detection. Could be Kemal root, etc.","summary":"

Project directory root for revision detection.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":127,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L127"},"def":{"name":"project_root","return_type":"String","visibility":"Public","body":"if (value = @project_root).nil?\n @project_root = (if path = Process.executable_path\n File.dirname(path)\n else\n Dir.current\n end)\nelse\n value\nend"}},{"html_id":"project_root=(project_root:String)-instance-method","name":"project_root=","doc":"Project directory root for revision detection. Could be Kemal root, etc.","summary":"

Project directory root for revision detection.

","abstract":false,"args":[{"name":"project_root","external_name":"project_root","restriction":"String"}],"args_string":"(project_root : String)","args_html":"(project_root : String)","location":{"filename":"src/raven/configuration.cr","line_number":127,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L127"},"def":{"name":"project_root=","args":[{"name":"project_root","external_name":"project_root","restriction":"String"}],"visibility":"Public","body":"@project_root = project_root"}},{"html_id":"public_key:String|Nil-instance-method","name":"public_key","doc":"Public key for authentication with the Sentry server.\n\nNOTE: If you provide a DSN, this will be set automatically.","summary":"

Public key for authentication with the Sentry server.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":138,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L138"},"def":{"name":"public_key","return_type":"String | ::Nil","visibility":"Public","body":"@public_key"}},{"html_id":"public_key=(public_key:String|Nil)-instance-method","name":"public_key=","doc":"Public key for authentication with the Sentry server.\n\nNOTE: If you provide a DSN, this will be set automatically.","summary":"

Public key for authentication with the Sentry server.

","abstract":false,"args":[{"name":"public_key","external_name":"public_key","restriction":"String | ::Nil"}],"args_string":"(public_key : String | Nil)","args_html":"(public_key : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":138,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L138"},"def":{"name":"public_key=","args":[{"name":"public_key","external_name":"public_key","restriction":"String | ::Nil"}],"visibility":"Public","body":"@public_key = public_key"}},{"html_id":"random:Random-instance-method","name":"random","doc":"`Random` instance used when `sample_rate` is set.","summary":"

Random instance used when #sample_rate is set.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":149,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L149"},"def":{"name":"random","return_type":"Random","visibility":"Public","body":"if (value = @random).nil?\n @random = (Random::DEFAULT)\nelse\n value\nend"}},{"html_id":"random=(random:Random)-instance-method","name":"random=","doc":"`Random` instance used when `sample_rate` is set.","summary":"

Random instance used when #sample_rate is set.

","abstract":false,"args":[{"name":"random","external_name":"random","restriction":"Random"}],"args_string":"(random : Random)","args_html":"(random : Random)","location":{"filename":"src/raven/configuration.cr","line_number":149,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L149"},"def":{"name":"random=","args":[{"name":"random","external_name":"random","restriction":"Random"}],"visibility":"Public","body":"@random = random"}},{"html_id":"read_timeout:Time::Span-instance-method","name":"read_timeout","doc":"Timeout when waiting for the server to return data.","summary":"

Timeout when waiting for the server to return data.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":224,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L224"},"def":{"name":"read_timeout","return_type":"Time::Span","visibility":"Public","body":"@read_timeout"}},{"html_id":"read_timeout=(read_timeout:Time::Span)-instance-method","name":"read_timeout=","doc":"Timeout when waiting for the server to return data.","summary":"

Timeout when waiting for the server to return data.

","abstract":false,"args":[{"name":"read_timeout","external_name":"read_timeout","restriction":"Time::Span"}],"args_string":"(read_timeout : Time::Span)","args_html":"(read_timeout : Time::Span)","location":{"filename":"src/raven/configuration.cr","line_number":224,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L224"},"def":{"name":"read_timeout=","args":[{"name":"read_timeout","external_name":"read_timeout","restriction":"Time::Span"}],"visibility":"Public","body":"@read_timeout = read_timeout"}},{"html_id":"release:String|Nil-instance-method","name":"release","doc":"Release tag to be passed with every event sent to Sentry.\nWe automatically try to set this to a git SHA or Capistrano release.","summary":"

Release tag to be passed with every event sent to Sentry.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":142,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L142"},"def":{"name":"release","return_type":"String | ::Nil","visibility":"Public","body":"@release"}},{"html_id":"release=(release:String|Nil)-instance-method","name":"release=","doc":"Release tag to be passed with every event sent to Sentry.\nWe automatically try to set this to a git SHA or Capistrano release.","summary":"

Release tag to be passed with every event sent to Sentry.

","abstract":false,"args":[{"name":"release","external_name":"release","restriction":"String | ::Nil"}],"args_string":"(release : String | Nil)","args_html":"(release : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":142,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L142"},"def":{"name":"release=","args":[{"name":"release","external_name":"release","restriction":"String | ::Nil"}],"visibility":"Public","body":"@release = release"}},{"html_id":"sample_rate:Float64-instance-method","name":"sample_rate","doc":"The sampling factor to apply to events. A value of `0.0` will not send\nany events, and a value of `1.0` will send 100% of events.","summary":"

The sampling factor to apply to events.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":146,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L146"},"def":{"name":"sample_rate","return_type":"Float64","visibility":"Public","body":"@sample_rate"}},{"html_id":"sample_rate=(sample_rate:Float64)-instance-method","name":"sample_rate=","doc":"The sampling factor to apply to events. A value of `0.0` will not send\nany events, and a value of `1.0` will send 100% of events.","summary":"

The sampling factor to apply to events.

","abstract":false,"args":[{"name":"sample_rate","external_name":"sample_rate","restriction":"Float64"}],"args_string":"(sample_rate : Float64)","args_html":"(sample_rate : Float64)","location":{"filename":"src/raven/configuration.cr","line_number":146,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L146"},"def":{"name":"sample_rate=","args":[{"name":"sample_rate","external_name":"sample_rate","restriction":"Float64"}],"visibility":"Public","body":"@sample_rate = sample_rate"}},{"html_id":"sanitize_credit_cards=(sanitize_credit_cards:Bool)-instance-method","name":"sanitize_credit_cards=","doc":"Should sanitize values that look like credit card numbers?\n\nSee `Processor::SanitizeData::CREDIT_CARD_PATTERN`.","summary":"

Should sanitize values that look like credit card numbers?

","abstract":false,"args":[{"name":"sanitize_credit_cards","external_name":"sanitize_credit_cards","restriction":"::Bool"}],"args_string":"(sanitize_credit_cards : Bool)","args_html":"(sanitize_credit_cards : Bool)","location":{"filename":"src/raven/configuration.cr","line_number":154,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L154"},"def":{"name":"sanitize_credit_cards=","args":[{"name":"sanitize_credit_cards","external_name":"sanitize_credit_cards","restriction":"::Bool"}],"visibility":"Public","body":"@sanitize_credit_cards = sanitize_credit_cards"}},{"html_id":"sanitize_credit_cards?:Bool-instance-method","name":"sanitize_credit_cards?","doc":"Should sanitize values that look like credit card numbers?\n\nSee `Processor::SanitizeData::CREDIT_CARD_PATTERN`.","summary":"

Should sanitize values that look like credit card numbers?

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":154,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L154"},"def":{"name":"sanitize_credit_cards?","visibility":"Public","body":"@sanitize_credit_cards"}},{"html_id":"sanitize_data_for_request_methods:Array(String)-instance-method","name":"sanitize_data_for_request_methods","doc":"Request methods for which data should be removed.\n\nSee `DEFAULT_REQUEST_METHODS_FOR_DATA_SANITIZATION`.","summary":"

Request methods for which data should be removed.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":175,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L175"},"def":{"name":"sanitize_data_for_request_methods","return_type":"Array(String)","visibility":"Public","body":"@sanitize_data_for_request_methods"}},{"html_id":"sanitize_data_for_request_methods=(sanitize_data_for_request_methods:Array(String))-instance-method","name":"sanitize_data_for_request_methods=","doc":"Request methods for which data should be removed.\n\nSee `DEFAULT_REQUEST_METHODS_FOR_DATA_SANITIZATION`.","summary":"

Request methods for which data should be removed.

","abstract":false,"args":[{"name":"sanitize_data_for_request_methods","external_name":"sanitize_data_for_request_methods","restriction":"Array(String)"}],"args_string":"(sanitize_data_for_request_methods : Array(String))","args_html":"(sanitize_data_for_request_methods : Array(String))","location":{"filename":"src/raven/configuration.cr","line_number":175,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L175"},"def":{"name":"sanitize_data_for_request_methods=","args":[{"name":"sanitize_data_for_request_methods","external_name":"sanitize_data_for_request_methods","restriction":"Array(String)"}],"visibility":"Public","body":"@sanitize_data_for_request_methods = sanitize_data_for_request_methods"}},{"html_id":"sanitize_fields:Array(Regex|String)-instance-method","name":"sanitize_fields","doc":"By default, Sentry censors `Hash` values when their keys match things like\n`\"secret\"`, `\"password\"`, etc. Provide an `Array` of `String`s that,\nwhen matched in a hash key, will be censored and not sent to Sentry.\n\nSee `Processor::SanitizeData::DEFAULT_FIELDS`.","summary":"

By default, Sentry censors Hash values when their keys match things like "secret", "password", etc.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":161,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L161"},"def":{"name":"sanitize_fields","visibility":"Public","body":"@sanitize_fields"}},{"html_id":"sanitize_fields=(sanitize_fields:Array(Regex|String))-instance-method","name":"sanitize_fields=","doc":"By default, Sentry censors `Hash` values when their keys match things like\n`\"secret\"`, `\"password\"`, etc. Provide an `Array` of `String`s that,\nwhen matched in a hash key, will be censored and not sent to Sentry.\n\nSee `Processor::SanitizeData::DEFAULT_FIELDS`.","summary":"

By default, Sentry censors Hash values when their keys match things like "secret", "password", etc.

","abstract":false,"args":[{"name":"sanitize_fields","external_name":"sanitize_fields","restriction":"::Array(::Regex | ::String)"}],"args_string":"(sanitize_fields : Array(Regex | String))","args_html":"(sanitize_fields : Array(Regex | String))","location":{"filename":"src/raven/configuration.cr","line_number":161,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L161"},"def":{"name":"sanitize_fields=","args":[{"name":"sanitize_fields","external_name":"sanitize_fields","restriction":"::Array(::Regex | ::String)"}],"visibility":"Public","body":"@sanitize_fields = sanitize_fields"}},{"html_id":"sanitize_fields_excluded:Array(Regex|String)-instance-method","name":"sanitize_fields_excluded","doc":"If you're sure you want to override the default sanitization values, you can\nadd to them to an array of `String`s here, e.g. `%w(authorization password)`.","summary":"

If you're sure you want to override the default sanitization values, you can add to them to an array of Strings here, e.g.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":165,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L165"},"def":{"name":"sanitize_fields_excluded","visibility":"Public","body":"@sanitize_fields_excluded"}},{"html_id":"sanitize_fields_excluded=(sanitize_fields_excluded:Array(Regex|String))-instance-method","name":"sanitize_fields_excluded=","doc":"If you're sure you want to override the default sanitization values, you can\nadd to them to an array of `String`s here, e.g. `%w(authorization password)`.","summary":"

If you're sure you want to override the default sanitization values, you can add to them to an array of Strings here, e.g.

","abstract":false,"args":[{"name":"sanitize_fields_excluded","external_name":"sanitize_fields_excluded","restriction":"::Array(::Regex | ::String)"}],"args_string":"(sanitize_fields_excluded : Array(Regex | String))","args_html":"(sanitize_fields_excluded : Array(Regex | String))","location":{"filename":"src/raven/configuration.cr","line_number":165,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L165"},"def":{"name":"sanitize_fields_excluded=","args":[{"name":"sanitize_fields_excluded","external_name":"sanitize_fields_excluded","restriction":"::Array(::Regex | ::String)"}],"visibility":"Public","body":"@sanitize_fields_excluded = sanitize_fields_excluded"}},{"html_id":"sanitize_http_headers:Array(Regex|String)-instance-method","name":"sanitize_http_headers","doc":"Sanitize additional HTTP headers - only `Authorization` is removed by default.\n\nSee `Processor::HTTPHeaders::DEFAULT_FIELDS`.","summary":"

Sanitize additional HTTP headers - only Authorization is removed by default.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":170,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L170"},"def":{"name":"sanitize_http_headers","visibility":"Public","body":"@sanitize_http_headers"}},{"html_id":"sanitize_http_headers=(sanitize_http_headers:Array(Regex|String))-instance-method","name":"sanitize_http_headers=","doc":"Sanitize additional HTTP headers - only `Authorization` is removed by default.\n\nSee `Processor::HTTPHeaders::DEFAULT_FIELDS`.","summary":"

Sanitize additional HTTP headers - only Authorization is removed by default.

","abstract":false,"args":[{"name":"sanitize_http_headers","external_name":"sanitize_http_headers","restriction":"::Array(::Regex | ::String)"}],"args_string":"(sanitize_http_headers : Array(Regex | String))","args_html":"(sanitize_http_headers : Array(Regex | String))","location":{"filename":"src/raven/configuration.cr","line_number":170,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L170"},"def":{"name":"sanitize_http_headers=","args":[{"name":"sanitize_http_headers","external_name":"sanitize_http_headers","restriction":"::Array(::Regex | ::String)"}],"visibility":"Public","body":"@sanitize_http_headers = sanitize_http_headers"}},{"html_id":"scheme:String|Nil-instance-method","name":"scheme","doc":"Can be one of `\"http\"`, `\"https\"`, or `\"dummy\"`.\n\nNOTE: DSN component - set automatically if DSN provided.","summary":"

Can be one of "http", "https", or "dummy".

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":180,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L180"},"def":{"name":"scheme","return_type":"String | ::Nil","visibility":"Public","body":"@scheme"}},{"html_id":"scheme=(scheme:String|Nil)-instance-method","name":"scheme=","doc":"Can be one of `\"http\"`, `\"https\"`, or `\"dummy\"`.\n\nNOTE: DSN component - set automatically if DSN provided.","summary":"

Can be one of "http", "https", or "dummy".

","abstract":false,"args":[{"name":"scheme","external_name":"scheme","restriction":"String | ::Nil"}],"args_string":"(scheme : String | Nil)","args_html":"(scheme : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":180,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L180"},"def":{"name":"scheme=","args":[{"name":"scheme","external_name":"scheme","restriction":"String | ::Nil"}],"visibility":"Public","body":"@scheme = scheme"}},{"html_id":"secret_key:String|Nil-instance-method","name":"secret_key","doc":"Secret key for authentication with the Sentry server.\n\nDEPRECATED: This is deprecated and not necessary for newer Sentry\ninstallations any more.\n\nNOTE: If you provide a DSN, this will be set automatically.","summary":"

Secret key for authentication with the Sentry server.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":196,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L196"},"def":{"name":"secret_key","return_type":"String | ::Nil","visibility":"Public","body":"@secret_key"}},{"html_id":"secret_key=(secret_key:String|Nil)-instance-method","name":"secret_key=","doc":"Secret key for authentication with the Sentry server.\n\nDEPRECATED: This is deprecated and not necessary for newer Sentry\ninstallations any more.\n\nNOTE: If you provide a DSN, this will be set automatically.","summary":"

Secret key for authentication with the Sentry server.

","abstract":false,"args":[{"name":"secret_key","external_name":"secret_key","restriction":"String | ::Nil"}],"args_string":"(secret_key : String | Nil)","args_html":"(secret_key : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":196,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L196"},"def":{"name":"secret_key=","args":[{"name":"secret_key","external_name":"secret_key","restriction":"String | ::Nil"}],"visibility":"Public","body":"@secret_key = secret_key"}},{"html_id":"send_modules=(send_modules:Bool)-instance-method","name":"send_modules=","doc":"Include module versions in reports.","summary":"

Include module versions in reports.

","abstract":false,"args":[{"name":"send_modules","external_name":"send_modules","restriction":"::Bool"}],"args_string":"(send_modules : Bool)","args_html":"(send_modules : Bool)","location":{"filename":"src/raven/configuration.cr","line_number":199,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L199"},"def":{"name":"send_modules=","args":[{"name":"send_modules","external_name":"send_modules","restriction":"::Bool"}],"visibility":"Public","body":"@send_modules = send_modules"}},{"html_id":"send_modules?:Bool-instance-method","name":"send_modules?","doc":"Include module versions in reports.","summary":"

Include module versions in reports.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":199,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L199"},"def":{"name":"send_modules?","visibility":"Public","body":"@send_modules"}},{"html_id":"server_name:String|Nil-instance-method","name":"server_name","doc":"Hostname as an FQDN.","summary":"

Hostname as an FQDN.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":205,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L205"},"def":{"name":"server_name","return_type":"String | ::Nil","visibility":"Public","body":"@server_name"}},{"html_id":"server_name=(server_name:String|Nil)-instance-method","name":"server_name=","doc":"Hostname as an FQDN.","summary":"

Hostname as an FQDN.

","abstract":false,"args":[{"name":"server_name","external_name":"server_name","restriction":"String | ::Nil"}],"args_string":"(server_name : String | Nil)","args_html":"(server_name : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":205,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L205"},"def":{"name":"server_name=","args":[{"name":"server_name","external_name":"server_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@server_name = server_name"}},{"html_id":"should_capture:Proc(Exception|String,Bool)|Nil-instance-method","name":"should_capture","doc":"Provide a configurable `Proc` callback to determine event capture.\n\nNOTE: Object passed into the block will be a `String` (messages)\nor an `Exception`.\n\n```\n->(obj : Exception | String) { obj.some_attr == false }\n```","summary":"

Provide a configurable Proc callback to determine event capture.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":215,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L215"},"def":{"name":"should_capture","return_type":"Proc(Exception | String, Bool) | ::Nil","visibility":"Public","body":"@should_capture"}},{"html_id":"should_capture=(should_capture:Proc(Exception|String,Bool)|Nil)-instance-method","name":"should_capture=","doc":"Provide a configurable `Proc` callback to determine event capture.\n\nNOTE: Object passed into the block will be a `String` (messages)\nor an `Exception`.\n\n```\n->(obj : Exception | String) { obj.some_attr == false }\n```","summary":"

Provide a configurable Proc callback to determine event capture.

","abstract":false,"args":[{"name":"should_capture","external_name":"should_capture","restriction":"Proc(Exception | String, Bool) | ::Nil"}],"args_string":"(should_capture : Proc(Exception | String, Bool) | Nil)","args_html":"(should_capture : Proc(Exception | String, Bool) | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":215,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L215"},"def":{"name":"should_capture=","args":[{"name":"should_capture","external_name":"should_capture","restriction":"Proc(Exception | String, Bool) | ::Nil"}],"visibility":"Public","body":"@should_capture = should_capture"}},{"html_id":"silence_ready=(silence_ready:Bool)-instance-method","name":"silence_ready=","doc":"Silences ready message when `true`.","summary":"

Silences ready message when true.

","abstract":false,"args":[{"name":"silence_ready","external_name":"silence_ready","restriction":"::Bool"}],"args_string":"(silence_ready : Bool)","args_html":"(silence_ready : Bool)","location":{"filename":"src/raven/configuration.cr","line_number":218,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L218"},"def":{"name":"silence_ready=","args":[{"name":"silence_ready","external_name":"silence_ready","restriction":"::Bool"}],"visibility":"Public","body":"@silence_ready = silence_ready"}},{"html_id":"silence_ready?:Bool-instance-method","name":"silence_ready?","doc":"Silences ready message when `true`.","summary":"

Silences ready message when true.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":218,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L218"},"def":{"name":"silence_ready?","visibility":"Public","body":"@silence_ready"}},{"html_id":"src_path(*args,**options)-instance-method","name":"src_path","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L68"},"def":{"name":"src_path","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"backtracer.src_path(*args, **options)"}},{"html_id":"src_path(*args,**options,&)-instance-method","name":"src_path","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L68"},"def":{"name":"src_path","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"backtracer.src_path(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"src_path=(arg)-instance-method","name":"src_path=","abstract":false,"args":[{"name":"arg","external_name":"arg","restriction":""}],"args_string":"(arg)","args_html":"(arg)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L68"},"def":{"name":"src_path=","args":[{"name":"arg","external_name":"arg","restriction":""}],"visibility":"Public","body":"backtracer.src_path = arg"}},{"html_id":"ssl:OpenSSL::SSL::Context::Client|Nil-instance-method","name":"ssl","doc":"SSL context passed to `Raven::Client`.","summary":"

SSL context passed to Raven::Client.

","abstract":false,"def":{"name":"ssl","return_type":"OpenSSL::SSL::Context::Client | ::Nil","visibility":"Public","body":"@ssl"}},{"html_id":"ssl=(ssl:OpenSSL::SSL::Context::Client|Nil)-instance-method","name":"ssl=","doc":"SSL context passed to `Raven::Client`.","summary":"

SSL context passed to Raven::Client.

","abstract":false,"args":[{"name":"ssl","external_name":"ssl","restriction":"OpenSSL::SSL::Context::Client | ::Nil"}],"args_string":"(ssl : OpenSSL::SSL::Context::Client | Nil)","args_html":"(ssl : OpenSSL::SSL::Context::Client | Nil)","def":{"name":"ssl=","args":[{"name":"ssl","external_name":"ssl","restriction":"OpenSSL::SSL::Context::Client | ::Nil"}],"visibility":"Public","body":"@ssl = ssl"}},{"html_id":"tags:AnyHash::JSON-instance-method","name":"tags","doc":"Default tags for events.","summary":"

Default tags for events.

","abstract":false,"def":{"name":"tags","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @tags).nil?\n @tags = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"tags=(tags:AnyHash::JSON)-instance-method","name":"tags=","doc":"Default tags for events.","summary":"

Default tags for events.

","abstract":false,"args":[{"name":"tags","external_name":"tags","restriction":"AnyHash::JSON"}],"args_string":"(tags : AnyHash::JSON)","args_html":"(tags : AnyHash::JSON)","def":{"name":"tags=","args":[{"name":"tags","external_name":"tags","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@tags = tags"}},{"html_id":"tags=(hash:Hash|NamedTuple|Nil)-instance-method","name":"tags=","doc":"Default tags for events.","summary":"

Default tags for events.

","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":221,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L221"},"def":{"name":"tags=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"tags.replace(hash)"}},{"html_id":"transport_failure_callback:Proc(Event::HashType,Nil)|Nil-instance-method","name":"transport_failure_callback","doc":"Optional `Proc`, called when the Sentry server cannot be contacted\nfor any reason.\n\n```\n->(event : Raven::Event::HashType) {\n spawn { MyJobProcessor.send_email(event) }\n}\n```","summary":"

Optional Proc, called when the Sentry server cannot be contacted for any reason.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":234,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L234"},"def":{"name":"transport_failure_callback","return_type":"Proc(Event::HashType, Nil) | ::Nil","visibility":"Public","body":"@transport_failure_callback"}},{"html_id":"transport_failure_callback=(transport_failure_callback:Proc(Event::HashType,Nil)|Nil)-instance-method","name":"transport_failure_callback=","doc":"Optional `Proc`, called when the Sentry server cannot be contacted\nfor any reason.\n\n```\n->(event : Raven::Event::HashType) {\n spawn { MyJobProcessor.send_email(event) }\n}\n```","summary":"

Optional Proc, called when the Sentry server cannot be contacted for any reason.

","abstract":false,"args":[{"name":"transport_failure_callback","external_name":"transport_failure_callback","restriction":"Proc(Event::HashType, Nil) | ::Nil"}],"args_string":"(transport_failure_callback : Proc(Event::HashType, Nil) | Nil)","args_html":"(transport_failure_callback : Proc(Event::HashType, Nil) | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":234,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L234"},"def":{"name":"transport_failure_callback=","args":[{"name":"transport_failure_callback","external_name":"transport_failure_callback","restriction":"Proc(Event::HashType, Nil) | ::Nil"}],"visibility":"Public","body":"@transport_failure_callback = transport_failure_callback"}},{"html_id":"valid?:Bool-instance-method","name":"valid?","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":395,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L395"},"def":{"name":"valid?","return_type":"Bool","visibility":"Public","body":"validate.empty?"}},{"html_id":"validate!:ValidationError|Nil-instance-method","name":"validate!","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":390,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L390"},"def":{"name":"validate!","return_type":"ValidationError | ::Nil","visibility":"Public","body":"errors = validate\nif errors.empty?\nelse\n ValidationError.new(errors)\nend\n"}}],"types":[{"html_id":"raven/Raven/Configuration/Encoding","path":"Raven/Configuration/Encoding.html","kind":"enum","full_name":"Raven::Configuration::Encoding","name":"Encoding","abstract":false,"ancestors":[{"html_id":"raven/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"raven/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"raven/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/configuration.cr","line_number":80,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L80"}],"repository_name":"raven","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"JSON","name":"JSON","value":"0"},{"id":"GZIP","name":"GZIP","value":"1"}],"namespace":{"html_id":"raven/Raven/Configuration","kind":"class","full_name":"Raven::Configuration","name":"Configuration"},"doc":"Encoding type for event bodies.","summary":"

Encoding type for event bodies.

","instance_methods":[{"html_id":"gzip?-instance-method","name":"gzip?","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":82,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L82"},"def":{"name":"gzip?","visibility":"Public","body":"self == GZIP"}},{"html_id":"json?-instance-method","name":"json?","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":81,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L81"},"def":{"name":"json?","visibility":"Public","body":"self == JSON"}}]},{"html_id":"raven/Raven/Configuration/ValidationError","path":"Raven/Configuration/ValidationError.html","kind":"class","full_name":"Raven::Configuration::ValidationError","name":"ValidationError","abstract":false,"superclass":{"html_id":"raven/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"raven/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/configuration.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L6"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Configuration","kind":"class","full_name":"Raven::Configuration","name":"Configuration"},"constructors":[{"html_id":"new(errors:Array(String))-class-method","name":"new","abstract":false,"args":[{"name":"errors","external_name":"errors","restriction":"::Array(::String)"}],"args_string":"(errors : Array(String))","args_html":"(errors : Array(String))","location":{"filename":"src/raven/configuration.cr","line_number":9,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L9"},"def":{"name":"new","args":[{"name":"errors","external_name":"errors","restriction":"::Array(::String)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(errors)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"error_messages:String-instance-method","name":"error_messages","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":12,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L12"},"def":{"name":"error_messages","return_type":"String","visibility":"Public","body":"errors.map_with_index do |e, i|\n i > 0 ? e.downcase : e\nend.join(\", \")"}},{"html_id":"errors:Array(String)-instance-method","name":"errors","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":7,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L7"},"def":{"name":"errors","return_type":"Array(String)","visibility":"Public","body":"@errors"}}]}]},{"html_id":"raven/Raven/Context","path":"Raven/Context.html","kind":"class","full_name":"Raven::Context","name":"Context","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/context.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/context.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"class_methods":[{"html_id":"clear!-class-method","name":"clear!","abstract":false,"location":{"filename":"src/raven/context.cr","line_number":12,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/context.cr#L12"},"def":{"name":"clear!","visibility":"Public","body":"@@mutex.synchronize do\n @@current = nil\nend"}},{"html_id":"current-class-method","name":"current","abstract":false,"location":{"filename":"src/raven/context.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/context.cr#L6"},"def":{"name":"current","visibility":"Public","body":"@@mutex.synchronize do\n @@current || (@@current = new)\nend"}},{"html_id":"os_context:AnyHash::JSON-class-method","name":"os_context","abstract":false,"location":{"filename":"src/raven/context.cr","line_number":18,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/context.cr#L18"},"def":{"name":"os_context","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @@os_context).nil?\n @@os_context = ({name: Raven.sys_command(\"uname -s\"), version: Raven.sys_command(\"uname -v\"), build: Raven.sys_command(\"uname -r\"), kernel_version: (Raven.sys_command(\"uname -a\")) || (Raven.sys_command(\"ver\"))}.to_any_json)\nelse\n value\nend"}},{"html_id":"runtime_context:AnyHash::JSON-class-method","name":"runtime_context","abstract":false,"location":{"filename":"src/raven/context.cr","line_number":27,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/context.cr#L27"},"def":{"name":"runtime_context","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @@runtime_context).nil?\n @@runtime_context = (begin\n version_pattern = /^(.+?) (\\d+[^\\n]+)\\n+LLVM: (\\d+[^\\n]+)\\nDefault target: (.+?)$/m\n if match = Crystal::DESCRIPTION.match(version_pattern)\n else\n raise(Raven::Error.new(\"Couldn't parse runtime version\"))\n end\n _, name, version, _llvm_version, _target = match\n {name: name, version: version}.to_any_json\n end)\nelse\n value\nend"}}],"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/context.cr","line_number":43,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/context.cr#L43"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"contexts:AnyHash::JSON-instance-method","name":"contexts","abstract":false,"def":{"name":"contexts","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @contexts).nil?\n @contexts = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"contexts=(contexts:AnyHash::JSON)-instance-method","name":"contexts=","abstract":false,"args":[{"name":"contexts","external_name":"contexts","restriction":"AnyHash::JSON"}],"args_string":"(contexts : AnyHash::JSON)","args_html":"(contexts : AnyHash::JSON)","def":{"name":"contexts=","args":[{"name":"contexts","external_name":"contexts","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@contexts = contexts"}},{"html_id":"contexts=(hash:Hash|NamedTuple|Nil)-instance-method","name":"contexts=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/context.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/context.cr#L41"},"def":{"name":"contexts=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"contexts.replace(hash)"}},{"html_id":"extra:AnyHash::JSON-instance-method","name":"extra","abstract":false,"def":{"name":"extra","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @extra).nil?\n @extra = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"extra=(extra:AnyHash::JSON)-instance-method","name":"extra=","abstract":false,"args":[{"name":"extra","external_name":"extra","restriction":"AnyHash::JSON"}],"args_string":"(extra : AnyHash::JSON)","args_html":"(extra : AnyHash::JSON)","def":{"name":"extra=","args":[{"name":"extra","external_name":"extra","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@extra = extra"}},{"html_id":"extra=(hash:Hash|NamedTuple|Nil)-instance-method","name":"extra=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/context.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/context.cr#L41"},"def":{"name":"extra=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"extra.replace(hash)"}},{"html_id":"tags:AnyHash::JSON-instance-method","name":"tags","abstract":false,"def":{"name":"tags","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @tags).nil?\n @tags = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"tags=(tags:AnyHash::JSON)-instance-method","name":"tags=","abstract":false,"args":[{"name":"tags","external_name":"tags","restriction":"AnyHash::JSON"}],"args_string":"(tags : AnyHash::JSON)","args_html":"(tags : AnyHash::JSON)","def":{"name":"tags=","args":[{"name":"tags","external_name":"tags","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@tags = tags"}},{"html_id":"tags=(hash:Hash|NamedTuple|Nil)-instance-method","name":"tags=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/context.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/context.cr#L41"},"def":{"name":"tags=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"tags.replace(hash)"}},{"html_id":"user:AnyHash::JSON-instance-method","name":"user","abstract":false,"def":{"name":"user","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @user).nil?\n @user = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"user=(user:AnyHash::JSON)-instance-method","name":"user=","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"AnyHash::JSON"}],"args_string":"(user : AnyHash::JSON)","args_html":"(user : AnyHash::JSON)","def":{"name":"user=","args":[{"name":"user","external_name":"user","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@user = user"}},{"html_id":"user=(hash:Hash|NamedTuple|Nil)-instance-method","name":"user=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/context.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/context.cr#L41"},"def":{"name":"user=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"user.replace(hash)"}}]},{"html_id":"raven/Raven/Delegators","path":"Raven/Delegators.html","kind":"module","full_name":"Raven::Delegators","name":"Delegators","abstract":false,"locations":[{"filename":"src/raven.cr","line_number":10,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L10"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"doc":"`Raven.instance` delegators.","summary":"

Raven.instance delegators.

","instance_methods":[{"html_id":"annotate_exception(*args,**options)-instance-method","name":"annotate_exception","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"annotate_exception","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.annotate_exception(*args, **options)"}},{"html_id":"annotate_exception(*args,**options,&)-instance-method","name":"annotate_exception","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"annotate_exception","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.annotate_exception(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"breadcrumbs(*args,**options)-instance-method","name":"breadcrumbs","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"breadcrumbs","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.breadcrumbs(*args, **options)"}},{"html_id":"breadcrumbs(*args,**options,&)-instance-method","name":"breadcrumbs","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"breadcrumbs","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.breadcrumbs(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"capture(*args,**options)-instance-method","name":"capture","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"capture","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.capture(*args, **options)"}},{"html_id":"capture(*args,**options,&)-instance-method","name":"capture","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"capture","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.capture(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"captured_exception?(*args,**options)-instance-method","name":"captured_exception?","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"captured_exception?","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.captured_exception?(*args, **options)"}},{"html_id":"captured_exception?(*args,**options,&)-instance-method","name":"captured_exception?","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"captured_exception?","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.captured_exception?(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"client(*args,**options)-instance-method","name":"client","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"client","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.client(*args, **options)"}},{"html_id":"client(*args,**options,&)-instance-method","name":"client","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"client","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.client(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"configuration(*args,**options)-instance-method","name":"configuration","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"configuration","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.configuration(*args, **options)"}},{"html_id":"configuration(*args,**options,&)-instance-method","name":"configuration","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"configuration","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.configuration(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"configure(*args,**options)-instance-method","name":"configure","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"configure","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.configure(*args, **options)"}},{"html_id":"configure(*args,**options,&)-instance-method","name":"configure","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"configure","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.configure(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"context(*args,**options)-instance-method","name":"context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.context(*args, **options)"}},{"html_id":"context(*args,**options,&)-instance-method","name":"context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.context(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"extra_context(*args,**options)-instance-method","name":"extra_context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"extra_context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.extra_context(*args, **options)"}},{"html_id":"extra_context(*args,**options,&)-instance-method","name":"extra_context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"extra_context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.extra_context(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"last_event_id(*args,**options)-instance-method","name":"last_event_id","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"last_event_id","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.last_event_id(*args, **options)"}},{"html_id":"last_event_id(*args,**options,&)-instance-method","name":"last_event_id","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"last_event_id","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.last_event_id(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"report_status(*args,**options)-instance-method","name":"report_status","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"report_status","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.report_status(*args, **options)"}},{"html_id":"report_status(*args,**options,&)-instance-method","name":"report_status","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"report_status","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.report_status(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"send_event(*args,**options)-instance-method","name":"send_event","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"send_event","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.send_event(*args, **options)"}},{"html_id":"send_event(*args,**options,&)-instance-method","name":"send_event","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"send_event","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.send_event(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"send_feedback(*args,**options)-instance-method","name":"send_feedback","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"send_feedback","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.send_feedback(*args, **options)"}},{"html_id":"send_feedback(*args,**options,&)-instance-method","name":"send_feedback","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"send_feedback","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.send_feedback(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"tags_context(*args,**options)-instance-method","name":"tags_context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"tags_context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.tags_context(*args, **options)"}},{"html_id":"tags_context(*args,**options,&)-instance-method","name":"tags_context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"tags_context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.tags_context(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"user_context(*args,**options)-instance-method","name":"user_context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"user_context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.user_context(*args, **options)"}},{"html_id":"user_context(*args,**options,&)-instance-method","name":"user_context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"user_context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.user_context(*args, **options) do |*yield_args|\n yield *yield_args\nend"}}]},{"html_id":"raven/Raven/Error","path":"Raven/Error.html","kind":"class","full_name":"Raven::Error","name":"Error","abstract":false,"superclass":{"html_id":"raven/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"raven/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/error.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/error.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"raven/Raven/Transport/HTTP/Error","kind":"class","full_name":"Raven::Transport::HTTP::Error","name":"Error"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"}},{"html_id":"raven/Raven/Event","path":"Raven/Event.html","kind":"class","full_name":"Raven::Event","name":"Event","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/event.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L4"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"MAX_MESSAGE_SIZE_IN_BYTES","name":"MAX_MESSAGE_SIZE_IN_BYTES","value":"1024 * 8","doc":"See Sentry server default limits at\nhttps://github.com/getsentry/sentry/blob/master/src/sentry/conf/server.py","summary":"

See Sentry server default limits at https://github.com/getsentry/sentry/blob/master/src/sentry/conf/server.py

"},{"id":"PLATFORM","name":"PLATFORM","value":"\"crystal\"","doc":"A string representing the platform the SDK is submitting from.\n\nThis will be used by the Sentry interface to customize\nvarious components in the interface.","summary":"

A string representing the platform the SDK is submitting from.

"},{"id":"SDK","name":"SDK","value":"{name: \"raven.cr\", version: Raven::VERSION}","doc":"Information about the SDK sending the event.","summary":"

Information about the SDK sending the event.

"}],"included_modules":[{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"class_methods":[{"html_id":"from(ex:Exception,**options)-class-method","name":"from","abstract":false,"args":[{"name":"ex","external_name":"ex","restriction":"Exception"}],"args_string":"(ex : Exception, **options)","args_html":"(ex : Exception, **options)","location":{"filename":"src/raven/event.cr","line_number":89,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L89"},"def":{"name":"from","args":[{"name":"ex","external_name":"ex","restriction":"Exception"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"{% for key in [:user, :tags, :extra] of ::Symbol %}\n ex_context = ex.@__raven_{{ key.id }}\n if options_context = options[{{ key }}]?\n options = options.merge({\n {{ key.id }}: ex_context.try(&.merge(options_context)) || options_context\n })\n else\n options = options.merge({\n {{ key.id }}: ex_context\n })\n end\n {% end %}\n(new(**options)).tap do |event|\n ex.callstack || (ex.callstack = Exception::CallStack.new)\n add_exception_interface(event, ex)\nend\n"}},{"html_id":"from(message:String,**options)-class-method","name":"from","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"String"}],"args_string":"(message : String, **options)","args_html":"(message : String, **options)","location":{"filename":"src/raven/event.cr","line_number":109,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L109"},"def":{"name":"from","args":[{"name":"message","external_name":"message","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"(new(**options)).tap do |event|\n event.message = {message, options[:message_params]?}\nend"}}],"constructors":[{"html_id":"new(**options)-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":159,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L159"},"def":{"name":"new","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**options)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"backtrace=(backtrace)-instance-method","name":"backtrace=","abstract":false,"args":[{"name":"backtrace","external_name":"backtrace","restriction":""}],"args_string":"(backtrace)","args_html":"(backtrace)","location":{"filename":"src/raven/event.cr","line_number":217,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L217"},"def":{"name":"backtrace=","args":[{"name":"backtrace","external_name":"backtrace","restriction":""}],"visibility":"Public","body":"backtrace = Backtracer.parse(backtrace, configuration: configuration.backtracer)\n(interface(:stacktrace, backtrace: backtrace)).tap do |stacktrace|\n self.culprit || (self.culprit = (stacktrace.as(Interface::Stacktrace)).culprit)\nend\n"}},{"html_id":"breadcrumbs:BreadcrumbBuffer-instance-method","name":"breadcrumbs","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":85,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L85"},"def":{"name":"breadcrumbs","return_type":"BreadcrumbBuffer","visibility":"Public","body":"@breadcrumbs"}},{"html_id":"breadcrumbs=(breadcrumbs:BreadcrumbBuffer)-instance-method","name":"breadcrumbs=","abstract":false,"args":[{"name":"breadcrumbs","external_name":"breadcrumbs","restriction":"BreadcrumbBuffer"}],"args_string":"(breadcrumbs : BreadcrumbBuffer)","args_html":"(breadcrumbs : BreadcrumbBuffer)","location":{"filename":"src/raven/event.cr","line_number":85,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L85"},"def":{"name":"breadcrumbs=","args":[{"name":"breadcrumbs","external_name":"breadcrumbs","restriction":"BreadcrumbBuffer"}],"visibility":"Public","body":"@breadcrumbs = breadcrumbs"}},{"html_id":"configuration:Configuration-instance-method","name":"configuration","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":84,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L84"},"def":{"name":"configuration","return_type":"Configuration","visibility":"Public","body":"@configuration"}},{"html_id":"configuration=(configuration:Configuration)-instance-method","name":"configuration=","abstract":false,"args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"args_string":"(configuration : Configuration)","args_html":"(configuration : Configuration)","location":{"filename":"src/raven/event.cr","line_number":84,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L84"},"def":{"name":"configuration=","args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"visibility":"Public","body":"@configuration = configuration"}},{"html_id":"context:Context-instance-method","name":"context","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":83,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L83"},"def":{"name":"context","return_type":"Context","visibility":"Public","body":"@context"}},{"html_id":"context=(context:Context)-instance-method","name":"context=","abstract":false,"args":[{"name":"context","external_name":"context","restriction":"Context"}],"args_string":"(context : Context)","args_html":"(context : Context)","location":{"filename":"src/raven/event.cr","line_number":83,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L83"},"def":{"name":"context=","args":[{"name":"context","external_name":"context","restriction":"Context"}],"visibility":"Public","body":"@context = context"}},{"html_id":"contexts:AnyHash::JSON-instance-method","name":"contexts","abstract":false,"def":{"name":"contexts","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @contexts).nil?\n @contexts = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"contexts=(contexts:AnyHash::JSON)-instance-method","name":"contexts=","abstract":false,"args":[{"name":"contexts","external_name":"contexts","restriction":"AnyHash::JSON"}],"args_string":"(contexts : AnyHash::JSON)","args_html":"(contexts : AnyHash::JSON)","def":{"name":"contexts=","args":[{"name":"contexts","external_name":"contexts","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@contexts = contexts"}},{"html_id":"contexts=(hash:Hash|NamedTuple|Nil)-instance-method","name":"contexts=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/event.cr","line_number":87,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L87"},"def":{"name":"contexts=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"contexts.replace(hash)"}},{"html_id":"culprit:String|Nil-instance-method","name":"culprit","doc":"The name of the transaction (or culprit) which caused this exception.","summary":"

The name of the transaction (or culprit) which caused this exception.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":55,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L55"},"def":{"name":"culprit","return_type":"String | ::Nil","visibility":"Public","body":"@culprit"}},{"html_id":"culprit=(culprit:String|Nil)-instance-method","name":"culprit=","doc":"The name of the transaction (or culprit) which caused this exception.","summary":"

The name of the transaction (or culprit) which caused this exception.

","abstract":false,"args":[{"name":"culprit","external_name":"culprit","restriction":"String | ::Nil"}],"args_string":"(culprit : String | Nil)","args_html":"(culprit : String | Nil)","location":{"filename":"src/raven/event.cr","line_number":55,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L55"},"def":{"name":"culprit=","args":[{"name":"culprit","external_name":"culprit","restriction":"String | ::Nil"}],"visibility":"Public","body":"@culprit = culprit"}},{"html_id":"environment:String|Nil-instance-method","name":"environment","doc":"The environment name, such as `production` or `staging`.","summary":"

The environment name, such as production or staging.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":78,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L78"},"def":{"name":"environment","return_type":"String | ::Nil","visibility":"Public","body":"@environment"}},{"html_id":"environment=(environment:String|Nil)-instance-method","name":"environment=","doc":"The environment name, such as `production` or `staging`.","summary":"

The environment name, such as production or staging.

","abstract":false,"args":[{"name":"environment","external_name":"environment","restriction":"String | ::Nil"}],"args_string":"(environment : String | Nil)","args_html":"(environment : String | Nil)","location":{"filename":"src/raven/event.cr","line_number":78,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L78"},"def":{"name":"environment=","args":[{"name":"environment","external_name":"environment","restriction":"String | ::Nil"}],"visibility":"Public","body":"@environment = environment"}},{"html_id":"extra:AnyHash::JSON-instance-method","name":"extra","abstract":false,"def":{"name":"extra","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @extra).nil?\n @extra = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"extra=(extra:AnyHash::JSON)-instance-method","name":"extra=","abstract":false,"args":[{"name":"extra","external_name":"extra","restriction":"AnyHash::JSON"}],"args_string":"(extra : AnyHash::JSON)","args_html":"(extra : AnyHash::JSON)","def":{"name":"extra=","args":[{"name":"extra","external_name":"extra","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@extra = extra"}},{"html_id":"extra=(hash:Hash|NamedTuple|Nil)-instance-method","name":"extra=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/event.cr","line_number":87,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L87"},"def":{"name":"extra=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"extra.replace(hash)"}},{"html_id":"fingerprint:Array(String)-instance-method","name":"fingerprint","doc":"An array of strings used to dictate the deduplication of this event.\n\nNOTE: A value of `{{ default }}` will be replaced with the built-in behavior,\nthus allowing you to extend it, or completely replace it.","summary":"

An array of strings used to dictate the deduplication of this event.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":75,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L75"},"def":{"name":"fingerprint","return_type":"Array(String)","visibility":"Public","body":"if (value = @fingerprint).nil?\n @fingerprint = ([] of String)\nelse\n value\nend"}},{"html_id":"fingerprint=(fingerprint:Array(String))-instance-method","name":"fingerprint=","doc":"An array of strings used to dictate the deduplication of this event.\n\nNOTE: A value of `{{ default }}` will be replaced with the built-in behavior,\nthus allowing you to extend it, or completely replace it.","summary":"

An array of strings used to dictate the deduplication of this event.

","abstract":false,"args":[{"name":"fingerprint","external_name":"fingerprint","restriction":"Array(String)"}],"args_string":"(fingerprint : Array(String))","args_html":"(fingerprint : Array(String))","location":{"filename":"src/raven/event.cr","line_number":75,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L75"},"def":{"name":"fingerprint=","args":[{"name":"fingerprint","external_name":"fingerprint","restriction":"Array(String)"}],"visibility":"Public","body":"@fingerprint = fingerprint"}},{"html_id":"id:String-instance-method","name":"id","doc":"Hexadecimal string representing a uuid4 value.\n\nNOTE: The length is exactly 32 characters (no dashes!)","summary":"

Hexadecimal string representing a uuid4 value.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":38,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L38"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","doc":"Hexadecimal string representing a uuid4 value.\n\nNOTE: The length is exactly 32 characters (no dashes!)","summary":"

Hexadecimal string representing a uuid4 value.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/raven/event.cr","line_number":38,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L38"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"interface(name:Symbol,options:NamedTuple)-instance-method","name":"interface","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"},{"name":"options","external_name":"options","restriction":"NamedTuple"}],"args_string":"(name : Symbol, options : NamedTuple)","args_html":"(name : Symbol, options : NamedTuple)","location":{"filename":"src/raven/event.cr","line_number":188,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L188"},"def":{"name":"interface","args":[{"name":"name","external_name":"name","restriction":"Symbol"},{"name":"options","external_name":"options","restriction":"NamedTuple"}],"visibility":"Public","body":"interface(name, **options)"}},{"html_id":"interface(name:Symbol)-instance-method","name":"interface","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"args_string":"(name : Symbol)","args_html":"(name : Symbol)","location":{"filename":"src/raven/event.cr","line_number":178,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L178"},"def":{"name":"interface","args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"visibility":"Public","body":"interface = Interface[name]\n@interfaces[interface.sentry_alias]?\n"}},{"html_id":"interface(name:Symbol,**options:Object)-instance-method","name":"interface","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"args_string":"(name : Symbol, **options : Object)","args_html":"(name : Symbol, **options : Object)","location":{"filename":"src/raven/event.cr","line_number":183,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L183"},"def":{"name":"interface","args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"double_splat":{"name":"options","external_name":"options","restriction":"Object"},"visibility":"Public","body":"interface = Interface[name]\n@interfaces[interface.sentry_alias] = interface.new(**options)\n"}},{"html_id":"level:Severity|Nil-instance-method","name":"level","doc":"The record severity. Defaults to `:error`.","summary":"

The record severity.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":44,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L44"},"def":{"name":"level","return_type":"Severity | ::Nil","visibility":"Public","body":"@level"}},{"html_id":"level=(level:Severity|Nil)-instance-method","name":"level=","doc":"The record severity. Defaults to `:error`.","summary":"

The record severity.

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Severity | ::Nil"}],"args_string":"(level : Severity | Nil)","args_html":"(level : Severity | Nil)","location":{"filename":"src/raven/event.cr","line_number":44,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L44"},"def":{"name":"level=","args":[{"name":"level","external_name":"level","restriction":"Severity | ::Nil"}],"visibility":"Public","body":"@level = level"}},{"html_id":"level=(severity:Symbol)-instance-method","name":"level=","doc":"The record severity. Defaults to `:error`.","summary":"

The record severity.

","abstract":false,"args":[{"name":"severity","external_name":"severity","restriction":"Symbol"}],"args_string":"(severity : Symbol)","args_html":"(severity : Symbol)","location":{"filename":"src/raven/event.cr","line_number":47,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L47"},"def":{"name":"level=","args":[{"name":"severity","external_name":"severity","restriction":"Symbol"}],"visibility":"Public","body":"@level = Severity.parse(severity.to_s)"}},{"html_id":"list_shard_specs-instance-method","name":"list_shard_specs","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":226,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L226"},"def":{"name":"list_shard_specs","visibility":"Public","body":"shards_list = Raven.sys_command_compiled(\"shards list\")\nif shards_list\nelse\n return\nend\ndeps = shards_list.scan(/\\* (?.+?) \\((?.+?)\\)/m)\nif deps.empty?\nelse\n deps.to_h do |match|\n {match[\"name\"], match[\"version\"]}\n end\nend\n"}},{"html_id":"logger:String|Nil-instance-method","name":"logger","doc":"The name of the logger which created the record.","summary":"

The name of the logger which created the record.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":52,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L52"},"def":{"name":"logger","return_type":"String | ::Nil","visibility":"Public","body":"@logger"}},{"html_id":"logger=(logger:String|Nil)-instance-method","name":"logger=","doc":"The name of the logger which created the record.","summary":"

The name of the logger which created the record.

","abstract":false,"args":[{"name":"logger","external_name":"logger","restriction":"String | ::Nil"}],"args_string":"(logger : String | Nil)","args_html":"(logger : String | Nil)","location":{"filename":"src/raven/event.cr","line_number":52,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L52"},"def":{"name":"logger=","args":[{"name":"logger","external_name":"logger","restriction":"String | ::Nil"}],"visibility":"Public","body":"@logger = logger"}},{"html_id":"message-instance-method","name":"message","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":192,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L192"},"def":{"name":"message","visibility":"Public","body":"(interface(:message)).try do |__arg1|\n (__arg1.as(Interface::Message)).unformatted_message\nend"}},{"html_id":"message=(message:String)-instance-method","name":"message=","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"String"}],"args_string":"(message : String)","args_html":"(message : String)","location":{"filename":"src/raven/event.cr","line_number":196,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L196"},"def":{"name":"message=","args":[{"name":"message","external_name":"message","restriction":"String"}],"visibility":"Public","body":"interface(:message, message: trim_message(message))"}},{"html_id":"message=(message_with_params:Enumerable|Indexable)-instance-method","name":"message=","abstract":false,"args":[{"name":"message_with_params","external_name":"message_with_params","restriction":"Enumerable | Indexable"}],"args_string":"(message_with_params : Enumerable | Indexable)","args_html":"(message_with_params : Enumerable | Indexable)","location":{"filename":"src/raven/event.cr","line_number":200,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L200"},"def":{"name":"message=","args":[{"name":"message_with_params","external_name":"message_with_params","restriction":"Enumerable | Indexable"}],"visibility":"Public","body":"message, params = message_with_params\noptions = {message: trim_message(message), params: params}\ninterface(:message, **options)\n"}},{"html_id":"modules:Hash(String,String)|Nil-instance-method","name":"modules","doc":"A list of relevant modules and their versions.","summary":"

A list of relevant modules and their versions.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":81,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L81"},"def":{"name":"modules","return_type":"Hash(String, String) | ::Nil","visibility":"Public","body":"@modules"}},{"html_id":"modules=(modules:Hash(String,String)|Nil)-instance-method","name":"modules=","doc":"A list of relevant modules and their versions.","summary":"

A list of relevant modules and their versions.

","abstract":false,"args":[{"name":"modules","external_name":"modules","restriction":"Hash(String, String) | ::Nil"}],"args_string":"(modules : Hash(String, String) | Nil)","args_html":"(modules : Hash(String, String) | Nil)","location":{"filename":"src/raven/event.cr","line_number":81,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L81"},"def":{"name":"modules=","args":[{"name":"modules","external_name":"modules","restriction":"Hash(String, String) | ::Nil"}],"visibility":"Public","body":"@modules = modules"}},{"html_id":"release:String|Nil-instance-method","name":"release","doc":"The release version of the application.\n\nNOTE: This value will generally be something along the lines of\nthe git SHA for the given project.","summary":"

The release version of the application.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":69,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L69"},"def":{"name":"release","return_type":"String | ::Nil","visibility":"Public","body":"@release"}},{"html_id":"release=(release:String|Nil)-instance-method","name":"release=","doc":"The release version of the application.\n\nNOTE: This value will generally be something along the lines of\nthe git SHA for the given project.","summary":"

The release version of the application.

","abstract":false,"args":[{"name":"release","external_name":"release","restriction":"String | ::Nil"}],"args_string":"(release : String | Nil)","args_html":"(release : String | Nil)","location":{"filename":"src/raven/event.cr","line_number":69,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L69"},"def":{"name":"release=","args":[{"name":"release","external_name":"release","restriction":"String | ::Nil"}],"visibility":"Public","body":"@release = release"}},{"html_id":"server_name:String|Nil-instance-method","name":"server_name","doc":"Identifies the host SDK from which the event was recorded.","summary":"

Identifies the host SDK from which the event was recorded.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":63,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L63"},"def":{"name":"server_name","return_type":"String | ::Nil","visibility":"Public","body":"@server_name"}},{"html_id":"server_name=(server_name:String|Nil)-instance-method","name":"server_name=","doc":"Identifies the host SDK from which the event was recorded.","summary":"

Identifies the host SDK from which the event was recorded.

","abstract":false,"args":[{"name":"server_name","external_name":"server_name","restriction":"String | ::Nil"}],"args_string":"(server_name : String | Nil)","args_html":"(server_name : String | Nil)","location":{"filename":"src/raven/event.cr","line_number":63,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L63"},"def":{"name":"server_name=","args":[{"name":"server_name","external_name":"server_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@server_name = server_name"}},{"html_id":"tags:AnyHash::JSON-instance-method","name":"tags","abstract":false,"def":{"name":"tags","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @tags).nil?\n @tags = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"tags=(tags:AnyHash::JSON)-instance-method","name":"tags=","abstract":false,"args":[{"name":"tags","external_name":"tags","restriction":"AnyHash::JSON"}],"args_string":"(tags : AnyHash::JSON)","args_html":"(tags : AnyHash::JSON)","def":{"name":"tags=","args":[{"name":"tags","external_name":"tags","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@tags = tags"}},{"html_id":"tags=(hash:Hash|NamedTuple|Nil)-instance-method","name":"tags=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/event.cr","line_number":87,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L87"},"def":{"name":"tags=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"tags.replace(hash)"}},{"html_id":"timestamp:Time-instance-method","name":"timestamp","doc":"Indicates when the logging record was created (in the Sentry SDK).","summary":"

Indicates when the logging record was created (in the Sentry SDK).

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L41"},"def":{"name":"timestamp","return_type":"Time","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Time)-instance-method","name":"timestamp=","doc":"Indicates when the logging record was created (in the Sentry SDK).","summary":"

Indicates when the logging record was created (in the Sentry SDK).

","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"args_string":"(timestamp : Time)","args_html":"(timestamp : Time)","location":{"filename":"src/raven/event.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L41"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"visibility":"Public","body":"@timestamp = timestamp"}},{"html_id":"to_hash:HashType-instance-method","name":"to_hash","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":235,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L235"},"def":{"name":"to_hash","return_type":"HashType","visibility":"Public","body":"data = {event_id: @id, timestamp: @timestamp.to_utc.to_s(\"%FT%X\"), level: @level.try() do |__arg2|\n __arg2.to_s.downcase\nend, platform: PLATFORM, sdk: SDK, logger: @logger, culprit: @culprit, server_name: @server_name, release: @release, environment: @environment, fingerprint: @fingerprint, modules: @modules, extra: @extra, tags: @tags, user: @user, contexts: @contexts, breadcrumbs: @breadcrumbs.empty? ? nil : @breadcrumbs.to_hash, message: message}.to_any_json\n@interfaces.each do |name, interface|\n data[name] = interface.to_hash\nend\ndata.to_h\n"}},{"html_id":"to_json(*args,**options)-instance-method","name":"to_json","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven/event.cr","line_number":264,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L264"},"def":{"name":"to_json","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"to_hash.to_json(*args, **options)"}},{"html_id":"to_json(*args,**options,&)-instance-method","name":"to_json","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven/event.cr","line_number":264,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L264"},"def":{"name":"to_json","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"to_hash.to_json(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"user:AnyHash::JSON-instance-method","name":"user","abstract":false,"def":{"name":"user","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @user).nil?\n @user = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"user=(user:AnyHash::JSON)-instance-method","name":"user=","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"AnyHash::JSON"}],"args_string":"(user : AnyHash::JSON)","args_html":"(user : AnyHash::JSON)","def":{"name":"user=","args":[{"name":"user","external_name":"user","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@user = user"}},{"html_id":"user=(hash:Hash|NamedTuple|Nil)-instance-method","name":"user=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/event.cr","line_number":87,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L87"},"def":{"name":"user=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"user.replace(hash)"}}],"types":[{"html_id":"raven/Raven/Event/HashType","path":"Raven/Event/HashType.html","kind":"alias","full_name":"Raven::Event::HashType","name":"HashType","abstract":false,"locations":[{"filename":"src/raven/event.cr","line_number":33,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L33"}],"repository_name":"raven","program":false,"enum":false,"alias":true,"aliased":"Hash(String | Symbol, AnyHash::JSONTypes::Value)","aliased_html":"Hash(String | Symbol, AnyHash::JSONTypes::Value)","const":false,"namespace":{"html_id":"raven/Raven/Event","kind":"class","full_name":"Raven::Event","name":"Event"},"doc":"`Hash` type returned by `#to_hash`.","summary":"

Hash type returned by #to_hash.

"},{"html_id":"raven/Raven/Event/Hint","path":"Raven/Event/Hint.html","kind":"struct","full_name":"Raven::Event::Hint","name":"Hint","abstract":false,"superclass":{"html_id":"raven/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"raven/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"raven/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/event.cr","line_number":17,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L17"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Event","kind":"class","full_name":"Raven::Event","name":"Event"},"doc":"Structure passed to `Configuration#before_send` callback.","summary":"

Structure passed to Configuration#before_send callback.

","constructors":[{"html_id":"new(exception:Exception|Nil,message:String|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"exception","external_name":"exception","restriction":"Exception | ::Nil"},{"name":"message","external_name":"message","restriction":"String | ::Nil"}],"args_string":"(exception : Exception | Nil, message : String | Nil)","args_html":"(exception : Exception | Nil, message : String | Nil)","location":{"filename":"src/raven/event.cr","line_number":17,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L17"},"def":{"name":"new","args":[{"name":"exception","external_name":"exception","restriction":"Exception | ::Nil"},{"name":"message","external_name":"message","restriction":"String | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(exception, message)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":17,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L17"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@exception.clone, @message.clone)"}},{"html_id":"copy_with(exception_exception=@exception,message_message=@message)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_exception","default_value":"@exception","external_name":"exception","restriction":""},{"name":"_message","default_value":"@message","external_name":"message","restriction":""}],"args_string":"(exception _exception = @exception, message _message = @message)","args_html":"(exception _exception = @exception, message _message = @message)","location":{"filename":"src/raven/event.cr","line_number":17,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L17"},"def":{"name":"copy_with","args":[{"name":"_exception","default_value":"@exception","external_name":"exception","restriction":""},{"name":"_message","default_value":"@message","external_name":"message","restriction":""}],"visibility":"Public","body":"self.class.new(_exception, _message)"}},{"html_id":"exception:Exception|Nil-instance-method","name":"exception","abstract":false,"def":{"name":"exception","return_type":"Exception | ::Nil","visibility":"Public","body":"@exception"}},{"html_id":"message:String|Nil-instance-method","name":"message","abstract":false,"def":{"name":"message","return_type":"String | ::Nil","visibility":"Public","body":"@message"}}]},{"html_id":"raven/Raven/Event/Severity","path":"Raven/Event/Severity.html","kind":"enum","full_name":"Raven::Event::Severity","name":"Severity","abstract":false,"ancestors":[{"html_id":"raven/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"raven/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"raven/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/event.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L8"}],"repository_name":"raven","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"DEBUG","name":"DEBUG","value":"0"},{"id":"INFO","name":"INFO","value":"1"},{"id":"WARNING","name":"WARNING","value":"2"},{"id":"ERROR","name":"ERROR","value":"3"},{"id":"FATAL","name":"FATAL","value":"4"}],"namespace":{"html_id":"raven/Raven/Event","kind":"class","full_name":"Raven::Event","name":"Event"},"doc":"Event severity.","summary":"

Event severity.

","instance_methods":[{"html_id":"debug?-instance-method","name":"debug?","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":9,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L9"},"def":{"name":"debug?","visibility":"Public","body":"self == DEBUG"}},{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":12,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L12"},"def":{"name":"error?","visibility":"Public","body":"self == ERROR"}},{"html_id":"fatal?-instance-method","name":"fatal?","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":13,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L13"},"def":{"name":"fatal?","visibility":"Public","body":"self == FATAL"}},{"html_id":"info?-instance-method","name":"info?","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":10,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L10"},"def":{"name":"info?","visibility":"Public","body":"self == INFO"}},{"html_id":"warning?-instance-method","name":"warning?","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L11"},"def":{"name":"warning?","visibility":"Public","body":"self == WARNING"}}]}]},{"html_id":"raven/Raven/Instance","path":"Raven/Instance.html","kind":"class","full_name":"Raven::Instance","name":"Instance","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/instance.cr","line_number":24,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L24"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"doc":"A copy of Raven's base module class methods, minus some of the integration\nand global hooks since it's meant to be used explicitly. Useful for\nsending errors to multiple sentry projects in a large application.\n\n```\nclass Foo\n def initialize\n @other_raven = Raven::Instance.new\n @other_raven.configure do |config|\n config.dsn = \"http://...\"\n end\n end\n\n def foo\n # ...\n\n\n rescue ex\n @other_raven.capture(ex)\n end\nend\n```","summary":"

A copy of Raven's base module class methods, minus some of the integration and global hooks since it's meant to be used explicitly.

","constructors":[{"html_id":"new(context=nil,config:Nil|Raven::Configuration=nil)-class-method","name":"new","abstract":false,"args":[{"name":"context","default_value":"nil","external_name":"context","restriction":""},{"name":"config","default_value":"nil","external_name":"config","restriction":"::Nil | ::Raven::Configuration"}],"args_string":"(context = nil, config : Nil | Raven::Configuration = nil)","args_html":"(context = nil, config : Nil | Raven::Configuration = nil)","location":{"filename":"src/raven/instance.cr","line_number":35,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L35"},"def":{"name":"new","args":[{"name":"context","default_value":"nil","external_name":"context","restriction":""},{"name":"config","default_value":"nil","external_name":"config","restriction":"::Nil | ::Raven::Configuration"}],"visibility":"Public","body":"_ = allocate\n_.initialize(context, config)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"annotate_exception(ex:Exception,**options)-instance-method","name":"annotate_exception","doc":"Provides extra context to the exception prior to it being handled by\nRaven. An exception can have multiple annotations, which are merged\ntogether.\n\nThe options (annotation) is treated the same as the *options*\nparameter to `capture` or `Event.from`, and\ncan contain the same `:user`, `:tags`, etc. options as these methods.\n\nThese will be merged with the *options* parameter to\n`Event.from` at the top of execution.\n\n```\nbegin\n raise \"Hello\"\nrescue ex\n Raven.annotate_exception(ex, user: {id: 1, email: \"foo@example.com\"})\n raise ex\nend\n```","summary":"

Provides extra context to the exception prior to it being handled by Raven.

","abstract":false,"args":[{"name":"ex","external_name":"ex","restriction":"Exception"}],"args_string":"(ex : Exception, **options)","args_html":"(ex : Exception, **options)","location":{"filename":"src/raven/instance.cr","line_number":250,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L250"},"def":{"name":"annotate_exception","args":[{"name":"ex","external_name":"ex","restriction":"Exception"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"{% for key in [:user, :tags, :extra] of ::Symbol %}\n if v = options[{{ key }}]?\n ex.__raven_{{ key.id }}.merge!(v)\n end\n {% end %}\nex\n"}},{"html_id":"breadcrumbs-instance-method","name":"breadcrumbs","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":326,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L326"},"def":{"name":"breadcrumbs","visibility":"Public","body":"BreadcrumbBuffer.current"}},{"html_id":"capture(klass:String,message:String,backtrace:String|Nil=nil,**options,&)-instance-method","name":"capture","doc":"Captures an exception with given *klass*, *message*\nand optional *backtrace*.\n\n```\nRaven.capture \"FooBarError\", \"Foo got bar!\"\n```\n\nNOTE: Useful in scenarios where you need to reconstruct the error\n(usually along with a backtrace from external source), while\nhaving no access to the actual Exception object.","summary":"

Captures an exception with given klass, message and optional backtrace.

","abstract":false,"args":[{"name":"klass","external_name":"klass","restriction":"String"},{"name":"message","external_name":"message","restriction":"String"},{"name":"backtrace","default_value":"nil","external_name":"backtrace","restriction":"String | ::Nil"}],"args_string":"(klass : String, message : String, backtrace : String | Nil = nil, **options, &)","args_html":"(klass : String, message : String, backtrace : String | Nil = nil, **options, &)","location":{"filename":"src/raven/instance.cr","line_number":193,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L193"},"def":{"name":"capture","args":[{"name":"klass","external_name":"klass","restriction":"String"},{"name":"message","external_name":"message","restriction":"String"},{"name":"backtrace","default_value":"nil","external_name":"backtrace","restriction":"String | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"yields":1,"block_arity":1,"visibility":"Public","body":"formatted_message = \"#{klass}: #{message}\"\ncapture(formatted_message, **options) do |event|\n ex = Interface::SingleException.new.tap do |iface|\n iface.module = (klass.split(\"::\"))[0...-1].join(\"::\")\n iface.type = klass\n iface.value = message\n if backtrace\n parsed = Backtracer.parse(backtrace, configuration: configuration.backtracer)\n iface.stacktrace = Interface::Stacktrace.new(backtrace: parsed).tap do |stacktrace|\n event.culprit = stacktrace.culprit\n end\n end\n end\n event.interface(:exception, values: [ex])\n yield event\nend\n"}},{"html_id":"capture(obj:Exception|String,**options,&)-instance-method","name":"capture","doc":"Captures given `Exception` or `String` object and yields\ncreated `Raven::Event` before sending to Sentry.\n\n```\nRaven.capture(\"boo!\") do |event|\n event.extra.merge! foo: \"bar\"\nend\n```","summary":"

Captures given Exception or String object and yields created Raven::Event before sending to Sentry.

","abstract":false,"args":[{"name":"obj","external_name":"obj","restriction":"Exception | String"}],"args_string":"(obj : Exception | String, **options, &)","args_html":"(obj : Exception | String, **options, &)","location":{"filename":"src/raven/instance.cr","line_number":130,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L130"},"def":{"name":"capture","args":[{"name":"obj","external_name":"obj","restriction":"Exception | String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"yields":2,"block_arity":2,"visibility":"Public","body":"if ex = configuration.capture_allowed!(obj)\n Log.debug do\n \"'#{obj}' excluded from capture: #{ex.error_messages}\"\n end\n return false\nend\ndefault_options = {configuration: configuration, context: context}\noptions = default_options.merge(options)\n(Event.from(obj, **options)).tap do |event|\n hint = if obj.is_a?(String)\n Event::Hint.new(exception: nil, message: obj)\n else\n Event::Hint.new(exception: obj, message: nil)\n end\n yield event, hint\n if async = configuration.async\n begin\n async.call(event)\n rescue ex\n Log.error(exception: ex) do\n \"Async event sending failed\"\n end\n send_event(event, hint)\n end\n else\n send_event(event, hint)\n end\n @last_event_id_mutex.synchronize do\n @last_event_id = event.id\n end\n (obj.as?(Exception)).try(&.__raven_event_id = event.id)\nend\n"}},{"html_id":"capture(obj:Exception|String,**options)-instance-method","name":"capture","doc":"Captures given `Exception` or `String` object.\n\n```\nbegin\n # ...\nrescue ex\n Raven.capture ex\nend\n\nRaven.capture \"boo!\"\n```","summary":"

Captures given Exception or String object.

","abstract":false,"args":[{"name":"obj","external_name":"obj","restriction":"Exception | String"}],"args_string":"(obj : Exception | String, **options)","args_html":"(obj : Exception | String, **options)","location":{"filename":"src/raven/instance.cr","line_number":179,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L179"},"def":{"name":"capture","args":[{"name":"obj","external_name":"obj","restriction":"Exception | String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"capture(obj, **options) do\nend"}},{"html_id":"capture(**options,&)-instance-method","name":"capture","doc":"Capture and process any exceptions from the given block.\n\n```\nRaven.capture do\n MyApp.run\nend\n```","summary":"

Capture and process any exceptions from the given block.

","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":222,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L222"},"def":{"name":"capture","double_splat":{"name":"options","external_name":"options","restriction":""},"yields":0,"block_arity":0,"visibility":"Public","body":"begin\n yield\nrescue ex : Raven::Error\n raise(ex)\nrescue ex : Exception\n capture(ex, **options)\n raise(ex)\nend"}},{"html_id":"captured_exception?(ex:Exception)-instance-method","name":"captured_exception?","doc":"Returns `true` in case given *ex* was already captured,\n`false` otherwise.\n\n```\nex = Exception.new(\"boo!\")\n\nRaven.captured_exception?(ex) # => false\nRaven.capture(ex)\nRaven.captured_exception?(ex) # => true\n```","summary":"

Returns true in case given ex was already captured, false otherwise.

","abstract":false,"args":[{"name":"ex","external_name":"ex","restriction":"Exception"}],"args_string":"(ex : Exception)","args_html":"(ex : Exception)","location":{"filename":"src/raven/instance.cr","line_number":269,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L269"},"def":{"name":"captured_exception?","args":[{"name":"ex","external_name":"ex","restriction":"Exception"}],"visibility":"Public","body":"!(!ex.__raven_event_id)"}},{"html_id":"client:Client-instance-method","name":"client","doc":"The client object is responsible for delivering formatted data to the\nSentry server.","summary":"

The client object is responsible for delivering formatted data to the Sentry server.

","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":30,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L30"},"def":{"name":"client","return_type":"Client","visibility":"Public","body":"if (value = @client).nil?\n @client = (Client.new(configuration))\nelse\n value\nend"}},{"html_id":"client=(client:Client)-instance-method","name":"client=","doc":"The client object is responsible for delivering formatted data to the\nSentry server.","summary":"

The client object is responsible for delivering formatted data to the Sentry server.

","abstract":false,"args":[{"name":"client","external_name":"client","restriction":"Client"}],"args_string":"(client : Client)","args_html":"(client : Client)","location":{"filename":"src/raven/instance.cr","line_number":30,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L30"},"def":{"name":"client=","args":[{"name":"client","external_name":"client","restriction":"Client"}],"visibility":"Public","body":"@client = client"}},{"html_id":"configuration:Configuration-instance-method","name":"configuration","doc":"See `Raven::Configuration`.","summary":"

See Raven::Configuration.

","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":26,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L26"},"def":{"name":"configuration","return_type":"Configuration","visibility":"Public","body":"if (value = @configuration).nil?\n @configuration = (Configuration.new)\nelse\n value\nend"}},{"html_id":"configuration=(configuration:Configuration)-instance-method","name":"configuration=","doc":"See `Raven::Configuration`.","summary":"

See Raven::Configuration.

","abstract":false,"args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"args_string":"(configuration : Configuration)","args_html":"(configuration : Configuration)","location":{"filename":"src/raven/instance.cr","line_number":26,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L26"},"def":{"name":"configuration=","args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"visibility":"Public","body":"@configuration = configuration"}},{"html_id":"configure-instance-method","name":"configure","doc":"Call this method to modify defaults in your initializers.\n\n```\nRaven.configure do |config|\n config.dsn = \"http://...\"\nend\n```","summary":"

Call this method to modify defaults in your initializers.

","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":67,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L67"},"def":{"name":"configure","visibility":"Public","body":"self.client = (Client.new(configuration)).tap do\n report_status\nend"}},{"html_id":"configure(&)-instance-method","name":"configure","doc":"Call this method to modify defaults in your initializers.\n\n```\nRaven.configure do |config|\n config.dsn = \"http://...\"\nend\n```","summary":"

Call this method to modify defaults in your initializers.

","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":72,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L72"},"def":{"name":"configure","yields":1,"block_arity":1,"visibility":"Public","body":"yield configuration\nconfigure\n"}},{"html_id":"context-instance-method","name":"context","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":40,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L40"},"def":{"name":"context","visibility":"Public","body":"if @explicit_context\n @context || (@context = Context.new)\nelse\n Context.current\nend"}},{"html_id":"extra_context(hash=nil,**options)-instance-method","name":"extra_context","doc":"Bind extra context. Merges with existing context (if any).\n\nExtra context shows up as *Additional Data* within Sentry,\nand is completely arbitrary.\n\n```\nRaven.extra_context(my_custom_data: \"value\")\n```","summary":"

Bind extra context.

","abstract":false,"args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"args_string":"(hash = nil, **options)","args_html":"(hash = nil, **options)","location":{"filename":"src/raven/instance.cr","line_number":305,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L305"},"def":{"name":"extra_context","args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"context.extra.merge!(hash, options)"}},{"html_id":"extra_context(hash=nil,**options,&)-instance-method","name":"extra_context","doc":"Bind extra context.\nMerges with existing context (if any).\n\nSee `#extra_context`","summary":"

Bind extra context.

","abstract":false,"args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"args_string":"(hash = nil, **options, &)","args_html":"(hash = nil, **options, &)","location":{"filename":"src/raven/instance.cr","line_number":309,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L309"},"def":{"name":"extra_context","args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"yields":0,"block_arity":0,"visibility":"Public","body":"prev_context = context.extra.clone\nbegin\n context.extra.merge!(hash, options)\n yield\nensure\n context.extra = prev_context\nend\ncontext.extra\n"}},{"html_id":"last_event_id-instance-method","name":"last_event_id","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":116,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L116"},"def":{"name":"last_event_id","visibility":"Public","body":"@last_event_id_mutex.synchronize do\n @last_event_id\nend"}},{"html_id":"report_status-instance-method","name":"report_status","doc":"Tell the log that the client is good to go.","summary":"

Tell the log that the client is good to go.

","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":49,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L49"},"def":{"name":"report_status","visibility":"Public","body":"if configuration.silence_ready?\n return\nend\nif ex = configuration.capture_allowed!\n Log.info do\n \"Raven #{VERSION} configured not to capture errors: #{ex.error_messages}\"\n end\nelse\n Log.info do\n \"Raven #{VERSION} ready to catch errors\"\n end\nend\n"}},{"html_id":"send_event(event,hint=nil)-instance-method","name":"send_event","doc":"Send an event to the configured Sentry server.\n\n```\nevent = Raven::Event.new(message: \"An error\")\nRaven.send_event(event)\n```","summary":"

Send an event to the configured Sentry server.

","abstract":false,"args":[{"name":"event","external_name":"event","restriction":""},{"name":"hint","default_value":"nil","external_name":"hint","restriction":""}],"args_string":"(event, hint = nil)","args_html":"(event, hint = nil)","location":{"filename":"src/raven/instance.cr","line_number":109,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L109"},"def":{"name":"send_event","args":[{"name":"event","external_name":"event","restriction":""},{"name":"hint","default_value":"nil","external_name":"hint","restriction":""}],"visibility":"Public","body":"client.send_event(event, hint)"}},{"html_id":"send_feedback(event_id:String,data:Hash)-instance-method","name":"send_feedback","doc":"Sends User Feedback to Sentry server.\n\n*data* should be a `Hash(String, String)` with following keys:\n- *name* (populated from `context.user[:username]` if left empty)\n- *email* (populated from `context.user[:email]` if left empty)\n- *comments*\n\n```\nRaven.send_feedback(Raven.last_event_id, {\n \"name\" => \"...\",\n \"email\" => \"...\",\n \"comments\" => \"...\",\n})\n```\n\nNOTE: Sentry server records single (last) feedback for a given *event_id*.","summary":"

Sends User Feedback to Sentry server.

","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"data","external_name":"data","restriction":"Hash"}],"args_string":"(event_id : String, data : Hash)","args_html":"(event_id : String, data : Hash)","location":{"filename":"src/raven/instance.cr","line_number":93,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L93"},"def":{"name":"send_feedback","args":[{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"data","external_name":"data","restriction":"Hash"}],"visibility":"Public","body":"if username = context.user[:username]?\n data[\"name\"]? || (data[\"name\"] = username.to_s)\nend\nif email = context.user[:email]?\n data[\"email\"]? || (data[\"email\"] = email.to_s)\nend\nclient.send_feedback(event_id, data)\n"}},{"html_id":"tags_context(hash=nil,**options)-instance-method","name":"tags_context","doc":"Bind tags context. Merges with existing context (if any).\n\nTags are key / value pairs which generally represent things like\napplication version, environment, role, and server names.\n\n```\nRaven.tags_context(my_custom_tag: \"tag_value\")\n```","summary":"

Bind tags context.

","abstract":false,"args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"args_string":"(hash = nil, **options)","args_html":"(hash = nil, **options)","location":{"filename":"src/raven/instance.cr","line_number":293,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L293"},"def":{"name":"tags_context","args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"context.tags.merge!(hash, options)"}},{"html_id":"tags_context(hash=nil,**options,&)-instance-method","name":"tags_context","doc":"Bind tags context.\nMerges with existing context (if any).\n\nSee `#tags_context`","summary":"

Bind tags context.

","abstract":false,"args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"args_string":"(hash = nil, **options, &)","args_html":"(hash = nil, **options, &)","location":{"filename":"src/raven/instance.cr","line_number":309,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L309"},"def":{"name":"tags_context","args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"yields":0,"block_arity":0,"visibility":"Public","body":"prev_context = context.tags.clone\nbegin\n context.tags.merge!(hash, options)\n yield\nensure\n context.tags = prev_context\nend\ncontext.tags\n"}},{"html_id":"user_context(hash=nil,**options)-instance-method","name":"user_context","doc":"Bind user context. Merges with existing context (if any).\n\nIt is recommending that you send at least the `:id` and `:email`\nvalues. All other values are arbitrary.\n\n```\nRaven.user_context(id: 1, email: \"foo@example.com\")\n```","summary":"

Bind user context.

","abstract":false,"args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"args_string":"(hash = nil, **options)","args_html":"(hash = nil, **options)","location":{"filename":"src/raven/instance.cr","line_number":281,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L281"},"def":{"name":"user_context","args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"context.user.merge!(hash, options)"}},{"html_id":"user_context(hash=nil,**options,&)-instance-method","name":"user_context","doc":"Bind user context.\nMerges with existing context (if any).\n\nSee `#user_context`","summary":"

Bind user context.

","abstract":false,"args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"args_string":"(hash = nil, **options, &)","args_html":"(hash = nil, **options, &)","location":{"filename":"src/raven/instance.cr","line_number":309,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L309"},"def":{"name":"user_context","args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"yields":0,"block_arity":0,"visibility":"Public","body":"prev_context = context.user.clone\nbegin\n context.user.merge!(hash, options)\n yield\nensure\n context.user = prev_context\nend\ncontext.user\n"}}]},{"html_id":"raven/Raven/Interface","path":"Raven/Interface.html","kind":"class","full_name":"Raven::Interface","name":"Interface","abstract":true,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/interface.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interface.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"}],"subclasses":[{"html_id":"raven/Raven/Interface/Exception","kind":"class","full_name":"Raven::Interface::Exception","name":"Exception"},{"html_id":"raven/Raven/Interface/HTTP","kind":"class","full_name":"Raven::Interface::HTTP","name":"HTTP"},{"html_id":"raven/Raven/Interface/Message","kind":"class","full_name":"Raven::Interface::Message","name":"Message"},{"html_id":"raven/Raven/Interface/SingleException","kind":"class","full_name":"Raven::Interface::SingleException","name":"SingleException"},{"html_id":"raven/Raven/Interface/Stacktrace","kind":"class","full_name":"Raven::Interface::Stacktrace","name":"Stacktrace"},{"html_id":"raven/Raven/Interface/Stacktrace/Frame","kind":"class","full_name":"Raven::Interface::Stacktrace::Frame","name":"Frame"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"class_methods":[{"html_id":"[](name:Symbol):Interface.class-class-method","name":"[]","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"args_string":"(name : Symbol) : Interface.class","args_html":"(name : Symbol) : Interface.class","location":{"filename":"src/raven/interface.cr","line_number":15,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interface.cr#L15"},"def":{"name":"[]","args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"return_type":"Interface.class","visibility":"Public","body":"self[name]? || (raise(ArgumentError.new(\"Unknown interface: #{name}\")))"}},{"html_id":"[]=(name:Symbol,klass:Interface.class)-class-method","name":"[]=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"},{"name":"klass","external_name":"klass","restriction":"Interface.class"}],"args_string":"(name : Symbol, klass : Interface.class)","args_html":"(name : Symbol, klass : Interface.class)","location":{"filename":"src/raven/interface.cr","line_number":7,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interface.cr#L7"},"def":{"name":"[]=","args":[{"name":"name","external_name":"name","restriction":"Symbol"},{"name":"klass","external_name":"klass","restriction":"Interface.class"}],"visibility":"Public","body":"registered[name] = klass"}},{"html_id":"[]?(name:Symbol):Interface.class|Nil-class-method","name":"[]?","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"args_string":"(name : Symbol) : Interface.class | Nil","args_html":"(name : Symbol) : Interface.class | Nil","location":{"filename":"src/raven/interface.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interface.cr#L11"},"def":{"name":"[]?","args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"return_type":"Interface.class | Nil","visibility":"Public","body":"registered[name]?"}},{"html_id":"registered-class-method","name":"registered","abstract":false,"location":{"filename":"src/raven/interface.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interface.cr#L5"},"def":{"name":"registered","visibility":"Public","body":"@@registered"}},{"html_id":"sentry_alias:Symbol-class-method","name":"sentry_alias","abstract":false,"location":{"filename":"src/raven/interface.cr","line_number":19,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interface.cr#L19"},"def":{"name":"sentry_alias","return_type":"Symbol","visibility":"Public","body":"{% if true %}\n raise \"Undefined {{ @type.id }}.sentry_alias\"\n {% end %}"}}],"instance_methods":[{"html_id":"to_hash-instance-method","name":"to_hash","abstract":false,"location":{"filename":"src/raven/interface.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interface.cr#L41"},"def":{"name":"to_hash","visibility":"Public","body":"{% if @type.instance_vars.empty? %}{% else %}\n {\n {% for var in @type.instance_vars %}\n {{ var.name.id.symbolize }} => ((v = @{{ var.name.id }}) \\\n .responds_to?(:to_hash) \\\n ? v.try(&.to_hash)\n : v.is_a?(Array) \\\n ? v.map { |i| i.responds_to?(:to_hash) ? i.to_hash : i }\n : v\n ),\n {% end %}\n }\n {% end %}"}},{"html_id":"to_json(*args,**options)-instance-method","name":"to_json","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven/interface.cr","line_number":57,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interface.cr#L57"},"def":{"name":"to_json","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"to_hash.to_json(*args, **options)"}},{"html_id":"to_json(*args,**options,&)-instance-method","name":"to_json","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven/interface.cr","line_number":57,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interface.cr#L57"},"def":{"name":"to_json","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"to_hash.to_json(*args, **options) do |*yield_args|\n yield *yield_args\nend"}}],"types":[{"html_id":"raven/Raven/Interface/Exception","path":"Raven/Interface/Exception.html","kind":"class","full_name":"Raven::Interface::Exception","name":"Exception","abstract":false,"superclass":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"ancestors":[{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/interfaces/exception.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/exception.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"class_methods":[{"html_id":"sentry_alias-class-method","name":"sentry_alias","abstract":false,"location":{"filename":"src/raven/interfaces/exception.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/exception.cr#L5"},"def":{"name":"sentry_alias","visibility":"Public","body":":exception"}}],"constructors":[{"html_id":"new(**attributes)-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/interfaces/exception.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/exception.cr#L2"},"def":{"name":"new","double_splat":{"name":"attributes","external_name":"attributes","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**attributes)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"values:Array(SingleException)|Nil-instance-method","name":"values","abstract":false,"location":{"filename":"src/raven/interfaces/exception.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/exception.cr#L3"},"def":{"name":"values","return_type":"Array(SingleException) | ::Nil","visibility":"Public","body":"@values"}},{"html_id":"values=(values:Array(SingleException)|Nil)-instance-method","name":"values=","abstract":false,"args":[{"name":"values","external_name":"values","restriction":"Array(SingleException) | ::Nil"}],"args_string":"(values : Array(SingleException) | Nil)","args_html":"(values : Array(SingleException) | Nil)","location":{"filename":"src/raven/interfaces/exception.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/exception.cr#L3"},"def":{"name":"values=","args":[{"name":"values","external_name":"values","restriction":"Array(SingleException) | ::Nil"}],"visibility":"Public","body":"@values = values"}}]},{"html_id":"raven/Raven/Interface/HTTP","path":"Raven/Interface/HTTP.html","kind":"class","full_name":"Raven::Interface::HTTP","name":"HTTP","abstract":false,"superclass":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"ancestors":[{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/interfaces/http.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/http.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"class_methods":[{"html_id":"sentry_alias-class-method","name":"sentry_alias","abstract":false,"location":{"filename":"src/raven/interfaces/http.cr","line_number":10,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/http.cr#L10"},"def":{"name":"sentry_alias","visibility":"Public","body":":request"}}],"constructors":[{"html_id":"new(**attributes)-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/interfaces/http.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/http.cr#L2"},"def":{"name":"new","double_splat":{"name":"attributes","external_name":"attributes","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**attributes)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"cookies:String|Nil-instance-method","name":"cookies","abstract":false,"location":{"filename":"src/raven/interfaces/http.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/http.cr#L6"},"def":{"name":"cookies","return_type":"String | ::Nil","visibility":"Public","body":"@cookies"}},{"html_id":"cookies=(cookies:String|Nil)-instance-method","name":"cookies=","abstract":false,"args":[{"name":"cookies","external_name":"cookies","restriction":"String | ::Nil"}],"args_string":"(cookies : String | Nil)","args_html":"(cookies : String | Nil)","location":{"filename":"src/raven/interfaces/http.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/http.cr#L6"},"def":{"name":"cookies=","args":[{"name":"cookies","external_name":"cookies","restriction":"String | ::Nil"}],"visibility":"Public","body":"@cookies = cookies"}},{"html_id":"data:AnyHash::JSON-instance-method","name":"data","abstract":false,"def":{"name":"data","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @data).nil?\n @data = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"data=(data:AnyHash::JSON)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"AnyHash::JSON"}],"args_string":"(data : AnyHash::JSON)","args_html":"(data : AnyHash::JSON)","def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@data = data"}},{"html_id":"data=(hash:Hash|NamedTuple|Nil)-instance-method","name":"data=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/interfaces/http.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/http.cr#L8"},"def":{"name":"data=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"data.replace(hash)"}},{"html_id":"env:AnyHash::JSON-instance-method","name":"env","abstract":false,"def":{"name":"env","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @env).nil?\n @env = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"env=(env:AnyHash::JSON)-instance-method","name":"env=","abstract":false,"args":[{"name":"env","external_name":"env","restriction":"AnyHash::JSON"}],"args_string":"(env : AnyHash::JSON)","args_html":"(env : AnyHash::JSON)","def":{"name":"env=","args":[{"name":"env","external_name":"env","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@env = env"}},{"html_id":"env=(hash:Hash|NamedTuple|Nil)-instance-method","name":"env=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/interfaces/http.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/http.cr#L8"},"def":{"name":"env=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"env.replace(hash)"}},{"html_id":"headers:AnyHash::JSON-instance-method","name":"headers","abstract":false,"def":{"name":"headers","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @headers).nil?\n @headers = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"headers=(headers:AnyHash::JSON)-instance-method","name":"headers=","abstract":false,"args":[{"name":"headers","external_name":"headers","restriction":"AnyHash::JSON"}],"args_string":"(headers : AnyHash::JSON)","args_html":"(headers : AnyHash::JSON)","def":{"name":"headers=","args":[{"name":"headers","external_name":"headers","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@headers = headers"}},{"html_id":"headers=(hash:Hash|NamedTuple|Nil)-instance-method","name":"headers=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/interfaces/http.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/http.cr#L8"},"def":{"name":"headers=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"headers.replace(hash)"}},{"html_id":"method:String-instance-method","name":"method","abstract":false,"def":{"name":"method","return_type":"String","visibility":"Public","body":"if (value = @method).nil?\n ::raise(::NilAssertionError.new(\"Raven::Interface::HTTP#method cannot be nil\"))\nelse\n value\nend"}},{"html_id":"method=(method:String)-instance-method","name":"method=","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"}],"args_string":"(method : String)","args_html":"(method : String)","location":{"filename":"src/raven/interfaces/http.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/http.cr#L4"},"def":{"name":"method=","args":[{"name":"method","external_name":"method","restriction":"String"}],"visibility":"Public","body":"@method = method"}},{"html_id":"method?:String|Nil-instance-method","name":"method?","abstract":false,"def":{"name":"method?","return_type":"String | ::Nil","visibility":"Public","body":"@method"}},{"html_id":"query_string:String|Nil-instance-method","name":"query_string","abstract":false,"location":{"filename":"src/raven/interfaces/http.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/http.cr#L5"},"def":{"name":"query_string","return_type":"String | ::Nil","visibility":"Public","body":"@query_string"}},{"html_id":"query_string=(query_string:String|Nil)-instance-method","name":"query_string=","abstract":false,"args":[{"name":"query_string","external_name":"query_string","restriction":"String | ::Nil"}],"args_string":"(query_string : String | Nil)","args_html":"(query_string : String | Nil)","location":{"filename":"src/raven/interfaces/http.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/http.cr#L5"},"def":{"name":"query_string=","args":[{"name":"query_string","external_name":"query_string","restriction":"String | ::Nil"}],"visibility":"Public","body":"@query_string = query_string"}},{"html_id":"url:String-instance-method","name":"url","abstract":false,"def":{"name":"url","return_type":"String","visibility":"Public","body":"if (value = @url).nil?\n ::raise(::NilAssertionError.new(\"Raven::Interface::HTTP#url cannot be nil\"))\nelse\n value\nend"}},{"html_id":"url=(url:String)-instance-method","name":"url=","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/raven/interfaces/http.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/http.cr#L3"},"def":{"name":"url=","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@url = url"}},{"html_id":"url?:String|Nil-instance-method","name":"url?","abstract":false,"def":{"name":"url?","return_type":"String | ::Nil","visibility":"Public","body":"@url"}}]},{"html_id":"raven/Raven/Interface/Message","path":"Raven/Interface/Message.html","kind":"class","full_name":"Raven::Interface::Message","name":"Message","abstract":false,"superclass":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"ancestors":[{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/interfaces/message.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/message.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"class_methods":[{"html_id":"sentry_alias-class-method","name":"sentry_alias","abstract":false,"location":{"filename":"src/raven/interfaces/message.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/message.cr#L6"},"def":{"name":"sentry_alias","visibility":"Public","body":":logentry"}}],"constructors":[{"html_id":"new(**attributes)-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/interfaces/message.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/message.cr#L2"},"def":{"name":"new","double_splat":{"name":"attributes","external_name":"attributes","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**attributes)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"message:String-instance-method","name":"message","abstract":false,"def":{"name":"message","return_type":"String","visibility":"Public","body":"if (value = @message).nil?\n ::raise(::NilAssertionError.new(\"Raven::Interface::Message#message cannot be nil\"))\nelse\n value\nend"}},{"html_id":"message=(message:String)-instance-method","name":"message=","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"String"}],"args_string":"(message : String)","args_html":"(message : String)","location":{"filename":"src/raven/interfaces/message.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/message.cr#L3"},"def":{"name":"message=","args":[{"name":"message","external_name":"message","restriction":"String"}],"visibility":"Public","body":"@message = message"}},{"html_id":"message?:String|Nil-instance-method","name":"message?","abstract":false,"def":{"name":"message?","return_type":"String | ::Nil","visibility":"Public","body":"@message"}},{"html_id":"params:Array(String)|Nil-instance-method","name":"params","abstract":false,"location":{"filename":"src/raven/interfaces/message.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/message.cr#L4"},"def":{"name":"params","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@params"}},{"html_id":"params=(params:Array(String)|Nil)-instance-method","name":"params=","abstract":false,"args":[{"name":"params","external_name":"params","restriction":"Array(String) | ::Nil"}],"args_string":"(params : Array(String) | Nil)","args_html":"(params : Array(String) | Nil)","location":{"filename":"src/raven/interfaces/message.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/message.cr#L4"},"def":{"name":"params=","args":[{"name":"params","external_name":"params","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@params = params"}},{"html_id":"unformatted_message-instance-method","name":"unformatted_message","abstract":false,"location":{"filename":"src/raven/interfaces/message.cr","line_number":10,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/message.cr#L10"},"def":{"name":"unformatted_message","visibility":"Public","body":"if (params = @params) && (!params.empty?)\n message?.try(&.%(params))\nelse\n message?\nend"}}]},{"html_id":"raven/Raven/Interface/SingleException","path":"Raven/Interface/SingleException.html","kind":"class","full_name":"Raven::Interface::SingleException","name":"SingleException","abstract":false,"superclass":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"ancestors":[{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/interfaces/single_exception.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/single_exception.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"constructors":[{"html_id":"new(**attributes)-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/interfaces/single_exception.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/single_exception.cr#L2"},"def":{"name":"new","double_splat":{"name":"attributes","external_name":"attributes","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**attributes)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"module:String|Nil-instance-method","name":"module","abstract":false,"location":{"filename":"src/raven/interfaces/single_exception.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/single_exception.cr#L5"},"def":{"name":"module","return_type":"String | ::Nil","visibility":"Public","body":"@module"}},{"html_id":"module=(module__arg0:String|Nil)-instance-method","name":"module=","abstract":false,"args":[{"name":"__arg0","external_name":"module","restriction":"String | ::Nil"}],"args_string":"(module __arg0 : String | Nil)","args_html":"(module __arg0 : String | Nil)","location":{"filename":"src/raven/interfaces/single_exception.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/single_exception.cr#L5"},"def":{"name":"module=","args":[{"name":"__arg0","external_name":"module","restriction":"String | ::Nil"}],"visibility":"Public","body":"@module = __arg0"}},{"html_id":"stacktrace:Stacktrace|Nil-instance-method","name":"stacktrace","abstract":false,"location":{"filename":"src/raven/interfaces/single_exception.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/single_exception.cr#L6"},"def":{"name":"stacktrace","return_type":"Stacktrace | ::Nil","visibility":"Public","body":"@stacktrace"}},{"html_id":"stacktrace=(stacktrace:Stacktrace|Nil)-instance-method","name":"stacktrace=","abstract":false,"args":[{"name":"stacktrace","external_name":"stacktrace","restriction":"Stacktrace | ::Nil"}],"args_string":"(stacktrace : Stacktrace | Nil)","args_html":"(stacktrace : Stacktrace | Nil)","location":{"filename":"src/raven/interfaces/single_exception.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/single_exception.cr#L6"},"def":{"name":"stacktrace=","args":[{"name":"stacktrace","external_name":"stacktrace","restriction":"Stacktrace | ::Nil"}],"visibility":"Public","body":"@stacktrace = stacktrace"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"def":{"name":"type","return_type":"String","visibility":"Public","body":"if (value = @type).nil?\n ::raise(::NilAssertionError.new(\"Raven::Interface::SingleException#type cannot be nil\"))\nelse\n value\nend"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/raven/interfaces/single_exception.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/single_exception.cr#L3"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}},{"html_id":"type?:String|Nil-instance-method","name":"type?","abstract":false,"def":{"name":"type?","return_type":"String | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"value:String-instance-method","name":"value","abstract":false,"def":{"name":"value","return_type":"String","visibility":"Public","body":"if (value = @value).nil?\n ::raise(::NilAssertionError.new(\"Raven::Interface::SingleException#value cannot be nil\"))\nelse\n value\nend"}},{"html_id":"value=(value:String)-instance-method","name":"value=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/raven/interfaces/single_exception.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/single_exception.cr#L4"},"def":{"name":"value=","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"@value = value"}},{"html_id":"value?:String|Nil-instance-method","name":"value?","abstract":false,"def":{"name":"value?","return_type":"String | ::Nil","visibility":"Public","body":"@value"}}]},{"html_id":"raven/Raven/Interface/Stacktrace","path":"Raven/Interface/Stacktrace.html","kind":"class","full_name":"Raven::Interface::Stacktrace","name":"Stacktrace","abstract":false,"superclass":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"ancestors":[{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/interfaces/stacktrace.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"class_methods":[{"html_id":"sentry_alias-class-method","name":"sentry_alias","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L5"},"def":{"name":"sentry_alias","visibility":"Public","body":":stacktrace"}}],"constructors":[{"html_id":"new(**attributes)-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L2"},"def":{"name":"new","double_splat":{"name":"attributes","external_name":"attributes","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**attributes)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"backtrace=(backtrace:Backtracer::Backtrace)-instance-method","name":"backtrace=","abstract":false,"args":[{"name":"backtrace","external_name":"backtrace","restriction":"Backtracer::Backtrace"}],"args_string":"(backtrace : Backtracer::Backtrace)","args_html":"(backtrace : Backtracer::Backtrace)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":9,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L9"},"def":{"name":"backtrace=","args":[{"name":"backtrace","external_name":"backtrace","restriction":"Backtracer::Backtrace"}],"visibility":"Public","body":"@frames.clear\nbacktrace.frames.reverse_each do |frame|\n @frames << (Frame.from_backtrace_frame(frame))\nend\n"}},{"html_id":"culprit:Frame|Nil-instance-method","name":"culprit","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":17,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L17"},"def":{"name":"culprit","return_type":"Frame | ::Nil","visibility":"Public","body":"frames.reverse.find(&.in_app?) || frames.last?"}},{"html_id":"frames:Array(Frame)-instance-method","name":"frames","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L3"},"def":{"name":"frames","return_type":"Array(Frame)","visibility":"Public","body":"@frames"}},{"html_id":"frames=(frames:Array(Frame))-instance-method","name":"frames=","abstract":false,"args":[{"name":"frames","external_name":"frames","restriction":"Array(Frame)"}],"args_string":"(frames : Array(Frame))","args_html":"(frames : Array(Frame))","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L3"},"def":{"name":"frames=","args":[{"name":"frames","external_name":"frames","restriction":"Array(Frame)"}],"visibility":"Public","body":"@frames = frames"}}],"types":[{"html_id":"raven/Raven/Interface/Stacktrace/Frame","path":"Raven/Interface/Stacktrace/Frame.html","kind":"class","full_name":"Raven::Interface::Stacktrace::Frame","name":"Frame","abstract":false,"superclass":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"ancestors":[{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/interfaces/stacktrace.cr","line_number":22,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L22"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Interface/Stacktrace","kind":"class","full_name":"Raven::Interface::Stacktrace","name":"Stacktrace"},"doc":"Not actually an interface, but I want to use the same style","summary":"

Not actually an interface, but I want to use the same style

","class_methods":[{"html_id":"from_backtrace_frame(line)-class-method","name":"from_backtrace_frame","abstract":false,"args":[{"name":"line","external_name":"line","restriction":""}],"args_string":"(line)","args_html":"(line)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":34,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L34"},"def":{"name":"from_backtrace_frame","args":[{"name":"line","external_name":"line","restriction":""}],"visibility":"Public","body":"new.tap do |frame|\n frame.abs_path = line.absolute_path || line.path\n frame.filename = line.relative_path\n frame.function = line.method\n frame.package = line.shard_name\n frame.lineno = line.lineno\n frame.colno = line.column\n frame.in_app = line.in_app?\n if context = line.context\n frame.pre_context, frame.context_line, frame.post_context = context.pre, context.line, context.post\n end\nend"}}],"constructors":[{"html_id":"new(**attributes)-class-method","name":"new","doc":"Not actually an interface, but I want to use the same style","summary":"

Not actually an interface, but I want to use the same style

","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":22,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L22"},"def":{"name":"new","double_splat":{"name":"attributes","external_name":"attributes","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**attributes)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"abs_path:String|Nil-instance-method","name":"abs_path","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":23,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L23"},"def":{"name":"abs_path","return_type":"String | ::Nil","visibility":"Public","body":"@abs_path"}},{"html_id":"abs_path=(abs_path:String|Nil)-instance-method","name":"abs_path=","abstract":false,"args":[{"name":"abs_path","external_name":"abs_path","restriction":"String | ::Nil"}],"args_string":"(abs_path : String | Nil)","args_html":"(abs_path : String | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":23,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L23"},"def":{"name":"abs_path=","args":[{"name":"abs_path","external_name":"abs_path","restriction":"String | ::Nil"}],"visibility":"Public","body":"@abs_path = abs_path"}},{"html_id":"colno:Int32|Nil-instance-method","name":"colno","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":31,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L31"},"def":{"name":"colno","return_type":"Int32 | ::Nil","visibility":"Public","body":"@colno"}},{"html_id":"colno=(colno:Int32|Nil)-instance-method","name":"colno=","abstract":false,"args":[{"name":"colno","external_name":"colno","restriction":"Int32 | ::Nil"}],"args_string":"(colno : Int32 | Nil)","args_html":"(colno : Int32 | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":31,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L31"},"def":{"name":"colno=","args":[{"name":"colno","external_name":"colno","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@colno = colno"}},{"html_id":"context_line:String|Nil-instance-method","name":"context_line","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":27,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L27"},"def":{"name":"context_line","return_type":"String | ::Nil","visibility":"Public","body":"@context_line"}},{"html_id":"context_line=(context_line:String|Nil)-instance-method","name":"context_line=","abstract":false,"args":[{"name":"context_line","external_name":"context_line","restriction":"String | ::Nil"}],"args_string":"(context_line : String | Nil)","args_html":"(context_line : String | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":27,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L27"},"def":{"name":"context_line=","args":[{"name":"context_line","external_name":"context_line","restriction":"String | ::Nil"}],"visibility":"Public","body":"@context_line = context_line"}},{"html_id":"filename:String|Nil-instance-method","name":"filename","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":24,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L24"},"def":{"name":"filename","return_type":"String | ::Nil","visibility":"Public","body":"@filename"}},{"html_id":"filename=(filename:String|Nil)-instance-method","name":"filename=","abstract":false,"args":[{"name":"filename","external_name":"filename","restriction":"String | ::Nil"}],"args_string":"(filename : String | Nil)","args_html":"(filename : String | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":24,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L24"},"def":{"name":"filename=","args":[{"name":"filename","external_name":"filename","restriction":"String | ::Nil"}],"visibility":"Public","body":"@filename = filename"}},{"html_id":"function:String|Nil-instance-method","name":"function","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":25,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L25"},"def":{"name":"function","return_type":"String | ::Nil","visibility":"Public","body":"@function"}},{"html_id":"function=(function:String|Nil)-instance-method","name":"function=","abstract":false,"args":[{"name":"function","external_name":"function","restriction":"String | ::Nil"}],"args_string":"(function : String | Nil)","args_html":"(function : String | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":25,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L25"},"def":{"name":"function=","args":[{"name":"function","external_name":"function","restriction":"String | ::Nil"}],"visibility":"Public","body":"@function = function"}},{"html_id":"in_app=(in_app:Bool|Nil)-instance-method","name":"in_app=","abstract":false,"args":[{"name":"in_app","external_name":"in_app","restriction":"Bool | ::Nil"}],"args_string":"(in_app : Bool | Nil)","args_html":"(in_app : Bool | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":32,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L32"},"def":{"name":"in_app=","args":[{"name":"in_app","external_name":"in_app","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@in_app = in_app"}},{"html_id":"in_app?:Bool|Nil-instance-method","name":"in_app?","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":32,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L32"},"def":{"name":"in_app?","return_type":"Bool | ::Nil","visibility":"Public","body":"@in_app"}},{"html_id":"lineno:Int32|Nil-instance-method","name":"lineno","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":30,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L30"},"def":{"name":"lineno","return_type":"Int32 | ::Nil","visibility":"Public","body":"@lineno"}},{"html_id":"lineno=(lineno:Int32|Nil)-instance-method","name":"lineno=","abstract":false,"args":[{"name":"lineno","external_name":"lineno","restriction":"Int32 | ::Nil"}],"args_string":"(lineno : Int32 | Nil)","args_html":"(lineno : Int32 | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":30,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L30"},"def":{"name":"lineno=","args":[{"name":"lineno","external_name":"lineno","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@lineno = lineno"}},{"html_id":"package:String|Nil-instance-method","name":"package","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":26,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L26"},"def":{"name":"package","return_type":"String | ::Nil","visibility":"Public","body":"@package"}},{"html_id":"package=(package:String|Nil)-instance-method","name":"package=","abstract":false,"args":[{"name":"package","external_name":"package","restriction":"String | ::Nil"}],"args_string":"(package : String | Nil)","args_html":"(package : String | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":26,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L26"},"def":{"name":"package=","args":[{"name":"package","external_name":"package","restriction":"String | ::Nil"}],"visibility":"Public","body":"@package = package"}},{"html_id":"post_context:Array(String)|Nil-instance-method","name":"post_context","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":29,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L29"},"def":{"name":"post_context","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@post_context"}},{"html_id":"post_context=(post_context:Array(String)|Nil)-instance-method","name":"post_context=","abstract":false,"args":[{"name":"post_context","external_name":"post_context","restriction":"Array(String) | ::Nil"}],"args_string":"(post_context : Array(String) | Nil)","args_html":"(post_context : Array(String) | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":29,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L29"},"def":{"name":"post_context=","args":[{"name":"post_context","external_name":"post_context","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@post_context = post_context"}},{"html_id":"pre_context:Array(String)|Nil-instance-method","name":"pre_context","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":28,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L28"},"def":{"name":"pre_context","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@pre_context"}},{"html_id":"pre_context=(pre_context:Array(String)|Nil)-instance-method","name":"pre_context=","abstract":false,"args":[{"name":"pre_context","external_name":"pre_context","restriction":"Array(String) | ::Nil"}],"args_string":"(pre_context : Array(String) | Nil)","args_html":"(pre_context : Array(String) | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":28,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L28"},"def":{"name":"pre_context=","args":[{"name":"pre_context","external_name":"pre_context","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@pre_context = pre_context"}}]}]}]},{"html_id":"raven/Raven/LogBackend","path":"Raven/LogBackend.html","kind":"class","full_name":"Raven::LogBackend","name":"LogBackend","abstract":false,"superclass":{"html_id":"raven/Log/Backend","kind":"class","full_name":"Log::Backend","name":"Backend"},"ancestors":[{"html_id":"raven/Log/Backend","kind":"class","full_name":"Log::Backend","name":"Backend"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/log_backend.cr","line_number":15,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log_backend.cr#L15"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"doc":"`::Log::Backend` recording logged messages.\n\n```\nLog.setup do |c|\n c.bind \"*\", :info, Log::IOBackend.new\n c.bind \"*\", :info, Raven::LogBackend.new(record_breadcrumbs: true)\n c.bind \"*\", :warn, Raven::LogBackend.new(capture_exceptions: true)\n c.bind \"*\", :fatal, Raven::LogBackend.new(capture_all: true)\nend\n```","summary":"

::Log::Backend recording logged messages.

","constructors":[{"html_id":"new(dispatch_mode:::Log::DispatchMode=:sync,*,record_breadcrumbs:Bool=false,capture_exceptions:Bool=false,capture_all:Bool=false,default_logger:String=\"logger\")-class-method","name":"new","abstract":false,"args":[{"name":"dispatch_mode","default_value":":sync","external_name":"dispatch_mode","restriction":"::Log::DispatchMode"},{"name":"","external_name":"","restriction":""},{"name":"record_breadcrumbs","default_value":"false","external_name":"record_breadcrumbs","restriction":"::Bool"},{"name":"capture_exceptions","default_value":"false","external_name":"capture_exceptions","restriction":"::Bool"},{"name":"capture_all","default_value":"false","external_name":"capture_all","restriction":"::Bool"},{"name":"default_logger","default_value":"\"logger\"","external_name":"default_logger","restriction":"::String"}],"args_string":"(dispatch_mode : ::Log::DispatchMode = :sync, *, record_breadcrumbs : Bool = false, capture_exceptions : Bool = false, capture_all : Bool = false, default_logger : String = \"logger\")","args_html":"(dispatch_mode : ::Log::DispatchMode = :sync, *, record_breadcrumbs : Bool = false, capture_exceptions : Bool = false, capture_all : Bool = false, default_logger : String = "logger")","location":{"filename":"src/raven/log_backend.cr","line_number":56,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log_backend.cr#L56"},"def":{"name":"new","args":[{"name":"dispatch_mode","default_value":":sync","external_name":"dispatch_mode","restriction":"::Log::DispatchMode"},{"name":"","external_name":"","restriction":""},{"name":"record_breadcrumbs","default_value":"false","external_name":"record_breadcrumbs","restriction":"::Bool"},{"name":"capture_exceptions","default_value":"false","external_name":"capture_exceptions","restriction":"::Bool"},{"name":"capture_all","default_value":"false","external_name":"capture_all","restriction":"::Bool"},{"name":"default_logger","default_value":"\"logger\"","external_name":"default_logger","restriction":"::String"}],"splat_index":1,"visibility":"Public","body":"_ = allocate\n_.initialize(dispatch_mode, record_breadcrumbs: record_breadcrumbs, capture_exceptions: capture_exceptions, capture_all: capture_all, default_logger: default_logger)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"active?-instance-method","name":"active?","abstract":false,"location":{"filename":"src/raven/log_backend.cr","line_number":111,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log_backend.cr#L111"},"def":{"name":"active?","visibility":"Public","body":"record_breadcrumbs? || capture?"}},{"html_id":"capture?-instance-method","name":"capture?","abstract":false,"location":{"filename":"src/raven/log_backend.cr","line_number":115,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log_backend.cr#L115"},"def":{"name":"capture?","visibility":"Public","body":"capture_exceptions? || capture_all?"}},{"html_id":"capture_all=(capture_all:Bool)-instance-method","name":"capture_all=","doc":"Captures each logged entry.\n\nSee `Raven.capture`","summary":"

Captures each logged entry.

","abstract":false,"args":[{"name":"capture_all","external_name":"capture_all","restriction":"Bool"}],"args_string":"(capture_all : Bool)","args_html":"(capture_all : Bool)","location":{"filename":"src/raven/log_backend.cr","line_number":49,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log_backend.cr#L49"},"def":{"name":"capture_all=","args":[{"name":"capture_all","external_name":"capture_all","restriction":"Bool"}],"visibility":"Public","body":"@capture_all = capture_all"}},{"html_id":"capture_all?:Bool-instance-method","name":"capture_all?","doc":"Captures each logged entry.\n\nSee `Raven.capture`","summary":"

Captures each logged entry.

","abstract":false,"location":{"filename":"src/raven/log_backend.cr","line_number":49,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log_backend.cr#L49"},"def":{"name":"capture_all?","return_type":"Bool","visibility":"Public","body":"@capture_all"}},{"html_id":"capture_exceptions=(capture_exceptions:Bool)-instance-method","name":"capture_exceptions=","doc":"Captures `Exception` attached to the logged entry, if present.\n\nSee `Raven.capture`","summary":"

Captures Exception attached to the logged entry, if present.

","abstract":false,"args":[{"name":"capture_exceptions","external_name":"capture_exceptions","restriction":"Bool"}],"args_string":"(capture_exceptions : Bool)","args_html":"(capture_exceptions : Bool)","location":{"filename":"src/raven/log_backend.cr","line_number":44,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log_backend.cr#L44"},"def":{"name":"capture_exceptions=","args":[{"name":"capture_exceptions","external_name":"capture_exceptions","restriction":"Bool"}],"visibility":"Public","body":"@capture_exceptions = capture_exceptions"}},{"html_id":"capture_exceptions?:Bool-instance-method","name":"capture_exceptions?","doc":"Captures `Exception` attached to the logged entry, if present.\n\nSee `Raven.capture`","summary":"

Captures Exception attached to the logged entry, if present.

","abstract":false,"location":{"filename":"src/raven/log_backend.cr","line_number":44,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log_backend.cr#L44"},"def":{"name":"capture_exceptions?","return_type":"Bool","visibility":"Public","body":"@capture_exceptions"}},{"html_id":"default_logger:String-instance-method","name":"default_logger","doc":"Default name of the root logger.\n\nSee `Event#logger`, `Breadcrumb#category`","summary":"

Default name of the root logger.

","abstract":false,"location":{"filename":"src/raven/log_backend.cr","line_number":54,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log_backend.cr#L54"},"def":{"name":"default_logger","return_type":"String","visibility":"Public","body":"@default_logger"}},{"html_id":"default_logger=(default_logger:String)-instance-method","name":"default_logger=","doc":"Default name of the root logger.\n\nSee `Event#logger`, `Breadcrumb#category`","summary":"

Default name of the root logger.

","abstract":false,"args":[{"name":"default_logger","external_name":"default_logger","restriction":"String"}],"args_string":"(default_logger : String)","args_html":"(default_logger : String)","location":{"filename":"src/raven/log_backend.cr","line_number":54,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log_backend.cr#L54"},"def":{"name":"default_logger=","args":[{"name":"default_logger","external_name":"default_logger","restriction":"String"}],"visibility":"Public","body":"@default_logger = default_logger"}},{"html_id":"record_breadcrumbs=(record_breadcrumbs:Bool)-instance-method","name":"record_breadcrumbs=","doc":"Records each logged entry as a breadcrumb.\n\nSee `Raven.breadcrumbs`","summary":"

Records each logged entry as a breadcrumb.

","abstract":false,"args":[{"name":"record_breadcrumbs","external_name":"record_breadcrumbs","restriction":"Bool"}],"args_string":"(record_breadcrumbs : Bool)","args_html":"(record_breadcrumbs : Bool)","location":{"filename":"src/raven/log_backend.cr","line_number":39,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log_backend.cr#L39"},"def":{"name":"record_breadcrumbs=","args":[{"name":"record_breadcrumbs","external_name":"record_breadcrumbs","restriction":"Bool"}],"visibility":"Public","body":"@record_breadcrumbs = record_breadcrumbs"}},{"html_id":"record_breadcrumbs?:Bool-instance-method","name":"record_breadcrumbs?","doc":"Records each logged entry as a breadcrumb.\n\nSee `Raven.breadcrumbs`","summary":"

Records each logged entry as a breadcrumb.

","abstract":false,"location":{"filename":"src/raven/log_backend.cr","line_number":39,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log_backend.cr#L39"},"def":{"name":"record_breadcrumbs?","return_type":"Bool","visibility":"Public","body":"@record_breadcrumbs"}},{"html_id":"write(entry:::Log::Entry)-instance-method","name":"write","doc":"Writes the *entry* to this backend.","summary":"

Writes the entry to this backend.

","abstract":false,"args":[{"name":"entry","external_name":"entry","restriction":"::Log::Entry"}],"args_string":"(entry : ::Log::Entry)","args_html":"(entry : ::Log::Entry)","location":{"filename":"src/raven/log_backend.cr","line_number":119,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log_backend.cr#L119"},"def":{"name":"write","args":[{"name":"entry","external_name":"entry","restriction":"::Log::Entry"}],"visibility":"Public","body":"if (!active?) || (ignored_logger?(entry.source))\n return\nend\ndata = entry.context.extend(entry.data.to_h)\ndata = data.empty? ? nil : (JSON.parse(data.to_json)).as_h\nmessage = entry.message\nex = entry.exception\nif capture?\n if ex || capture_all?\n capture_exception(ex, message, entry.severity, entry.timestamp, entry.source, data)\n end\nend\nif record_breadcrumbs?\n if ex\n message = message + \" -- (#{ex.class}): #{ex.message || \"n/a\"}\"\n end\n record_breadcrumb(message, entry.severity, entry.timestamp, entry.source, data)\nend\n"}}]},{"html_id":"raven/Raven/Mixin","path":"Raven/Mixin.html","kind":"module","full_name":"Raven::Mixin","name":"Mixin","abstract":false,"locations":[{"filename":"src/raven/mixins/initialize_with.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/mixins/initialize_with.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"types":[{"html_id":"raven/Raven/Mixin/InitializeWith","path":"Raven/Mixin/InitializeWith.html","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith","abstract":false,"locations":[{"filename":"src/raven/mixins/initialize_with.cr","line_number":26,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/mixins/initialize_with.cr#L26"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"raven/Raven/Breadcrumb","kind":"class","full_name":"Raven::Breadcrumb","name":"Breadcrumb"},{"html_id":"raven/Raven/Event","kind":"class","full_name":"Raven::Event","name":"Event"},{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"}],"namespace":{"html_id":"raven/Raven/Mixin","kind":"module","full_name":"Raven::Mixin","name":"Mixin"},"doc":"Maps passed *attributes* to `@ivar_variables` and `self.property_setters=`.\n\n```\nclass Foo\n include Raven::Mixin::InitializeWith\n\n @logger : String?\n property message : String?\n\n def backtrace=(backtrace)\n # ...\n end\nend\n\nfoo = Foo.new\nfoo.initialize_with({\n logger: \"my-logger\",\n message: \"boo!\",\n backtrace: caller,\n})\n```\n\nNOTE: Magic inside!","summary":"

Maps passed attributes to @ivar_variables and self.property_setters=.

","instance_methods":[{"html_id":"initialize_with(attributes)-instance-method","name":"initialize_with","abstract":false,"args":[{"name":"attributes","external_name":"attributes","restriction":""}],"args_string":"(attributes)","args_html":"(attributes)","location":{"filename":"src/raven/mixins/initialize_with.cr","line_number":27,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/mixins/initialize_with.cr#L27"},"def":{"name":"initialize_with","args":[{"name":"attributes","external_name":"attributes","restriction":""}],"visibility":"Public","body":"{% if true %}\n {% properties = @type.methods.select do |method|\n (method.name.ends_with?('=')) && (method.args.size == 1)\nend.map() do |__arg0|\n __arg0.name[0...-1].symbolize\nend.uniq %}\n\n {% for name in properties %}\n if arg = attributes[{{ name }}]?\n self.{{ name.id }} = arg\n end\n {% end %}\n\n {% ivars = @type.instance_vars.map() do |__arg1|\n __arg1.name.symbolize\nend.uniq %}\n\n {% for name in ivars %}\n {% if properties.includes?(name) %}{% else %}\n if arg = attributes[{{ name }}]?\n @{{ name.id }} = arg\n end\n {% end %}\n {% end %}\n {% end %}\nself\n"}},{"html_id":"initialize_with(**attributes)-instance-method","name":"initialize_with","abstract":false,"location":{"filename":"src/raven/mixins/initialize_with.cr","line_number":60,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/mixins/initialize_with.cr#L60"},"def":{"name":"initialize_with","double_splat":{"name":"attributes","external_name":"attributes","restriction":""},"visibility":"Public","body":"initialize_with(attributes)"}}]}]},{"html_id":"raven/Raven/Processor","path":"Raven/Processor.html","kind":"class","full_name":"Raven::Processor","name":"Processor","abstract":true,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processor.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processor.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"INT_MASK","name":"INT_MASK","value":"0"},{"id":"STRING_MASK","name":"STRING_MASK","value":"\"********\""}],"subclasses":[{"html_id":"raven/Raven/Processor/Compact","kind":"class","full_name":"Raven::Processor::Compact","name":"Compact"},{"html_id":"raven/Raven/Processor/Cookies","kind":"class","full_name":"Raven::Processor::Cookies","name":"Cookies"},{"html_id":"raven/Raven/Processor/HTTPHeaders","kind":"class","full_name":"Raven::Processor::HTTPHeaders","name":"HTTPHeaders"},{"html_id":"raven/Raven/Processor/RemoveCircularReferences","kind":"class","full_name":"Raven::Processor::RemoveCircularReferences","name":"RemoveCircularReferences"},{"html_id":"raven/Raven/Processor/RemoveStacktrace","kind":"class","full_name":"Raven::Processor::RemoveStacktrace","name":"RemoveStacktrace"},{"html_id":"raven/Raven/Processor/RequestMethodData","kind":"class","full_name":"Raven::Processor::RequestMethodData","name":"RequestMethodData"},{"html_id":"raven/Raven/Processor/SanitizeData","kind":"class","full_name":"Raven::Processor::SanitizeData","name":"SanitizeData"},{"html_id":"raven/Raven/Processor/UTF8Conversion","kind":"class","full_name":"Raven::Processor::UTF8Conversion","name":"UTF8Conversion"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"constructors":[{"html_id":"new(client:Client)-class-method","name":"new","abstract":false,"args":[{"name":"client","external_name":"client","restriction":"Client"}],"args_string":"(client : Client)","args_html":"(client : Client)","location":{"filename":"src/raven/processor.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processor.cr#L6"},"def":{"name":"new","args":[{"name":"client","external_name":"client","restriction":"Client"}],"visibility":"Public","body":"_ = allocate\n_.initialize(client)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"process(data)-instance-method","name":"process","abstract":true,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processor.cr","line_number":9,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processor.cr#L9"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":""}}],"types":[{"html_id":"raven/Raven/Processor/Compact","path":"Raven/Processor/Compact.html","kind":"class","full_name":"Raven::Processor::Compact","name":"Compact","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/compact.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/compact.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"instance_methods":[{"html_id":"process(data)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processors/compact.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/compact.cr#L3"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"if (data.responds_to?(:\"empty?\")) && data.empty?\n return\nend\ncase data\nwhen Hash\n data.each do |k, v|\n data[k] = process(v)\n end\n data.compact!\n data.to_h\nwhen Array\n data.map! do |v|\n (process(v)).as(typeof(v))\n end\nelse\n data\nend\n"}}]},{"html_id":"raven/Raven/Processor/Cookies","path":"Raven/Processor/Cookies.html","kind":"class","full_name":"Raven::Processor::Cookies","name":"Cookies","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/cookies.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/cookies.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"instance_methods":[{"html_id":"process(data)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processors/cookies.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/cookies.cr#L3"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"if data.is_a?(Hash)\nelse\n return data\nend\ndata = data.to_any_json\nif req = (data[:request]?.as?(Hash)).try(&.to_any_json)\n if req[:cookies]?\n req[:cookies] = nil\n end\n if req[:headers, \"Cookie\"]?\n req[:headers, \"Cookie\"] = nil\n end\nend\ndata.to_h\n"}}]},{"html_id":"raven/Raven/Processor/HTTPHeaders","path":"Raven/Processor/HTTPHeaders.html","kind":"class","full_name":"Raven::Processor::HTTPHeaders","name":"HTTPHeaders","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/http_headers.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/http_headers.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DEFAULT_FIELDS","name":"DEFAULT_FIELDS","value":"[\"Authorization\"] of String | Regex"}],"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"constructors":[{"html_id":"new(client)-class-method","name":"new","abstract":false,"args":[{"name":"client","external_name":"client","restriction":""}],"args_string":"(client)","args_html":"(client)","location":{"filename":"src/raven/processors/http_headers.cr","line_number":17,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/http_headers.cr#L17"},"def":{"name":"new","args":[{"name":"client","external_name":"client","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(client)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"process(data)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processors/http_headers.cr","line_number":22,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/http_headers.cr#L22"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"if data.is_a?(Hash)\nelse\n return data\nend\ndata = data.to_any_json\nif headers = data[:request, :headers]?.as?(Hash)\n headers.keys.select!() do |__arg0|\n __arg0.to_s.matches?(fields_pattern)\n end.each do |key|\n headers[key] = STRING_MASK\n end\nend\ndata.to_h\n"}},{"html_id":"sanitize_http_headers:Array(String|Regex)-instance-method","name":"sanitize_http_headers","abstract":false,"location":{"filename":"src/raven/processors/http_headers.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/http_headers.cr#L5"},"def":{"name":"sanitize_http_headers","return_type":"Array(String | Regex)","visibility":"Public","body":"@sanitize_http_headers"}},{"html_id":"sanitize_http_headers=(sanitize_http_headers:Array(String|Regex))-instance-method","name":"sanitize_http_headers=","abstract":false,"args":[{"name":"sanitize_http_headers","external_name":"sanitize_http_headers","restriction":"Array(String | Regex)"}],"args_string":"(sanitize_http_headers : Array(String | Regex))","args_html":"(sanitize_http_headers : Array(String | Regex))","location":{"filename":"src/raven/processors/http_headers.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/http_headers.cr#L5"},"def":{"name":"sanitize_http_headers=","args":[{"name":"sanitize_http_headers","external_name":"sanitize_http_headers","restriction":"Array(String | Regex)"}],"visibility":"Public","body":"@sanitize_http_headers = sanitize_http_headers"}}]},{"html_id":"raven/Raven/Processor/RemoveCircularReferences","path":"Raven/Processor/RemoveCircularReferences.html","kind":"class","full_name":"Raven::Processor::RemoveCircularReferences","name":"RemoveCircularReferences","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/remove_circular_references.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/remove_circular_references.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"instance_methods":[{"html_id":"process(data,visited=[]ofUInt64)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"visited","default_value":"[] of UInt64","external_name":"visited","restriction":""}],"args_string":"(data, visited = [] of UInt64)","args_html":"(data, visited = [] of UInt64)","location":{"filename":"src/raven/processors/remove_circular_references.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/remove_circular_references.cr#L3"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""},{"name":"visited","default_value":"[] of UInt64","external_name":"visited","restriction":""}],"visibility":"Public","body":"if data.responds_to?(:object_id)\nelse\n return data\nend\nif visited.includes?(data.object_id)\n return \"(...)\"\nend\ncase data\nwhen Hash\n visited << data.object_id\n data.each do |k, v|\n begin\n data[k] = process(v, visited)\n rescue\n \"!!!\"\n end\n end\n data\nwhen Array\n visited << data.object_id\n data.map! do |v|\n (process(v, visited)).as(typeof(v))\n end\nelse\n data\nend\n"}}]},{"html_id":"raven/Raven/Processor/RemoveStacktrace","path":"Raven/Processor/RemoveStacktrace.html","kind":"class","full_name":"Raven::Processor::RemoveStacktrace","name":"RemoveStacktrace","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/remove_stacktrace.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/remove_stacktrace.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"instance_methods":[{"html_id":"process(data)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processors/remove_stacktrace.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/remove_stacktrace.cr#L3"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"if data.is_a?(Hash)\nelse\n return data\nend\ndata = data.to_any_json\n(data[:exception, :values]?.as?(Array)).try(&.each do |e|\n (e.as?(Hash)).try(&.delete(:stacktrace))\nend)\ndata.to_h\n"}}]},{"html_id":"raven/Raven/Processor/RequestMethodData","path":"Raven/Processor/RequestMethodData.html","kind":"class","full_name":"Raven::Processor::RequestMethodData","name":"RequestMethodData","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/request_method_data.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/request_method_data.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"constructors":[{"html_id":"new(client)-class-method","name":"new","abstract":false,"args":[{"name":"client","external_name":"client","restriction":""}],"args_string":"(client)","args_html":"(client)","location":{"filename":"src/raven/processors/request_method_data.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/request_method_data.cr#L5"},"def":{"name":"new","args":[{"name":"client","external_name":"client","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(client)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"process(data)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processors/request_method_data.cr","line_number":10,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/request_method_data.cr#L10"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"if data.is_a?(Hash)\nelse\n return data\nend\ndata = data.to_any_json\nif sanitize_request_method?(data[:request, :method]?)\n data[:request, :data] = nil\nend\ndata.to_h\n"}},{"html_id":"request_methods:Array(String)-instance-method","name":"request_methods","abstract":false,"location":{"filename":"src/raven/processors/request_method_data.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/request_method_data.cr#L3"},"def":{"name":"request_methods","return_type":"Array(String)","visibility":"Public","body":"@request_methods"}},{"html_id":"request_methods=(request_methods:Array(String))-instance-method","name":"request_methods=","abstract":false,"args":[{"name":"request_methods","external_name":"request_methods","restriction":"Array(String)"}],"args_string":"(request_methods : Array(String))","args_html":"(request_methods : Array(String))","location":{"filename":"src/raven/processors/request_method_data.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/request_method_data.cr#L3"},"def":{"name":"request_methods=","args":[{"name":"request_methods","external_name":"request_methods","restriction":"Array(String)"}],"visibility":"Public","body":"@request_methods = request_methods"}}]},{"html_id":"raven/Raven/Processor/SanitizeData","path":"Raven/Processor/SanitizeData.html","kind":"class","full_name":"Raven::Processor::SanitizeData","name":"SanitizeData","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/sanitize_data.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/sanitize_data.cr#L4"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"CREDIT_CARD_PATTERN","name":"CREDIT_CARD_PATTERN","value":"/\\b(?:3[47]\\d|(?:4\\d|5[1-5]|65)\\d{2}|6011)\\d{12}\\b/"},{"id":"DEFAULT_FIELDS","name":"DEFAULT_FIELDS","value":"[\"authorization\", \"password\", \"password_repeat\", \"passwd\", \"secret\", \"ssn\", /social(.*)?sec/i]"}],"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"constructors":[{"html_id":"new(client)-class-method","name":"new","abstract":false,"args":[{"name":"client","external_name":"client","restriction":""}],"args_string":"(client)","args_html":"(client)","location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":26,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/sanitize_data.cr#L26"},"def":{"name":"new","args":[{"name":"client","external_name":"client","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(client)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"process(key,value)-instance-method","name":"process","doc":"ameba:disable Metrics/CyclomaticComplexity","summary":"

ameba:disable Metrics/CyclomaticComplexity

","abstract":false,"args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":""}],"args_string":"(key, value)","args_html":"(key, value)","location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":54,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/sanitize_data.cr#L54"},"def":{"name":"process","args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":""}],"visibility":"Public","body":"case value\nwhen Hash\n process(value)\nwhen Array\n value.map do |i|\n (process(key, i)).as(AnyHash::JSONTypes::Value)\n end\nwhen String\n case\n when (value.matches?(fields_pattern)) && (json = parse_json_or_nil(value))\n (process(json)).to_json\n when matches_regexes?(key, value)\n STRING_MASK\n when (key == (:query_string)) || (key == \"query_string\")\n sanitize_query_string(value)\n else\n value\n end\nwhen Number\n matches_regexes?(key, value) ? INT_MASK : value\nelse\n value\nend"}},{"html_id":"process(data)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":33,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/sanitize_data.cr#L33"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"case data\nwhen Hash(String, JSON::Any)\n data = data.each_with_object(AnyHash::JSON.new) do |__temp_64, memo|\n k, v = __temp_64\n case v = v.raw\n when AnyHash::JSONTypes::Value\n memo[k] = process(k, v)\n end\n end\n data.to_h\nwhen Hash\n data = data.each_with_object(data.to_any_json) do |__temp_65, memo|\n k, v = __temp_65\n memo[k] = process(k, v)\n end\n data.to_h\nelse\n data\nend"}},{"html_id":"sanitize_credit_cards=(sanitize_credit_cards:Bool)-instance-method","name":"sanitize_credit_cards=","abstract":false,"args":[{"name":"sanitize_credit_cards","external_name":"sanitize_credit_cards","restriction":"Bool"}],"args_string":"(sanitize_credit_cards : Bool)","args_html":"(sanitize_credit_cards : Bool)","location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":13,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/sanitize_data.cr#L13"},"def":{"name":"sanitize_credit_cards=","args":[{"name":"sanitize_credit_cards","external_name":"sanitize_credit_cards","restriction":"Bool"}],"visibility":"Public","body":"@sanitize_credit_cards = sanitize_credit_cards"}},{"html_id":"sanitize_credit_cards?:Bool-instance-method","name":"sanitize_credit_cards?","abstract":false,"location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":13,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/sanitize_data.cr#L13"},"def":{"name":"sanitize_credit_cards?","return_type":"Bool","visibility":"Public","body":"@sanitize_credit_cards"}},{"html_id":"sanitize_fields:Array(String|Regex)-instance-method","name":"sanitize_fields","abstract":false,"location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/sanitize_data.cr#L11"},"def":{"name":"sanitize_fields","return_type":"Array(String | Regex)","visibility":"Public","body":"@sanitize_fields"}},{"html_id":"sanitize_fields=(sanitize_fields:Array(String|Regex))-instance-method","name":"sanitize_fields=","abstract":false,"args":[{"name":"sanitize_fields","external_name":"sanitize_fields","restriction":"Array(String | Regex)"}],"args_string":"(sanitize_fields : Array(String | Regex))","args_html":"(sanitize_fields : Array(String | Regex))","location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/sanitize_data.cr#L11"},"def":{"name":"sanitize_fields=","args":[{"name":"sanitize_fields","external_name":"sanitize_fields","restriction":"Array(String | Regex)"}],"visibility":"Public","body":"@sanitize_fields = sanitize_fields"}},{"html_id":"sanitize_fields_excluded:Array(String|Regex)-instance-method","name":"sanitize_fields_excluded","abstract":false,"location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":12,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/sanitize_data.cr#L12"},"def":{"name":"sanitize_fields_excluded","return_type":"Array(String | Regex)","visibility":"Public","body":"@sanitize_fields_excluded"}},{"html_id":"sanitize_fields_excluded=(sanitize_fields_excluded:Array(String|Regex))-instance-method","name":"sanitize_fields_excluded=","abstract":false,"args":[{"name":"sanitize_fields_excluded","external_name":"sanitize_fields_excluded","restriction":"Array(String | Regex)"}],"args_string":"(sanitize_fields_excluded : Array(String | Regex))","args_html":"(sanitize_fields_excluded : Array(String | Regex))","location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":12,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/sanitize_data.cr#L12"},"def":{"name":"sanitize_fields_excluded=","args":[{"name":"sanitize_fields_excluded","external_name":"sanitize_fields_excluded","restriction":"Array(String | Regex)"}],"visibility":"Public","body":"@sanitize_fields_excluded = sanitize_fields_excluded"}}]},{"html_id":"raven/Raven/Processor/UTF8Conversion","path":"Raven/Processor/UTF8Conversion.html","kind":"class","full_name":"Raven::Processor::UTF8Conversion","name":"UTF8Conversion","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/utf8_conversion.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/utf8_conversion.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"instance_methods":[{"html_id":"process(data)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processors/utf8_conversion.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/utf8_conversion.cr#L3"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"case data\nwhen Hash\n data.each do |k, v|\n data[k] = process(v)\n end\n data.to_h\nwhen Array\n data.map! do |v|\n (process(v)).as(typeof(v))\n end\nwhen Exception\n if message = data.message\n else\n return data\n end\n if message.valid_encoding?\n return data\n end\n (data.class.new(clean_invalid_utf8_bytes(message), data.cause)).tap(&.callstack = data.callstack)\nwhen String\n if data.valid_encoding?\n return data\n end\n clean_invalid_utf8_bytes(data)\nelse\n data\nend"}}]}]},{"html_id":"raven/Raven/Transport","path":"Raven/Transport.html","kind":"class","full_name":"Raven::Transport","name":"Transport","abstract":true,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/transport.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transport.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"raven/Raven/Transport/Dummy","kind":"class","full_name":"Raven::Transport::Dummy","name":"Dummy"},{"html_id":"raven/Raven/Transport/HTTP","kind":"class","full_name":"Raven::Transport::HTTP","name":"HTTP"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"constructors":[{"html_id":"new(configuration:Raven::Configuration)-class-method","name":"new","abstract":false,"args":[{"name":"configuration","external_name":"configuration","restriction":"::Raven::Configuration"}],"args_string":"(configuration : Raven::Configuration)","args_html":"(configuration : Raven::Configuration)","location":{"filename":"src/raven/transport.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transport.cr#L5"},"def":{"name":"new","args":[{"name":"configuration","external_name":"configuration","restriction":"::Raven::Configuration"}],"visibility":"Public","body":"_ = allocate\n_.initialize(configuration)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"configuration:Configuration-instance-method","name":"configuration","abstract":false,"location":{"filename":"src/raven/transport.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transport.cr#L3"},"def":{"name":"configuration","return_type":"Configuration","visibility":"Public","body":"@configuration"}},{"html_id":"configuration=(configuration:Configuration)-instance-method","name":"configuration=","abstract":false,"args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"args_string":"(configuration : Configuration)","args_html":"(configuration : Configuration)","location":{"filename":"src/raven/transport.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transport.cr#L3"},"def":{"name":"configuration=","args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"visibility":"Public","body":"@configuration = configuration"}},{"html_id":"send_event(auth_header,data,**options)-instance-method","name":"send_event","abstract":true,"args":[{"name":"auth_header","external_name":"auth_header","restriction":""},{"name":"data","external_name":"data","restriction":""}],"args_string":"(auth_header, data, **options)","args_html":"(auth_header, data, **options)","location":{"filename":"src/raven/transport.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transport.cr#L8"},"def":{"name":"send_event","args":[{"name":"auth_header","external_name":"auth_header","restriction":""},{"name":"data","external_name":"data","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":""}},{"html_id":"send_feedback(event_id,data)-instance-method","name":"send_feedback","abstract":true,"args":[{"name":"event_id","external_name":"event_id","restriction":""},{"name":"data","external_name":"data","restriction":""}],"args_string":"(event_id, data)","args_html":"(event_id, data)","location":{"filename":"src/raven/transport.cr","line_number":9,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transport.cr#L9"},"def":{"name":"send_feedback","args":[{"name":"event_id","external_name":"event_id","restriction":""},{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":""}}],"types":[{"html_id":"raven/Raven/Transport/Dummy","path":"Raven/Transport/Dummy.html","kind":"class","full_name":"Raven::Transport::Dummy","name":"Dummy","abstract":false,"superclass":{"html_id":"raven/Raven/Transport","kind":"class","full_name":"Raven::Transport","name":"Transport"},"ancestors":[{"html_id":"raven/Raven/Transport","kind":"class","full_name":"Raven::Transport","name":"Transport"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/transports/dummy.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/dummy.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Transport","kind":"class","full_name":"Raven::Transport","name":"Transport"},"instance_methods":[{"html_id":"events:Array(AnyHash::JSON)-instance-method","name":"events","abstract":false,"location":{"filename":"src/raven/transports/dummy.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/dummy.cr#L3"},"def":{"name":"events","visibility":"Public","body":"@events"}},{"html_id":"events=(events:Array(AnyHash::JSON))-instance-method","name":"events=","abstract":false,"args":[{"name":"events","external_name":"events","restriction":"::Array(::AnyHash::JSON)"}],"args_string":"(events : Array(AnyHash::JSON))","args_html":"(events : Array(AnyHash::JSON))","location":{"filename":"src/raven/transports/dummy.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/dummy.cr#L3"},"def":{"name":"events=","args":[{"name":"events","external_name":"events","restriction":"::Array(::AnyHash::JSON)"}],"visibility":"Public","body":"@events = events"}},{"html_id":"feedback:Array(AnyHash::JSON)-instance-method","name":"feedback","abstract":false,"location":{"filename":"src/raven/transports/dummy.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/dummy.cr#L4"},"def":{"name":"feedback","visibility":"Public","body":"@feedback"}},{"html_id":"feedback=(feedback:Array(AnyHash::JSON))-instance-method","name":"feedback=","abstract":false,"args":[{"name":"feedback","external_name":"feedback","restriction":"::Array(::AnyHash::JSON)"}],"args_string":"(feedback : Array(AnyHash::JSON))","args_html":"(feedback : Array(AnyHash::JSON))","location":{"filename":"src/raven/transports/dummy.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/dummy.cr#L4"},"def":{"name":"feedback=","args":[{"name":"feedback","external_name":"feedback","restriction":"::Array(::AnyHash::JSON)"}],"visibility":"Public","body":"@feedback = feedback"}},{"html_id":"send_event(auth_header,data,**options)-instance-method","name":"send_event","abstract":false,"args":[{"name":"auth_header","external_name":"auth_header","restriction":""},{"name":"data","external_name":"data","restriction":""}],"args_string":"(auth_header, data, **options)","args_html":"(auth_header, data, **options)","location":{"filename":"src/raven/transports/dummy.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/dummy.cr#L6"},"def":{"name":"send_event","args":[{"name":"auth_header","external_name":"auth_header","restriction":""},{"name":"data","external_name":"data","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"events << {auth_header: auth_header, data: data.to_s, options: options}.to_any_json"}},{"html_id":"send_feedback(event_id,data)-instance-method","name":"send_feedback","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":""},{"name":"data","external_name":"data","restriction":""}],"args_string":"(event_id, data)","args_html":"(event_id, data)","location":{"filename":"src/raven/transports/dummy.cr","line_number":14,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/dummy.cr#L14"},"def":{"name":"send_feedback","args":[{"name":"event_id","external_name":"event_id","restriction":""},{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"feedback << {event_id: event_id, data: data}.to_any_json"}}]},{"html_id":"raven/Raven/Transport/HTTP","path":"Raven/Transport/HTTP.html","kind":"class","full_name":"Raven::Transport::HTTP","name":"HTTP","abstract":false,"superclass":{"html_id":"raven/Raven/Transport","kind":"class","full_name":"Raven::Transport","name":"Transport"},"ancestors":[{"html_id":"raven/Raven/Transport","kind":"class","full_name":"Raven::Transport","name":"Transport"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/transports/http.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/http.cr#L4"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Transport","kind":"class","full_name":"Raven::Transport","name":"Transport"},"instance_methods":[{"html_id":"send_event(auth_header,data,**options)-instance-method","name":"send_event","abstract":false,"args":[{"name":"auth_header","external_name":"auth_header","restriction":""},{"name":"data","external_name":"data","restriction":""}],"args_string":"(auth_header, data, **options)","args_html":"(auth_header, data, **options)","location":{"filename":"src/raven/transports/http.cr","line_number":54,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/http.cr#L54"},"def":{"name":"send_event","args":[{"name":"auth_header","external_name":"auth_header","restriction":""},{"name":"data","external_name":"data","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"if ex = configuration.capture_allowed!\n Log.debug do\n \"Event not sent: #{ex.error_messages}\"\n end\n return false\nend\nproject_id = configuration.project_id\npath = configuration.path.try(&.chomp('/'))\nheaders = ::HTTP::Headers {\"X-Sentry-Auth\" => auth_header, \"Content-Type\" => options[:content_type]}\nif configuration.encoding.gzip?\n headers[\"Content-Encoding\"] = \"gzip\"\nend\nLog.debug do\n \"HTTP Transport connecting to #{configuration.dsn}\"\nend\nclient = build_client\n(client.post(\"#{path}/api/#{project_id}/store/\", headers, data)).tap do |response|\n if response.success?\n else\n raise(Error.new(response))\n end\nend\n"}},{"html_id":"send_feedback(event_id,data)-instance-method","name":"send_feedback","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":""},{"name":"data","external_name":"data","restriction":""}],"args_string":"(event_id, data)","args_html":"(event_id, data)","location":{"filename":"src/raven/transports/http.cr","line_number":31,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/http.cr#L31"},"def":{"name":"send_feedback","args":[{"name":"event_id","external_name":"event_id","restriction":""},{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"headers = ::HTTP::Headers.new\nif origin = configuration.dsn\n headers[\"Origin\"] = origin\nend\nparams = ::HTTP::Params.build do |form|\n form.add(\"eventId\", event_id)\n form.add(\"dsn\", configuration.dsn)\nend\npath = String.build do |str|\n str << configuration.path.try(&.chomp('/'))\n str << \"/api/embed/error-page/?\"\n str << params\nend\nLog.debug do\n \"HTTP Transport connecting to #{path}\"\nend\nclient = build_client\n(client.post(path, form: data, headers: headers)).tap do |response|\n if response.success?\n else\n raise(Error.new(response))\n end\nend\n"}}],"types":[{"html_id":"raven/Raven/Transport/HTTP/Error","path":"Raven/Transport/HTTP/Error.html","kind":"class","full_name":"Raven::Transport::HTTP::Error","name":"Error","abstract":false,"superclass":{"html_id":"raven/Raven/Error","kind":"class","full_name":"Raven::Error","name":"Error"},"ancestors":[{"html_id":"raven/Raven/Error","kind":"class","full_name":"Raven::Error","name":"Error"},{"html_id":"raven/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/transports/http.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/http.cr#L5"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Transport/HTTP","kind":"class","full_name":"Raven::Transport::HTTP","name":"HTTP"},"constructors":[{"html_id":"new(response:::HTTP::Client::Response)-class-method","name":"new","abstract":false,"args":[{"name":"response","external_name":"response","restriction":"::HTTP::Client::Response"}],"args_string":"(response : ::HTTP::Client::Response)","args_html":"(response : ::HTTP::Client::Response)","location":{"filename":"src/raven/transports/http.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/http.cr#L8"},"def":{"name":"new","args":[{"name":"response","external_name":"response","restriction":"::HTTP::Client::Response"}],"visibility":"Public","body":"_ = allocate\n_.initialize(response)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"response:::HTTP::Client::Response-instance-method","name":"response","abstract":false,"location":{"filename":"src/raven/transports/http.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/http.cr#L6"},"def":{"name":"response","return_type":"::HTTP::Client::Response","visibility":"Public","body":"@response"}},{"html_id":"response=(response:::HTTP::Client::Response)-instance-method","name":"response=","abstract":false,"args":[{"name":"response","external_name":"response","restriction":"::HTTP::Client::Response"}],"args_string":"(response : ::HTTP::Client::Response)","args_html":"(response : ::HTTP::Client::Response)","location":{"filename":"src/raven/transports/http.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/http.cr#L6"},"def":{"name":"response=","args":[{"name":"response","external_name":"response","restriction":"::HTTP::Client::Response"}],"visibility":"Public","body":"@response = response"}}]}]}]}]}]}} \ No newline at end of file +{"repository_name":"raven","body":"

\n \"Bug\n

\n\n

\n raven.cr • the Crystal client for Sentry\n

\n\n

\n \"Build\n \"Codacy\n \"Releases\"\n \"License\"\n

\n\nAn unofficial Crystal-language client and integration layer for the [Sentry](https://github.com/getsentry/sentry) error reporting API.\n\nBased on fine [raven-ruby](https://github.com/getsentry/raven-ruby) gem\nfrom folks at [@getsentry](https://github.com/getsentry).\n\n### Blog posts\n\n- [Crystal error tracking with Sentry](https://sija.pl/en/notes/crystal-error-tracking-with-sentry)\n- [Sentry error tracking for Kemal](https://sija.pl/en/notes/sentry-error-tracking-for-kemal)\n\n## Features\n\n- [x] Processors (data scrubbers)\n- [x] Interfaces (Message, Exception, Stacktrace, User, HTTP, ...)\n- [x] Contexts (user, tags, extra, os, runtime)\n- [x] Breadcrumbs\n- [x] Integrations ([Kemal](https://github.com/kemalcr/kemal), [Amber](https://github.com/amberframework/amber), [Lucky](https://github.com/luckyframework/lucky), [Sidekiq.cr](https://github.com/mperham/sidekiq.cr), [action-controller](https://github.com/spider-gazelle/action-controller))\n- [x] Async support\n- [x] User Feedback\n- [x] Source code context for stack traces\n- [x] Dedicated [`Log`](https://crystal-lang.org/api/Log.html) backend\n- [x] Crash Handler\n\n## Installation\n\nAdd this to your application's `shard.yml`:\n\n```yaml\ndependencies:\n raven:\n github: Sija/raven.cr\n```\n\n## Usage\n\n```crystal\nrequire \"raven\"\n```\n\n### Raven only runs when SENTRY_DSN is set\n\nRaven will capture and send exceptions to the Sentry server whenever its DSN is set.\nThis makes environment-based configuration easy - if you don't want to send\nerrors in a certain environment, just don't set the DSN in that environment!\n\n```sh\n# Set your SENTRY_DSN environment variable.\nexport SENTRY_DSN=https://public@example.com/project-id\n```\n\n```crystal\n# Or you can configure the client in the code (not recommended - keep your DSN secret!)\nRaven.configure do |config|\n config.dsn = \"https://public@example.com/project-id\"\nend\n```\n\n### Raven doesn't report some kinds of data by default\n\nIf used with integrations, Raven ignores some exceptions by default - most of\nthese are related to 404s or controller actions not being found.\n\nRaven doesn't report `POST`, `PUT`, `PATCH` data or cookies by default.\nIn addition, it will attempt to remove any obviously sensitive data,\nsuch as credit card or Social Security numbers.\nFor more information about how Sentry processes your data, [check out the documentation on the `processors` config setting.](https://docs.sentry.io/clients/ruby/config/)\n\n### Call\n\nRaven supports two methods of capturing exceptions:\n\n```crystal\nRaven.capture do\n # capture any exceptions which happen during execution of this block\n 1 // 0\nend\n\nbegin\n 1 // 0\nrescue ex : DivisionByZeroError\n Raven.capture(ex)\nend\n```\n\n### More configuration\n\nYou're all set - but there are a few more settings you may want to know about too!\n\n#### DSN\n\nWhile we advise that you set your Sentry DSN through the `SENTRY_DSN` environment\nvariable, there are two other configuration settings for controlling Raven:\n\n```crystal\n# DSN can be configured as a config setting instead.\n# Place in config/initializers or similar.\nRaven.configure do |config|\n config.dsn = \"your_dsn\"\nend\n```\n\nAnd, while not necessary if using `SENTRY_DSN`, you can also provide an\n`environments` setting. Raven will only capture events when\n`SENTRY_ENVIRONMENT` matches an environment on the list.\n\n```crystal\nRaven.configure do |config|\n config.environments = %w(staging production)\nend\n```\n\n#### async\n\nWhen an error or message occurs, the notification is immediately sent to Sentry.\nRaven can be configured to send asynchronously:\n\n```crystal\n# define your own handler\nconfig.async = ->(event : Raven::Event) {\n spawn { Raven.send_event(event) }\n}\n# or use default implementation based on fibers (i.e. the one above)\nconfig.async = true\n```\n\nIf the `async` callback raises an exception, Raven will attempt to send synchronously.\n\nWe recommend creating a background job, using your background job processor,\nthat will send Sentry notifications in the background.\nRather than enqueuing an entire `Raven::Event` object, we recommend providing\nthe `Hash` representation of an event as a job argument.\n\nHere’s an example for *Sidekiq.cr*:\n\n```crystal\nconfig.async = ->(event : Raven::Event) {\n # enqueue the job with a hash...\n SentryJob.async.perform(event.to_hash)\n # or with JSON string\n # SentryJob.async.perform(event.to_json)\n}\n\nclass SentryJob\n include Sidekiq::Worker\n\n sidekiq_options do |job|\n job.queue = \"sentry\"\n job.retry = true\n end\n\n def perform(event : Raven::Event::HashType)\n Raven.send_event(event)\n end\nend\n```\n\n#### transport_failure_callback\n\nIf Raven fails to send an event to Sentry for any reason\n(either the Sentry server has returned a 4XX or 5XX response),\nthis `Proc` will be called.\n\n```crystal\nconfig.transport_failure_callback = ->(event : Raven::Event::HashType) {\n AdminMailer.async.perform(\"Oh god, it's on fire!\", event)\n}\n```\n\n#### Context\n\nMuch of the usefulness of Sentry comes from additional context data with the events.\nRaven makes this very convenient by providing methods to set context data that\nis then submitted automatically with all events.\n\nThere are three primary methods for providing request context:\n\n```crystal\n# bind the logged in user\nRaven.user_context email: \"foo@example.com\"\n\n# tag the request with something interesting\nRaven.tags_context interesting: \"yes\"\n\n# provide a bit of additional context\nRaven.extra_context happiness: \"very\"\n```\n\nFor more information, see [Context](https://docs.sentry.io/clients/ruby/context/).\n\n## `Log` backend\n\n`Raven::LogBackend` allows for intercepting log entries, and takes following options:\n\n- `record_breadcrumbs` - records every log entry as Breadcrumbs\n- `capture_exceptions` - captures exceptions attached to the log entry\n- `capture_all` - captures every log entry\n\nEvery captured `Exception` or a `Breadcrumb` will have corresponding fields mapped\ndirectly from the original `Log::Entry`.\n\nMetadata will be passed as `Event#tags` and `Breadcrumb#data`, respectively.\n\n### Usage\n\n```crystal\n# append it to the existing bindings\nLog.builder.bind \"*\", :info, Raven::LogBackend.new(\n record_breadcrumbs: true,\n capture_exceptions: false,\n capture_all: false,\n)\n\n# or bind it within the `Log.setup` block\nLog.setup do |c|\n # bind the regular io-based backend\n c.bind \"*\", :info, Log::IOBackend.new\n\n # bind raven's backend\n c.bind \"*\", :info, Raven::LogBackend.new(record_breadcrumbs: true)\n c.bind \"*\", :warn, Raven::LogBackend.new(capture_exceptions: true)\n c.bind \"*\", :fatal, Raven::LogBackend.new(capture_all: true)\nend\n```\n\nSee more in Crystal's `Log` [documentation](https://crystal-lang.org/api/Log.html#configure-logging-explicitly-in-the-code).\n\n## Crash Handler\n\nSince Crystal doesn't provide native handlers for unhandled exceptions\nand segfaults, *raven.cr* introduces its own crash handler compiled as\nexternal binary.\n\n### Setup\n\nThe easiest way of using it is by adding the appropriate entry to the project's `shard.yml`:\n\n```yaml\ntargets:\n # other target definitions if any...\n\n sentry.crash_handler:\n main: lib/raven/src/crash_handler.cr\n```\n\nWith the above entry defined in `targets`, running `shards build` should result in\nbinary built in `bin/sentry.crash_handler`.\n\n__NOTE__: While building you might specify `SENTRY_DSN` env variable, which will be\ncompiled into the binary (as plain-text) and used by the handler.\n\n```sh\nSENTRY_DSN= shards build sentry.crash_handler\n```\n\nPass `--release` flag to disable debug messages.\n\n### Usage\n\nYou need to run your app with previously built `bin/sentry.crash_handler` in\nfront.\n\n```sh\nbin/sentry.crash_handler bin/your_app --some arguments --passed to your program\n```\n\nAs one would expect, `STDIN` is passed to the original process, while\n`STDOUT` and `STDERR` are piped back from it.\n\n__NOTE__: You can always pass `SENTRY_DSN` env variable during execution\nin case you didn't do it while building the wrapper.\n\n## More Information\n\n- [Documentation](https://docs.sentry.io/clients/ruby)\n- [Bug Tracker](https://github.com/Sija/raven.cr/issues)\n- [Code Repository](https://github.com/Sija/raven.cr)\n\n## Contributing\n\n1. [Fork it](https://github.com/Sija/raven.cr/fork)\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create a new [Pull Request](https://github.com/Sija/raven.cr/pulls)\n\n## Contributors\n\n- [@Sija](https://github.com/Sija) Sijawusz Pur Rahnama - creator, maintainer\n","program":{"html_id":"raven/toplevel","path":"toplevel.html","kind":"module","full_name":"Top Level Namespace","name":"Top Level Namespace","abstract":false,"locations":[],"repository_name":"raven","program":true,"enum":false,"alias":false,"const":false,"types":[{"html_id":"raven/Exception","path":"Exception.html","kind":"class","full_name":"Exception","name":"Exception","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/ext/exception.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/ext/exception.cr#L4"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"raven/Raven/Configuration/ValidationError","kind":"class","full_name":"Raven::Configuration::ValidationError","name":"ValidationError"},{"html_id":"raven/Raven/Error","kind":"class","full_name":"Raven::Error","name":"Error"}],"doc":"Represents errors that occur during application execution.\n\nException and its descendants are used to communicate between raise and\nrescue statements in `begin ... end` blocks.\nException objects carry information about the exception – its type (the\nexception’s class name), an optional descriptive string, and\noptional traceback information.\nException subclasses may add additional information.","summary":"

Represents errors that occur during application execution.

","instance_methods":[{"html_id":"__raven_event_id:String|Nil-instance-method","name":"__raven_event_id","abstract":false,"location":{"filename":"src/raven/ext/exception.cr","line_number":7,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/ext/exception.cr#L7"},"def":{"name":"__raven_event_id","return_type":"String | ::Nil","visibility":"Public","body":"@__raven_event_id"}},{"html_id":"__raven_event_id=(__raven_event_id:String|Nil)-instance-method","name":"__raven_event_id=","abstract":false,"args":[{"name":"__raven_event_id","external_name":"__raven_event_id","restriction":"String | ::Nil"}],"args_string":"(__raven_event_id : String | Nil)","args_html":"(__raven_event_id : String | Nil)","location":{"filename":"src/raven/ext/exception.cr","line_number":7,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/ext/exception.cr#L7"},"def":{"name":"__raven_event_id=","args":[{"name":"__raven_event_id","external_name":"__raven_event_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@__raven_event_id = __raven_event_id"}},{"html_id":"__raven_extra:AnyHash::JSON-instance-method","name":"__raven_extra","abstract":false,"def":{"name":"__raven_extra","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @__raven_extra).nil?\n @__raven_extra = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"__raven_extra=(__raven_extra:AnyHash::JSON)-instance-method","name":"__raven_extra=","abstract":false,"args":[{"name":"__raven_extra","external_name":"__raven_extra","restriction":"AnyHash::JSON"}],"args_string":"(__raven_extra : AnyHash::JSON)","args_html":"(__raven_extra : AnyHash::JSON)","def":{"name":"__raven_extra=","args":[{"name":"__raven_extra","external_name":"__raven_extra","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@__raven_extra = __raven_extra"}},{"html_id":"__raven_extra=(hash:Hash|NamedTuple|Nil)-instance-method","name":"__raven_extra=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","def":{"name":"__raven_extra=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"__raven_extra.replace(hash)"}},{"html_id":"__raven_tags:AnyHash::JSON-instance-method","name":"__raven_tags","abstract":false,"def":{"name":"__raven_tags","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @__raven_tags).nil?\n @__raven_tags = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"__raven_tags=(__raven_tags:AnyHash::JSON)-instance-method","name":"__raven_tags=","abstract":false,"args":[{"name":"__raven_tags","external_name":"__raven_tags","restriction":"AnyHash::JSON"}],"args_string":"(__raven_tags : AnyHash::JSON)","args_html":"(__raven_tags : AnyHash::JSON)","def":{"name":"__raven_tags=","args":[{"name":"__raven_tags","external_name":"__raven_tags","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@__raven_tags = __raven_tags"}},{"html_id":"__raven_tags=(hash:Hash|NamedTuple|Nil)-instance-method","name":"__raven_tags=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","def":{"name":"__raven_tags=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"__raven_tags.replace(hash)"}},{"html_id":"__raven_user:AnyHash::JSON-instance-method","name":"__raven_user","abstract":false,"def":{"name":"__raven_user","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @__raven_user).nil?\n @__raven_user = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"__raven_user=(__raven_user:AnyHash::JSON)-instance-method","name":"__raven_user=","abstract":false,"args":[{"name":"__raven_user","external_name":"__raven_user","restriction":"AnyHash::JSON"}],"args_string":"(__raven_user : AnyHash::JSON)","args_html":"(__raven_user : AnyHash::JSON)","def":{"name":"__raven_user=","args":[{"name":"__raven_user","external_name":"__raven_user","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@__raven_user = __raven_user"}},{"html_id":"__raven_user=(hash:Hash|NamedTuple|Nil)-instance-method","name":"__raven_user=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","def":{"name":"__raven_user=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"__raven_user.replace(hash)"}}]},{"html_id":"raven/Raven","path":"Raven.html","kind":"module","full_name":"Raven","name":"Raven","abstract":false,"locations":[{"filename":"src/raven.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L8"},{"filename":"src/raven.cr","line_number":19,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L19"},{"filename":"src/raven/breadcrumb.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L1"},{"filename":"src/raven/breadcrumb_buffer.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L1"},{"filename":"src/raven/client.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client.cr#L5"},{"filename":"src/raven/client_state.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client_state.cr#L1"},{"filename":"src/raven/configuration.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L4"},{"filename":"src/raven/context.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/context.cr#L1"},{"filename":"src/raven/error.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/error.cr#L1"},{"filename":"src/raven/event.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L3"},{"filename":"src/raven/instance.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L1"},{"filename":"src/raven/interface.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interface.cr#L1"},{"filename":"src/raven/interfaces/exception.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/exception.cr#L1"},{"filename":"src/raven/interfaces/http.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/http.cr#L1"},{"filename":"src/raven/interfaces/message.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/message.cr#L1"},{"filename":"src/raven/interfaces/single_exception.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/single_exception.cr#L1"},{"filename":"src/raven/interfaces/stacktrace.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L1"},{"filename":"src/raven/log.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log.cr#L3"},{"filename":"src/raven/log_backend.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log_backend.cr#L4"},{"filename":"src/raven/mixins/initialize_with.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/mixins/initialize_with.cr#L1"},{"filename":"src/raven/processor.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processor.cr#L1"},{"filename":"src/raven/processors/compact.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/compact.cr#L1"},{"filename":"src/raven/processors/cookies.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/cookies.cr#L1"},{"filename":"src/raven/processors/http_headers.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/http_headers.cr#L1"},{"filename":"src/raven/processors/remove_circular_references.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/remove_circular_references.cr#L1"},{"filename":"src/raven/processors/remove_stacktrace.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/remove_stacktrace.cr#L1"},{"filename":"src/raven/processors/request_method_data.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/request_method_data.cr#L1"},{"filename":"src/raven/processors/sanitize_data.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/sanitize_data.cr#L3"},{"filename":"src/raven/processors/utf8_conversion.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/utf8_conversion.cr#L1"},{"filename":"src/raven/transport.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transport.cr#L1"},{"filename":"src/raven/transports/dummy.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/dummy.cr#L1"},{"filename":"src/raven/transports/http.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/http.cr#L3"},{"filename":"src/raven/version.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/version.cr#L1"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Log","name":"Log","value":"::Log.for(self)"},{"id":"VERSION","name":"VERSION","value":"{{ (`shards version \\\"/home/runner/work/raven.cr/raven.cr/src/raven\\\"`).chomp.stringify }}"}],"extended_modules":[{"html_id":"raven/Raven/Delegators","kind":"module","full_name":"Raven::Delegators","name":"Delegators"}],"class_methods":[{"html_id":"instance:Raven::Instance-class-method","name":"instance","abstract":false,"location":{"filename":"src/raven.cr","line_number":22,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L22"},"def":{"name":"instance","return_type":"Raven::Instance","visibility":"Public","body":"if (value = @@instance).nil?\n @@instance = (Raven::Instance.new)\nelse\n value\nend"}},{"html_id":"sys_command(command)-class-method","name":"sys_command","abstract":false,"args":[{"name":"command","external_name":"command","restriction":""}],"args_string":"(command)","args_html":"(command)","location":{"filename":"src/raven.cr","line_number":29,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L29"},"def":{"name":"sys_command","args":[{"name":"command","external_name":"command","restriction":""}],"visibility":"Public","body":"result = begin\n (`(#{command}) 2>/dev/null`).strip\nrescue\n nil\nend\nif $?.success?\n result.presence\nend\n"}}],"macros":[{"html_id":"sys_command_compiled(command)-macro","name":"sys_command_compiled","abstract":false,"args":[{"name":"command","external_name":"command","restriction":""}],"args_string":"(command)","args_html":"(command)","location":{"filename":"src/raven.cr","line_number":24,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L24"},"def":{"name":"sys_command_compiled","args":[{"name":"command","external_name":"command","restriction":""}],"visibility":"Public","body":" \n%result\n = \n{{ (`(#{command.id} || true) 2>/dev/null`).stringify.strip }}\n\n \n%result\n.presence\n \n"}}],"types":[{"html_id":"raven/Raven/Breadcrumb","path":"Raven/Breadcrumb.html","kind":"class","full_name":"Raven::Breadcrumb","name":"Breadcrumb","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/breadcrumb.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"constructors":[{"html_id":"new(**options)-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":63,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L63"},"def":{"name":"new","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**options)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"category:String|Nil-instance-method","name":"category","doc":"Categories are dotted strings that indicate what the crumb is or where it comes from.\nTypically it’s a module name or a descriptive string.\nFor instance `ui.click` could be used to indicate that a click happened\nin the UI or `flask` could be used to indicate that the event originated\nin the Flask framework.","summary":"

Categories are dotted strings that indicate what the crumb is or where it comes from.

","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":47,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L47"},"def":{"name":"category","return_type":"String | ::Nil","visibility":"Public","body":"@category"}},{"html_id":"category=(category:String|Nil)-instance-method","name":"category=","doc":"Categories are dotted strings that indicate what the crumb is or where it comes from.\nTypically it’s a module name or a descriptive string.\nFor instance `ui.click` could be used to indicate that a click happened\nin the UI or `flask` could be used to indicate that the event originated\nin the Flask framework.","summary":"

Categories are dotted strings that indicate what the crumb is or where it comes from.

","abstract":false,"args":[{"name":"category","external_name":"category","restriction":"String | ::Nil"}],"args_string":"(category : String | Nil)","args_html":"(category : String | Nil)","location":{"filename":"src/raven/breadcrumb.cr","line_number":47,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L47"},"def":{"name":"category=","args":[{"name":"category","external_name":"category","restriction":"String | ::Nil"}],"visibility":"Public","body":"@category = category"}},{"html_id":"data:AnyHash::JSON-instance-method","name":"data","doc":"Data associated with this breadcrumb. Contains a sub-object whose\ncontents depend on the breadcrumb `type`. Additional parameters that\nare unsupported by the type are rendered as a key/value table.","summary":"

Data associated with this breadcrumb.

","abstract":false,"def":{"name":"data","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @data).nil?\n @data = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"data=(data:AnyHash::JSON)-instance-method","name":"data=","doc":"Data associated with this breadcrumb. Contains a sub-object whose\ncontents depend on the breadcrumb `type`. Additional parameters that\nare unsupported by the type are rendered as a key/value table.","summary":"

Data associated with this breadcrumb.

","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"AnyHash::JSON"}],"args_string":"(data : AnyHash::JSON)","args_html":"(data : AnyHash::JSON)","def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@data = data"}},{"html_id":"data=(hash:Hash|NamedTuple|Nil)-instance-method","name":"data=","doc":"Data associated with this breadcrumb. Contains a sub-object whose\ncontents depend on the breadcrumb `type`. Additional parameters that\nare unsupported by the type are rendered as a key/value table.","summary":"

Data associated with this breadcrumb.

","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/breadcrumb.cr","line_number":61,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L61"},"def":{"name":"data=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"data.replace(hash)"}},{"html_id":"level:Severity|Nil-instance-method","name":"level","doc":"This defines the level of the event. If not provided it defaults\nto `info` which is the middle level.","summary":"

This defines the level of the event.

","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":51,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L51"},"def":{"name":"level","return_type":"Severity | ::Nil","visibility":"Public","body":"@level"}},{"html_id":"level=(level:Severity|Nil)-instance-method","name":"level=","doc":"This defines the level of the event. If not provided it defaults\nto `info` which is the middle level.","summary":"

This defines the level of the event.

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Severity | ::Nil"}],"args_string":"(level : Severity | Nil)","args_html":"(level : Severity | Nil)","location":{"filename":"src/raven/breadcrumb.cr","line_number":51,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L51"},"def":{"name":"level=","args":[{"name":"level","external_name":"level","restriction":"Severity | ::Nil"}],"visibility":"Public","body":"@level = level"}},{"html_id":"level=(severity:Symbol)-instance-method","name":"level=","doc":"This defines the level of the event. If not provided it defaults\nto `info` which is the middle level.","summary":"

This defines the level of the event.

","abstract":false,"args":[{"name":"severity","external_name":"severity","restriction":"Symbol"}],"args_string":"(severity : Symbol)","args_html":"(severity : Symbol)","location":{"filename":"src/raven/breadcrumb.cr","line_number":54,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L54"},"def":{"name":"level=","args":[{"name":"severity","external_name":"severity","restriction":"Symbol"}],"visibility":"Public","body":"@level = Severity.parse(severity.to_s)"}},{"html_id":"message:String|Nil-instance-method","name":"message","doc":"If a message is provided it’s rendered as text and the whitespace is preserved.\nVery long text might be abbreviated in the UI.","summary":"

If a message is provided it’s rendered as text and the whitespace is preserved.

","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":40,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L40"},"def":{"name":"message","return_type":"String | ::Nil","visibility":"Public","body":"@message"}},{"html_id":"message=(message:String|Nil)-instance-method","name":"message=","doc":"If a message is provided it’s rendered as text and the whitespace is preserved.\nVery long text might be abbreviated in the UI.","summary":"

If a message is provided it’s rendered as text and the whitespace is preserved.

","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"String | ::Nil"}],"args_string":"(message : String | Nil)","args_html":"(message : String | Nil)","location":{"filename":"src/raven/breadcrumb.cr","line_number":40,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L40"},"def":{"name":"message=","args":[{"name":"message","external_name":"message","restriction":"String | ::Nil"}],"visibility":"Public","body":"@message = message"}},{"html_id":"timestamp:Time-instance-method","name":"timestamp","doc":"A timestamp representing when the breadcrumb occurred.","summary":"

A timestamp representing when the breadcrumb occurred.

","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":25,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L25"},"def":{"name":"timestamp","return_type":"Time","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Time)-instance-method","name":"timestamp=","doc":"A timestamp representing when the breadcrumb occurred.","summary":"

A timestamp representing when the breadcrumb occurred.

","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"args_string":"(timestamp : Time)","args_html":"(timestamp : Time)","location":{"filename":"src/raven/breadcrumb.cr","line_number":25,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L25"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"visibility":"Public","body":"@timestamp = timestamp"}},{"html_id":"to_hash-instance-method","name":"to_hash","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":67,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L67"},"def":{"name":"to_hash","visibility":"Public","body":"{\"timestamp\" => @timestamp.to_utc.to_unix, \"type\" => @type.try() do |__arg0|\n __arg0.to_s.downcase\nend, \"message\" => @message, \"data\" => data.to_h, \"category\" => @category, \"level\" => @level.try() do |__arg1|\n __arg1.to_s.downcase\nend}"}},{"html_id":"type:Type|Nil-instance-method","name":"type","doc":"The type of breadcrumb. The default type is `:default` which indicates\nno specific handling. Other types are currently:\n- `:http` for HTTP requests and\n- `:navigation` for navigation events.","summary":"

The type of breadcrumb.

","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":31,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L31"},"def":{"name":"type","return_type":"Type | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"type=(type:Type|Nil)-instance-method","name":"type=","doc":"The type of breadcrumb. The default type is `:default` which indicates\nno specific handling. Other types are currently:\n- `:http` for HTTP requests and\n- `:navigation` for navigation events.","summary":"

The type of breadcrumb.

","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"Type | ::Nil"}],"args_string":"(type : Type | Nil)","args_html":"(type : Type | Nil)","location":{"filename":"src/raven/breadcrumb.cr","line_number":31,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L31"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"Type | ::Nil"}],"visibility":"Public","body":"@type = type"}},{"html_id":"type=(type:Symbol)-instance-method","name":"type=","doc":"The type of breadcrumb. The default type is `:default` which indicates\nno specific handling. Other types are currently:\n- `:http` for HTTP requests and\n- `:navigation` for navigation events.","summary":"

The type of breadcrumb.

","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"Symbol"}],"args_string":"(type : Symbol)","args_html":"(type : Symbol)","location":{"filename":"src/raven/breadcrumb.cr","line_number":34,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L34"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"Symbol"}],"visibility":"Public","body":"@type = Type.parse(type.to_s)"}}],"types":[{"html_id":"raven/Raven/Breadcrumb/Severity","path":"Raven/Breadcrumb/Severity.html","kind":"enum","full_name":"Raven::Breadcrumb::Severity","name":"Severity","abstract":false,"ancestors":[{"html_id":"raven/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"raven/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"raven/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/breadcrumb.cr","line_number":16,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L16"}],"repository_name":"raven","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"DEBUG","name":"DEBUG","value":"0"},{"id":"INFO","name":"INFO","value":"1"},{"id":"WARNING","name":"WARNING","value":"2"},{"id":"ERROR","name":"ERROR","value":"3"},{"id":"CRITICAL","name":"CRITICAL","value":"4"}],"namespace":{"html_id":"raven/Raven/Breadcrumb","kind":"class","full_name":"Raven::Breadcrumb","name":"Breadcrumb"},"doc":"Levels are used in the UI to emphasize and deemphasize the crumb.","summary":"

Levels are used in the UI to emphasize and deemphasize the crumb.

","instance_methods":[{"html_id":"critical?-instance-method","name":"critical?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":21,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L21"},"def":{"name":"critical?","visibility":"Public","body":"self == CRITICAL"}},{"html_id":"debug?-instance-method","name":"debug?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":17,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L17"},"def":{"name":"debug?","visibility":"Public","body":"self == DEBUG"}},{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":20,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L20"},"def":{"name":"error?","visibility":"Public","body":"self == ERROR"}},{"html_id":"info?-instance-method","name":"info?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":18,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L18"},"def":{"name":"info?","visibility":"Public","body":"self == INFO"}},{"html_id":"warning?-instance-method","name":"warning?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":19,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L19"},"def":{"name":"warning?","visibility":"Public","body":"self == WARNING"}}]},{"html_id":"raven/Raven/Breadcrumb/Type","path":"Raven/Breadcrumb/Type.html","kind":"enum","full_name":"Raven::Breadcrumb::Type","name":"Type","abstract":false,"ancestors":[{"html_id":"raven/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"raven/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"raven/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/breadcrumb.cr","line_number":9,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L9"}],"repository_name":"raven","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"DEFAULT","name":"DEFAULT","value":"0"},{"id":"HTTP","name":"HTTP","value":"1"},{"id":"NAVIGATION","name":"NAVIGATION","value":"2"}],"namespace":{"html_id":"raven/Raven/Breadcrumb","kind":"class","full_name":"Raven::Breadcrumb","name":"Breadcrumb"},"doc":"The type of breadcrumb. The default type is `Type::DEFAULT` which indicates\nno specific handling. Other types are currently:\n- `Type::HTTP` for HTTP requests and\n- `Type::NAVIGATION` for navigation events.","summary":"

The type of breadcrumb.

","instance_methods":[{"html_id":"default?-instance-method","name":"default?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":10,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L10"},"def":{"name":"default?","visibility":"Public","body":"self == DEFAULT"}},{"html_id":"http?-instance-method","name":"http?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L11"},"def":{"name":"http?","visibility":"Public","body":"self == HTTP"}},{"html_id":"navigation?-instance-method","name":"navigation?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":12,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L12"},"def":{"name":"navigation?","visibility":"Public","body":"self == NAVIGATION"}}]}]},{"html_id":"raven/Raven/BreadcrumbBuffer","path":"Raven/BreadcrumbBuffer.html","kind":"class","full_name":"Raven::BreadcrumbBuffer","name":"BreadcrumbBuffer","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Enumerable","kind":"module","full_name":"Enumerable","name":"Enumerable"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/breadcrumb_buffer.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"raven/Enumerable","kind":"module","full_name":"Enumerable","name":"Enumerable"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"class_methods":[{"html_id":"clear!-class-method","name":"clear!","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":14,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L14"},"def":{"name":"clear!","visibility":"Public","body":"@@mutex.synchronize do\n @@current = nil\nend"}},{"html_id":"current-class-method","name":"current","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L8"},"def":{"name":"current","visibility":"Public","body":"@@mutex.synchronize do\n @@current || (@@current = new)\nend"}}],"constructors":[{"html_id":"new(size=100)-class-method","name":"new","abstract":false,"args":[{"name":"size","default_value":"100","external_name":"size","restriction":""}],"args_string":"(size = 100)","args_html":"(size = 100)","location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":22,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L22"},"def":{"name":"new","args":[{"name":"size","default_value":"100","external_name":"size","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(size)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"buffer:Array(Breadcrumb|Nil)-instance-method","name":"buffer","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":20,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L20"},"def":{"name":"buffer","return_type":"Array(Breadcrumb | ::Nil)","visibility":"Public","body":"@buffer"}},{"html_id":"each(&)-instance-method","name":"each","doc":"Must yield this collection's elements to the block.","summary":"

Must yield this collection's elements to the block.

","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":53,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L53"},"def":{"name":"each","yields":1,"block_arity":1,"visibility":"Public","body":"members.each do |breadcrumb|\n yield breadcrumb\nend"}},{"html_id":"empty?-instance-method","name":"empty?","doc":"Returns `true` if `self` does not contain any element.\n\n```\n([] of Int32).empty? # => true\n([1]).empty? # => false\n[nil, false].empty? # => false\n```\n\n* `#present?` returns the inverse.","summary":"

Returns true if self does not contain any element.

","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":59,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L59"},"def":{"name":"empty?","visibility":"Public","body":"members.empty?"}},{"html_id":"members:Array(Breadcrumb)-instance-method","name":"members","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":45,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L45"},"def":{"name":"members","return_type":"Array(Breadcrumb)","visibility":"Public","body":"@buffer.compact"}},{"html_id":"peek-instance-method","name":"peek","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":49,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L49"},"def":{"name":"peek","visibility":"Public","body":"members.last?"}},{"html_id":"record(crumb:Breadcrumb):Nil-instance-method","name":"record","abstract":false,"args":[{"name":"crumb","external_name":"crumb","restriction":"Breadcrumb"}],"args_string":"(crumb : Breadcrumb) : Nil","args_html":"(crumb : Breadcrumb) : Nil","location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":26,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L26"},"def":{"name":"record","args":[{"name":"crumb","external_name":"crumb","restriction":"Breadcrumb"}],"return_type":"Nil","visibility":"Public","body":"@buffer.shift\n@buffer << crumb\n"}},{"html_id":"record(**opts,&):Nil-instance-method","name":"record","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":31,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L31"},"def":{"name":"record","double_splat":{"name":"opts","external_name":"opts","restriction":""},"yields":1,"block_arity":1,"return_type":"Nil","visibility":"Public","body":"crumb = Breadcrumb.new(**opts)\nyield crumb\nrecord(crumb)\n"}},{"html_id":"record(opts:NamedTuple):Nil-instance-method","name":"record","abstract":false,"args":[{"name":"opts","external_name":"opts","restriction":"NamedTuple"}],"args_string":"(opts : NamedTuple) : Nil","args_html":"(opts : NamedTuple) : Nil","location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L41"},"def":{"name":"record","args":[{"name":"opts","external_name":"opts","restriction":"NamedTuple"}],"return_type":"Nil","visibility":"Public","body":"record(**opts)"}},{"html_id":"record(**opts):Nil-instance-method","name":"record","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":37,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L37"},"def":{"name":"record","double_splat":{"name":"opts","external_name":"opts","restriction":""},"return_type":"Nil","visibility":"Public","body":"record(**opts) do\nend"}},{"html_id":"to_hash-instance-method","name":"to_hash","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":63,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L63"},"def":{"name":"to_hash","visibility":"Public","body":"{\"values\" => members.map(&.to_hash)}"}}]},{"html_id":"raven/Raven/Client","path":"Raven/Client.html","kind":"class","full_name":"Raven::Client","name":"Client","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/client.cr","line_number":7,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client.cr#L7"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"PROTOCOL_VERSION","name":"PROTOCOL_VERSION","value":"7"},{"id":"USER_AGENT","name":"USER_AGENT","value":"\"raven.cr/#{Raven::VERSION}\""}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"doc":"Encodes events and sends them to the Sentry server.","summary":"

Encodes events and sends them to the Sentry server.

","constructors":[{"html_id":"new(configuration:Raven::Configuration)-class-method","name":"new","abstract":false,"args":[{"name":"configuration","external_name":"configuration","restriction":"::Raven::Configuration"}],"args_string":"(configuration : Raven::Configuration)","args_html":"(configuration : Raven::Configuration)","location":{"filename":"src/raven/client.cr","line_number":27,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client.cr#L27"},"def":{"name":"new","args":[{"name":"configuration","external_name":"configuration","restriction":"::Raven::Configuration"}],"visibility":"Public","body":"_ = allocate\n_.initialize(configuration)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"configuration:Configuration-instance-method","name":"configuration","abstract":false,"location":{"filename":"src/raven/client.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client.cr#L11"},"def":{"name":"configuration","return_type":"Configuration","visibility":"Public","body":"@configuration"}},{"html_id":"configuration=(configuration:Configuration)-instance-method","name":"configuration=","abstract":false,"args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"args_string":"(configuration : Configuration)","args_html":"(configuration : Configuration)","location":{"filename":"src/raven/client.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client.cr#L11"},"def":{"name":"configuration=","args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"visibility":"Public","body":"@configuration = configuration"}},{"html_id":"send_event(event:Event|Event::HashType,hint:Event::Hint|Nil=nil)-instance-method","name":"send_event","abstract":false,"args":[{"name":"event","external_name":"event","restriction":"Event | Event::HashType"},{"name":"hint","default_value":"nil","external_name":"hint","restriction":"Event::Hint | ::Nil"}],"args_string":"(event : Event | Event::HashType, hint : Event::Hint | Nil = nil)","args_html":"(event : Event | Event::HashType, hint : Event::Hint | Nil = nil)","location":{"filename":"src/raven/client.cr","line_number":46,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client.cr#L46"},"def":{"name":"send_event","args":[{"name":"event","external_name":"event","restriction":"Event | Event::HashType"},{"name":"hint","default_value":"nil","external_name":"hint","restriction":"Event::Hint | ::Nil"}],"visibility":"Public","body":"if ex = configuration.validate!\n Log.debug do\n \"Client#send_event with event '#{event}' failed: #{ex.error_messages}\"\n end\n return false\nend\nif event.is_a?(Event)\n configuration.before_send.try do |before_send|\n event = before_send.call(event, hint)\n if event\n else\n Log.info do\n \"Discarded event because before_send returned nil\"\n end\n return\n end\n end\nend\nevent = event.is_a?(Event) ? event.to_hash : event\nif @state.should_try?\nelse\n failed_send(nil, event)\n return\nend\nLog.info do\n \"Sending event #{event[:event_id]} to Sentry\"\nend\ncontent_type, encoded_data = encode(event)\nbegin\n options = {content_type: content_type}\n (transport.send_event(generate_auth_header, encoded_data, **options)).tap do\n successful_send\n end\nrescue ex\n failed_send(ex, event)\nend\n"}},{"html_id":"send_feedback(event_id:String,data:Hash)-instance-method","name":"send_feedback","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"data","external_name":"data","restriction":"Hash"}],"args_string":"(event_id : String, data : Hash)","args_html":"(event_id : String, data : Hash)","location":{"filename":"src/raven/client.cr","line_number":36,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client.cr#L36"},"def":{"name":"send_feedback","args":[{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"data","external_name":"data","restriction":"Hash"}],"visibility":"Public","body":"if ex = configuration.validate!\n Log.debug do\n \"Client#send_feedback with event id '#{event_id}' failed: #{ex.error_messages}\"\n end\n return false\nend\ntransport.send_feedback(event_id, data)\n"}},{"html_id":"transport:Transport-instance-method","name":"transport","abstract":false,"location":{"filename":"src/raven/client.cr","line_number":16,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client.cr#L16"},"def":{"name":"transport","return_type":"Transport","visibility":"Public","body":"if (value = @transport).nil?\n @transport = (case configuration.scheme\n when \"http\", \"https\"\n Transport::HTTP.new(configuration)\n when \"dummy\"\n Transport::Dummy.new(configuration)\n else\n raise(\"Unknown transport scheme '#{configuration.scheme}'\")\n end)\nelse\n value\nend"}}],"types":[{"html_id":"raven/Raven/Client/State","path":"Raven/Client/State.html","kind":"class","full_name":"Raven::Client::State","name":"State","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/client_state.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client_state.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Client","kind":"class","full_name":"Raven::Client","name":"Client"},"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/client_state.cr","line_number":13,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client_state.cr#L13"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"failed?-instance-method","name":"failed?","abstract":false,"location":{"filename":"src/raven/client_state.cr","line_number":45,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client_state.cr#L45"},"def":{"name":"failed?","visibility":"Public","body":"@status.error?"}},{"html_id":"failure(retry_after:Time::Span|Nil=nil):Nil-instance-method","name":"failure","abstract":false,"args":[{"name":"retry_after","default_value":"nil","external_name":"retry_after","restriction":"::Time::Span | ::Nil"}],"args_string":"(retry_after : Time::Span | Nil = nil) : Nil","args_html":"(retry_after : Time::Span | Nil = nil) : Nil","location":{"filename":"src/raven/client_state.cr","line_number":27,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client_state.cr#L27"},"def":{"name":"failure","args":[{"name":"retry_after","default_value":"nil","external_name":"retry_after","restriction":"::Time::Span | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"@status = Status::ERROR\n@retry_number = @retry_number + 1\n@last_check = Time.utc\n@retry_after = retry_after\n"}},{"html_id":"reset:Nil-instance-method","name":"reset","abstract":false,"location":{"filename":"src/raven/client_state.cr","line_number":38,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client_state.cr#L38"},"def":{"name":"reset","return_type":"Nil","visibility":"Public","body":"@status = Status::ONLINE\n@retry_number = 0\n@last_check = nil\n@retry_after = nil\n"}},{"html_id":"should_try?-instance-method","name":"should_try?","abstract":false,"location":{"filename":"src/raven/client_state.cr","line_number":18,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client_state.cr#L18"},"def":{"name":"should_try?","visibility":"Public","body":"if @status.online?\n return true\nend\ninterval = @retry_after || ({@retry_number, 6}.min ** 2).seconds\nif last_check = @last_check\nelse\n return true\nend\nif (Time.utc - last_check) >= interval\n return true\nend\nfalse\n"}},{"html_id":"success:Nil-instance-method","name":"success","abstract":false,"location":{"filename":"src/raven/client_state.cr","line_number":34,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client_state.cr#L34"},"def":{"name":"success","return_type":"Nil","visibility":"Public","body":"reset"}}],"types":[{"html_id":"raven/Raven/Client/State/Status","path":"Raven/Client/State/Status.html","kind":"enum","full_name":"Raven::Client::State::Status","name":"Status","abstract":false,"ancestors":[{"html_id":"raven/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"raven/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"raven/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/client_state.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client_state.cr#L3"}],"repository_name":"raven","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"ONLINE","name":"ONLINE","value":"0"},{"id":"ERROR","name":"ERROR","value":"1"}],"namespace":{"html_id":"raven/Raven/Client/State","kind":"class","full_name":"Raven::Client::State","name":"State"},"instance_methods":[{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/raven/client_state.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client_state.cr#L5"},"def":{"name":"error?","visibility":"Public","body":"self == ERROR"}},{"html_id":"online?-instance-method","name":"online?","abstract":false,"location":{"filename":"src/raven/client_state.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client_state.cr#L4"},"def":{"name":"online?","visibility":"Public","body":"self == ONLINE"}}]}]}]},{"html_id":"raven/Raven/Configuration","path":"Raven/Configuration.html","kind":"class","full_name":"Raven::Configuration","name":"Configuration","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/configuration.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L5"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DEFAULT_PROCESSORS","name":"DEFAULT_PROCESSORS","value":"[Processor::RemoveCircularReferences, Processor::Cookies, Processor::RequestMethodData, Processor::HTTPHeaders, Processor::UTF8Conversion, Processor::SanitizeData, Processor::Compact] of Processor.class","doc":"Note the order - we have to remove circular references and bad characters\nbefore passing to other processors.","summary":"

Note the order - we have to remove circular references and bad characters before passing to other processors.

"},{"id":"DEFAULT_REQUEST_METHODS_FOR_DATA_SANITIZATION","name":"DEFAULT_REQUEST_METHODS_FOR_DATA_SANITIZATION","value":"[\"POST\", \"PUT\", \"PATCH\"] of ::String","doc":"Array of default request methods for which data should be removed.","summary":"

Array of default request methods for which data should be removed.

"},{"id":"IGNORE_DEFAULT","name":"IGNORE_DEFAULT","value":"[] of Exception.class | String","doc":"Array of exception classes that should never be sent.","summary":"

Array of exception classes that should never be sent.

"},{"id":"REQUIRED_OPTIONS","name":"REQUIRED_OPTIONS","value":"[:host, :public_key, :project_id] of ::Symbol","doc":"Array of required properties needed to be set, before\n`Configuration` is considered valid.","summary":"

Array of required properties needed to be set, before Configuration is considered valid.

"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":260,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L260"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"app_dirs_pattern(*args,**options)-instance-method","name":"app_dirs_pattern","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L68"},"def":{"name":"app_dirs_pattern","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"backtracer.app_dirs_pattern(*args, **options)"}},{"html_id":"app_dirs_pattern(*args,**options,&)-instance-method","name":"app_dirs_pattern","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L68"},"def":{"name":"app_dirs_pattern","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"backtracer.app_dirs_pattern(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"app_dirs_pattern=(arg)-instance-method","name":"app_dirs_pattern=","abstract":false,"args":[{"name":"arg","external_name":"arg","restriction":""}],"args_string":"(arg)","args_html":"(arg)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L68"},"def":{"name":"app_dirs_pattern=","args":[{"name":"arg","external_name":"arg","restriction":""}],"visibility":"Public","body":"backtracer.app_dirs_pattern = arg"}},{"html_id":"async:Proc(Event,Nil)|Nil-instance-method","name":"async","doc":"Provide a `Proc` object that responds to `call` to send\nevents asynchronously, or pass `true` to to use standard `spawn`.\n\n```\n->(event : Raven::Event) { spawn { Raven.send_event(event) } }\n```","summary":"

Provide a Proc object that responds to call to send events asynchronously, or pass true to to use standard spawn.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":50,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L50"},"def":{"name":"async","return_type":"Proc(Event, Nil) | ::Nil","visibility":"Public","body":"@async"}},{"html_id":"async=(async:Proc(Event,Nil)|Nil)-instance-method","name":"async=","doc":"Provide a `Proc` object that responds to `call` to send\nevents asynchronously, or pass `true` to to use standard `spawn`.\n\n```\n->(event : Raven::Event) { spawn { Raven.send_event(event) } }\n```","summary":"

Provide a Proc object that responds to call to send events asynchronously, or pass true to to use standard spawn.

","abstract":false,"args":[{"name":"async","external_name":"async","restriction":"Proc(Event, Nil) | ::Nil"}],"args_string":"(async : Proc(Event, Nil) | Nil)","args_html":"(async : Proc(Event, Nil) | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":50,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L50"},"def":{"name":"async=","args":[{"name":"async","external_name":"async","restriction":"Proc(Event, Nil) | ::Nil"}],"visibility":"Public","body":"@async = async"}},{"html_id":"async=(switch:Bool)-instance-method","name":"async=","doc":"Sets `async` callback to either `Fiber`-based implementation (see below),\nor `nil`, depending on the given *switch* value.\n\n```\n->(event : Event) { spawn { Raven.send_event(event) } }\n```","summary":"

Sets #async callback to either Fiber-based implementation (see below), or nil, depending on the given switch value.

","abstract":false,"args":[{"name":"switch","external_name":"switch","restriction":"Bool"}],"args_string":"(switch : Bool)","args_html":"(switch : Bool)","location":{"filename":"src/raven/configuration.cr","line_number":58,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L58"},"def":{"name":"async=","args":[{"name":"switch","external_name":"switch","restriction":"Bool"}],"visibility":"Public","body":"if switch\nelse\n return @async = nil\nend\n@async = ->(event : Event) do\n spawn do\n Raven.send_event(event)\n end\n nil\nend\n"}},{"html_id":"backtracer:Backtracer::Configuration-instance-method","name":"backtracer","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":66,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L66"},"def":{"name":"backtracer","visibility":"Public","body":"@backtracer"}},{"html_id":"backtracer=(backtracer:Backtracer::Configuration)-instance-method","name":"backtracer=","abstract":false,"args":[{"name":"backtracer","external_name":"backtracer","restriction":"::Backtracer::Configuration"}],"args_string":"(backtracer : Backtracer::Configuration)","args_html":"(backtracer : Backtracer::Configuration)","location":{"filename":"src/raven/configuration.cr","line_number":66,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L66"},"def":{"name":"backtracer=","args":[{"name":"backtracer","external_name":"backtracer","restriction":"::Backtracer::Configuration"}],"visibility":"Public","body":"@backtracer = backtracer"}},{"html_id":"before_send(&block:Event,Event::Hint|Nil->_)-instance-method","name":"before_send","doc":"Optional `Proc`, called before sending an event to the server:\n\n```\n->(event : Raven::Event, hint : Raven::Event::Hint?) {\n if hint.try(&.exception).try(&.message) =~ /database unavailable/i\n event.fingerprint << \"database-unavailable\"\n end\n event\n}\n```","summary":"

Optional Proc, called before sending an event to the server:

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":253,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L253"},"def":{"name":"before_send","yields":2,"block_arity":2,"block_arg":{"name":"block","external_name":"block","restriction":"(Event, Event::Hint | ::Nil -> _)"},"visibility":"Public","body":"self.before_send = block"}},{"html_id":"before_send:Proc(Event,Event::Hint|Nil,Event|Nil)|Nil-instance-method","name":"before_send","doc":"Optional `Proc`, called before sending an event to the server:\n\n```\n->(event : Raven::Event, hint : Raven::Event::Hint?) {\n if hint.try(&.exception).try(&.message) =~ /database unavailable/i\n event.fingerprint << \"database-unavailable\"\n end\n event\n}\n```","summary":"

Optional Proc, called before sending an event to the server:

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":258,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L258"},"def":{"name":"before_send","return_type":"Proc(Event, Event::Hint | ::Nil, Event | ::Nil) | ::Nil","visibility":"Public","body":"@before_send"}},{"html_id":"before_send=(block:Event,Event::Hint|Nil->_)-instance-method","name":"before_send=","doc":"Optional `Proc`, called before sending an event to the server:\n\n```\n->(event : Raven::Event, hint : Raven::Event::Hint?) {\n if hint.try(&.exception).try(&.message) =~ /database unavailable/i\n event.fingerprint << \"database-unavailable\"\n end\n event\n}\n```","summary":"

Optional Proc, called before sending an event to the server:

","abstract":false,"args":[{"name":"block","external_name":"block","restriction":"(Event, Event::Hint | ::Nil -> _)"}],"args_string":"(block : Event, Event::Hint | Nil -> _)","args_html":"(block : Event, Event::Hint | Nil -> _)","location":{"filename":"src/raven/configuration.cr","line_number":246,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L246"},"def":{"name":"before_send=","args":[{"name":"block","external_name":"block","restriction":"(Event, Event::Hint | ::Nil -> _)"}],"visibility":"Public","body":"@before_send = ->(event : Event, hint : Event::Hint | ::Nil) do\n (block.call(event, hint)).as(Event | ::Nil)\nend"}},{"html_id":"before_send=(before_send:Proc(Event,Event::Hint|Nil,Event|Nil)|Nil)-instance-method","name":"before_send=","doc":"Optional `Proc`, called before sending an event to the server:\n\n```\n->(event : Raven::Event, hint : Raven::Event::Hint?) {\n if hint.try(&.exception).try(&.message) =~ /database unavailable/i\n event.fingerprint << \"database-unavailable\"\n end\n event\n}\n```","summary":"

Optional Proc, called before sending an event to the server:

","abstract":false,"args":[{"name":"before_send","external_name":"before_send","restriction":"Proc(Event, Event::Hint | ::Nil, Event | ::Nil) | ::Nil"}],"args_string":"(before_send : Proc(Event, Event::Hint | Nil, Event | Nil) | Nil)","args_html":"(before_send : Proc(Event, Event::Hint | Nil, Event | Nil) | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":258,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L258"},"def":{"name":"before_send=","args":[{"name":"before_send","external_name":"before_send","restriction":"Proc(Event, Event::Hint | ::Nil, Event | ::Nil) | ::Nil"}],"visibility":"Public","body":"@before_send = before_send"}},{"html_id":"capture_allowed!(message_or_ex):ValidationError|Nil-instance-method","name":"capture_allowed!","abstract":false,"args":[{"name":"message_or_ex","external_name":"message_or_ex","restriction":""}],"args_string":"(message_or_ex) : ValidationError | Nil","args_html":"(message_or_ex) : ValidationError | Nil","location":{"filename":"src/raven/configuration.cr","line_number":437,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L437"},"def":{"name":"capture_allowed!","args":[{"name":"message_or_ex","external_name":"message_or_ex","restriction":""}],"return_type":"ValidationError | ::Nil","visibility":"Public","body":"errors = capture_allowed(message_or_ex)\nif errors.empty?\nelse\n ValidationError.new(errors)\nend\n"}},{"html_id":"capture_allowed!:ValidationError|Nil-instance-method","name":"capture_allowed!","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":412,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L412"},"def":{"name":"capture_allowed!","return_type":"ValidationError | ::Nil","visibility":"Public","body":"errors = capture_allowed\nif errors.empty?\nelse\n ValidationError.new(errors)\nend\n"}},{"html_id":"capture_allowed?(message_or_ex):Bool-instance-method","name":"capture_allowed?","abstract":false,"args":[{"name":"message_or_ex","external_name":"message_or_ex","restriction":""}],"args_string":"(message_or_ex) : Bool","args_html":"(message_or_ex) : Bool","location":{"filename":"src/raven/configuration.cr","line_number":442,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L442"},"def":{"name":"capture_allowed?","args":[{"name":"message_or_ex","external_name":"message_or_ex","restriction":""}],"return_type":"Bool","visibility":"Public","body":"(capture_allowed(message_or_ex)).empty?"}},{"html_id":"capture_allowed?:Bool-instance-method","name":"capture_allowed?","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":417,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L417"},"def":{"name":"capture_allowed?","return_type":"Bool","visibility":"Public","body":"capture_allowed.empty?"}},{"html_id":"connect_timeout:Time::Span-instance-method","name":"connect_timeout","doc":"Timeout waiting for the Sentry server connection to open in seconds.","summary":"

Timeout waiting for the Sentry server connection to open in seconds.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":109,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L109"},"def":{"name":"connect_timeout","return_type":"Time::Span","visibility":"Public","body":"@connect_timeout"}},{"html_id":"connect_timeout=(connect_timeout:Time::Span)-instance-method","name":"connect_timeout=","doc":"Timeout waiting for the Sentry server connection to open in seconds.","summary":"

Timeout waiting for the Sentry server connection to open in seconds.

","abstract":false,"args":[{"name":"connect_timeout","external_name":"connect_timeout","restriction":"Time::Span"}],"args_string":"(connect_timeout : Time::Span)","args_html":"(connect_timeout : Time::Span)","location":{"filename":"src/raven/configuration.cr","line_number":109,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L109"},"def":{"name":"connect_timeout=","args":[{"name":"connect_timeout","external_name":"connect_timeout","restriction":"Time::Span"}],"visibility":"Public","body":"@connect_timeout = connect_timeout"}},{"html_id":"context_lines(*args,**options)-instance-method","name":"context_lines","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L68"},"def":{"name":"context_lines","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"backtracer.context_lines(*args, **options)"}},{"html_id":"context_lines(*args,**options,&)-instance-method","name":"context_lines","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L68"},"def":{"name":"context_lines","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"backtracer.context_lines(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"context_lines=(arg)-instance-method","name":"context_lines=","abstract":false,"args":[{"name":"arg","external_name":"arg","restriction":""}],"args_string":"(arg)","args_html":"(arg)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L68"},"def":{"name":"context_lines=","args":[{"name":"arg","external_name":"arg","restriction":""}],"visibility":"Public","body":"backtracer.context_lines = arg"}},{"html_id":"current_environment:String|Nil-instance-method","name":"current_environment","doc":"Defaults to `SENTRY_ENVIRONMENT` variable if set,\n`\"default\"` otherwise.","summary":"

Defaults to SENTRY_ENVIRONMENT variable if set, "default" otherwise.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":77,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L77"},"def":{"name":"current_environment","return_type":"String | ::Nil","visibility":"Public","body":"@current_environment"}},{"html_id":"current_environment=(current_environment:String|Nil)-instance-method","name":"current_environment=","doc":"Defaults to `SENTRY_ENVIRONMENT` variable if set,\n`\"default\"` otherwise.","summary":"

Defaults to SENTRY_ENVIRONMENT variable if set, "default" otherwise.

","abstract":false,"args":[{"name":"current_environment","external_name":"current_environment","restriction":"String | ::Nil"}],"args_string":"(current_environment : String | Nil)","args_html":"(current_environment : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":77,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L77"},"def":{"name":"current_environment=","args":[{"name":"current_environment","external_name":"current_environment","restriction":"String | ::Nil"}],"visibility":"Public","body":"@current_environment = current_environment"}},{"html_id":"dsn:String|Nil-instance-method","name":"dsn","doc":"Simple server string - set this to the DSN found on your Sentry settings.","summary":"

Simple server string - set this to the DSN found on your Sentry settings.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":202,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L202"},"def":{"name":"dsn","return_type":"String | ::Nil","visibility":"Public","body":"@dsn"}},{"html_id":"dsn=(uri:URI)-instance-method","name":"dsn=","abstract":false,"args":[{"name":"uri","external_name":"uri","restriction":"URI"}],"args_string":"(uri : URI)","args_html":"(uri : URI)","location":{"filename":"src/raven/configuration.cr","line_number":280,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L280"},"def":{"name":"dsn=","args":[{"name":"uri","external_name":"uri","restriction":"URI"}],"visibility":"Public","body":"uri_path = uri.path.try(&.split('/'))\nif uri.user\n @public_key = uri.user\n @secret_key = uri.password\n @project_id = uri_path.try(&.pop?).try(&.to_u64)\nelse\n @public_key = @secret_key = @project_id = nil\nend\n@scheme = uri.scheme\n@host = uri.host\nstandard_ports = {http: 80, https: 443}\n@port = uri.port\nif scheme = @scheme\n if @port == standard_ports[scheme]?\n @port = nil\n end\nend\n@path = uri_path.try(&.join('/'))\nif @path.try(&.empty?)\n @path = nil\nend\n@dsn = String.build do |str|\n (str << @scheme) << \"://\"\n if @public_key\n (str << @public_key) << '@'\n end\n str << @host\n if @port\n (str << ':') << @port\n end\n if @path\n str << @path\n end\n if @project_id\n (str << '/') << @project_id\n end\nend\n"}},{"html_id":"dsn=(value:String)-instance-method","name":"dsn=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/raven/configuration.cr","line_number":314,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L314"},"def":{"name":"dsn=","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"self.dsn = URI.parse(value)"}},{"html_id":"encoding:Encoding-instance-method","name":"encoding","doc":"Encoding type for event bodies.","summary":"

Encoding type for event bodies.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":86,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L86"},"def":{"name":"encoding","return_type":"Encoding","visibility":"Public","body":"@encoding"}},{"html_id":"encoding=(encoding:Encoding)-instance-method","name":"encoding=","doc":"Encoding type for event bodies.","summary":"

Encoding type for event bodies.

","abstract":false,"args":[{"name":"encoding","external_name":"encoding","restriction":"Encoding"}],"args_string":"(encoding : Encoding)","args_html":"(encoding : Encoding)","location":{"filename":"src/raven/configuration.cr","line_number":86,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L86"},"def":{"name":"encoding=","args":[{"name":"encoding","external_name":"encoding","restriction":"Encoding"}],"visibility":"Public","body":"@encoding = encoding"}},{"html_id":"environments:Array(String)-instance-method","name":"environments","doc":"Whitelist of environments that will send notifications to Sentry.","summary":"

Whitelist of environments that will send notifications to Sentry.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":89,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L89"},"def":{"name":"environments","visibility":"Public","body":"@environments"}},{"html_id":"environments=(environments:Array(String))-instance-method","name":"environments=","doc":"Whitelist of environments that will send notifications to Sentry.","summary":"

Whitelist of environments that will send notifications to Sentry.

","abstract":false,"args":[{"name":"environments","external_name":"environments","restriction":"::Array(::String)"}],"args_string":"(environments : Array(String))","args_html":"(environments : Array(String))","location":{"filename":"src/raven/configuration.cr","line_number":89,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L89"},"def":{"name":"environments=","args":[{"name":"environments","external_name":"environments","restriction":"::Array(::String)"}],"visibility":"Public","body":"@environments = environments"}},{"html_id":"exclude_loggers:Array(String)-instance-method","name":"exclude_loggers","doc":"`::Log#source` patterns excluded from breadcrumb recording.\n\nDefaults to `raven.*`.\n\nNOTE: You should probably append to this rather than overwrite it.","summary":"

::Log#source patterns excluded from breadcrumb recording.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":96,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L96"},"def":{"name":"exclude_loggers","return_type":"Array(String)","visibility":"Public","body":"@exclude_loggers"}},{"html_id":"exclude_loggers=(exclude_loggers:Array(String))-instance-method","name":"exclude_loggers=","doc":"`::Log#source` patterns excluded from breadcrumb recording.\n\nDefaults to `raven.*`.\n\nNOTE: You should probably append to this rather than overwrite it.","summary":"

::Log#source patterns excluded from breadcrumb recording.

","abstract":false,"args":[{"name":"exclude_loggers","external_name":"exclude_loggers","restriction":"Array(String)"}],"args_string":"(exclude_loggers : Array(String))","args_html":"(exclude_loggers : Array(String))","location":{"filename":"src/raven/configuration.cr","line_number":96,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L96"},"def":{"name":"exclude_loggers=","args":[{"name":"exclude_loggers","external_name":"exclude_loggers","restriction":"Array(String)"}],"visibility":"Public","body":"@exclude_loggers = exclude_loggers"}},{"html_id":"excluded_exceptions:Array(Exception.class|String)-instance-method","name":"excluded_exceptions","doc":"Array of exception classes that should never be sent.\n\nSee `IGNORE_DEFAULT`.\n\nNOTE: You should probably append to this rather than overwrite it.","summary":"

Array of exception classes that should never be sent.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":103,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L103"},"def":{"name":"excluded_exceptions","return_type":"Array(Exception.class | String)","visibility":"Public","body":"@excluded_exceptions"}},{"html_id":"excluded_exceptions=(excluded_exceptions:Array(Exception.class|String))-instance-method","name":"excluded_exceptions=","doc":"Array of exception classes that should never be sent.\n\nSee `IGNORE_DEFAULT`.\n\nNOTE: You should probably append to this rather than overwrite it.","summary":"

Array of exception classes that should never be sent.

","abstract":false,"args":[{"name":"excluded_exceptions","external_name":"excluded_exceptions","restriction":"Array(Exception.class | String)"}],"args_string":"(excluded_exceptions : Array(Exception.class | String))","args_html":"(excluded_exceptions : Array(Exception.class | String))","location":{"filename":"src/raven/configuration.cr","line_number":103,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L103"},"def":{"name":"excluded_exceptions=","args":[{"name":"excluded_exceptions","external_name":"excluded_exceptions","restriction":"Array(Exception.class | String)"}],"visibility":"Public","body":"@excluded_exceptions = excluded_exceptions"}},{"html_id":"host:String|Nil-instance-method","name":"host","doc":"NOTE: DSN component - set automatically if DSN provided.","summary":"

NOTE DSN component - set automatically if DSN provided.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":106,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L106"},"def":{"name":"host","return_type":"String | ::Nil","visibility":"Public","body":"@host"}},{"html_id":"host=(host:String|Nil)-instance-method","name":"host=","doc":"NOTE: DSN component - set automatically if DSN provided.","summary":"

NOTE DSN component - set automatically if DSN provided.

","abstract":false,"args":[{"name":"host","external_name":"host","restriction":"String | ::Nil"}],"args_string":"(host : String | Nil)","args_html":"(host : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":106,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L106"},"def":{"name":"host=","args":[{"name":"host","external_name":"host","restriction":"String | ::Nil"}],"visibility":"Public","body":"@host = host"}},{"html_id":"ignored_logger?(source)-instance-method","name":"ignored_logger?","abstract":false,"args":[{"name":"source","external_name":"source","restriction":""}],"args_string":"(source)","args_html":"(source)","location":{"filename":"src/raven/configuration.cr","line_number":370,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L370"},"def":{"name":"ignored_logger?","args":[{"name":"source","external_name":"source","restriction":""}],"visibility":"Public","body":"exclude_loggers.any? do |pattern|\n ::Log::Builder.matches(source, pattern)\nend"}},{"html_id":"modules_path_pattern(*args,**options)-instance-method","name":"modules_path_pattern","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L68"},"def":{"name":"modules_path_pattern","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"backtracer.modules_path_pattern(*args, **options)"}},{"html_id":"modules_path_pattern(*args,**options,&)-instance-method","name":"modules_path_pattern","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L68"},"def":{"name":"modules_path_pattern","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"backtracer.modules_path_pattern(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"modules_path_pattern=(arg)-instance-method","name":"modules_path_pattern=","abstract":false,"args":[{"name":"arg","external_name":"arg","restriction":""}],"args_string":"(arg)","args_html":"(arg)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L68"},"def":{"name":"modules_path_pattern=","args":[{"name":"arg","external_name":"arg","restriction":""}],"visibility":"Public","body":"backtracer.modules_path_pattern = arg"}},{"html_id":"path:String|Nil-instance-method","name":"path","doc":"NOTE: DSN component - set automatically if DSN provided.","summary":"

NOTE DSN component - set automatically if DSN provided.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":112,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L112"},"def":{"name":"path","return_type":"String | ::Nil","visibility":"Public","body":"@path"}},{"html_id":"path=(path:String|Nil)-instance-method","name":"path=","doc":"NOTE: DSN component - set automatically if DSN provided.","summary":"

NOTE DSN component - set automatically if DSN provided.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String | ::Nil"}],"args_string":"(path : String | Nil)","args_html":"(path : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":112,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L112"},"def":{"name":"path=","args":[{"name":"path","external_name":"path","restriction":"String | ::Nil"}],"visibility":"Public","body":"@path = path"}},{"html_id":"port:Int32|Nil-instance-method","name":"port","doc":"NOTE: DSN component - set automatically if DSN provided.","summary":"

NOTE DSN component - set automatically if DSN provided.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":115,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L115"},"def":{"name":"port","return_type":"Int32 | ::Nil","visibility":"Public","body":"@port"}},{"html_id":"port=(port:Int32|Nil)-instance-method","name":"port=","doc":"NOTE: DSN component - set automatically if DSN provided.","summary":"

NOTE DSN component - set automatically if DSN provided.

","abstract":false,"args":[{"name":"port","external_name":"port","restriction":"Int32 | ::Nil"}],"args_string":"(port : Int32 | Nil)","args_html":"(port : Int32 | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":115,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L115"},"def":{"name":"port=","args":[{"name":"port","external_name":"port","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@port = port"}},{"html_id":"processors:Array(Processor.class)-instance-method","name":"processors","doc":"Processors to run on data before sending upstream. See `DEFAULT_PROCESSORS`.\nYou should probably append to this rather than overwrite it.","summary":"

Processors to run on data before sending upstream.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":119,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L119"},"def":{"name":"processors","return_type":"Array(Processor.class)","visibility":"Public","body":"@processors"}},{"html_id":"processors=(processors:Array(Processor.class))-instance-method","name":"processors=","doc":"Processors to run on data before sending upstream. See `DEFAULT_PROCESSORS`.\nYou should probably append to this rather than overwrite it.","summary":"

Processors to run on data before sending upstream.

","abstract":false,"args":[{"name":"processors","external_name":"processors","restriction":"Array(Processor.class)"}],"args_string":"(processors : Array(Processor.class))","args_html":"(processors : Array(Processor.class))","location":{"filename":"src/raven/configuration.cr","line_number":119,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L119"},"def":{"name":"processors=","args":[{"name":"processors","external_name":"processors","restriction":"Array(Processor.class)"}],"visibility":"Public","body":"@processors = processors"}},{"html_id":"project_id:UInt64|Nil-instance-method","name":"project_id","doc":"Project ID number to send to the Sentry server\n\nNOTE: If you provide a DSN, this will be set automatically.","summary":"

Project ID number to send to the Sentry server

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":124,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L124"},"def":{"name":"project_id","return_type":"UInt64 | ::Nil","visibility":"Public","body":"@project_id"}},{"html_id":"project_id=(project_id:UInt64|Nil)-instance-method","name":"project_id=","doc":"Project ID number to send to the Sentry server\n\nNOTE: If you provide a DSN, this will be set automatically.","summary":"

Project ID number to send to the Sentry server

","abstract":false,"args":[{"name":"project_id","external_name":"project_id","restriction":"UInt64 | ::Nil"}],"args_string":"(project_id : UInt64 | Nil)","args_html":"(project_id : UInt64 | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":124,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L124"},"def":{"name":"project_id=","args":[{"name":"project_id","external_name":"project_id","restriction":"UInt64 | ::Nil"}],"visibility":"Public","body":"@project_id = project_id"}},{"html_id":"project_root:String-instance-method","name":"project_root","doc":"Project directory root for revision detection. Could be Kemal root, etc.","summary":"

Project directory root for revision detection.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":127,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L127"},"def":{"name":"project_root","return_type":"String","visibility":"Public","body":"if (value = @project_root).nil?\n @project_root = (if path = Process.executable_path\n File.dirname(path)\n else\n Dir.current\n end)\nelse\n value\nend"}},{"html_id":"project_root=(project_root:String)-instance-method","name":"project_root=","doc":"Project directory root for revision detection. Could be Kemal root, etc.","summary":"

Project directory root for revision detection.

","abstract":false,"args":[{"name":"project_root","external_name":"project_root","restriction":"String"}],"args_string":"(project_root : String)","args_html":"(project_root : String)","location":{"filename":"src/raven/configuration.cr","line_number":127,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L127"},"def":{"name":"project_root=","args":[{"name":"project_root","external_name":"project_root","restriction":"String"}],"visibility":"Public","body":"@project_root = project_root"}},{"html_id":"public_key:String|Nil-instance-method","name":"public_key","doc":"Public key for authentication with the Sentry server.\n\nNOTE: If you provide a DSN, this will be set automatically.","summary":"

Public key for authentication with the Sentry server.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":138,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L138"},"def":{"name":"public_key","return_type":"String | ::Nil","visibility":"Public","body":"@public_key"}},{"html_id":"public_key=(public_key:String|Nil)-instance-method","name":"public_key=","doc":"Public key for authentication with the Sentry server.\n\nNOTE: If you provide a DSN, this will be set automatically.","summary":"

Public key for authentication with the Sentry server.

","abstract":false,"args":[{"name":"public_key","external_name":"public_key","restriction":"String | ::Nil"}],"args_string":"(public_key : String | Nil)","args_html":"(public_key : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":138,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L138"},"def":{"name":"public_key=","args":[{"name":"public_key","external_name":"public_key","restriction":"String | ::Nil"}],"visibility":"Public","body":"@public_key = public_key"}},{"html_id":"random:Random-instance-method","name":"random","doc":"`Random` instance used when `sample_rate` is set.","summary":"

Random instance used when #sample_rate is set.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":149,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L149"},"def":{"name":"random","return_type":"Random","visibility":"Public","body":"if (value = @random).nil?\n @random = (Random::DEFAULT)\nelse\n value\nend"}},{"html_id":"random=(random:Random)-instance-method","name":"random=","doc":"`Random` instance used when `sample_rate` is set.","summary":"

Random instance used when #sample_rate is set.

","abstract":false,"args":[{"name":"random","external_name":"random","restriction":"Random"}],"args_string":"(random : Random)","args_html":"(random : Random)","location":{"filename":"src/raven/configuration.cr","line_number":149,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L149"},"def":{"name":"random=","args":[{"name":"random","external_name":"random","restriction":"Random"}],"visibility":"Public","body":"@random = random"}},{"html_id":"read_timeout:Time::Span-instance-method","name":"read_timeout","doc":"Timeout when waiting for the server to return data.","summary":"

Timeout when waiting for the server to return data.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":224,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L224"},"def":{"name":"read_timeout","return_type":"Time::Span","visibility":"Public","body":"@read_timeout"}},{"html_id":"read_timeout=(read_timeout:Time::Span)-instance-method","name":"read_timeout=","doc":"Timeout when waiting for the server to return data.","summary":"

Timeout when waiting for the server to return data.

","abstract":false,"args":[{"name":"read_timeout","external_name":"read_timeout","restriction":"Time::Span"}],"args_string":"(read_timeout : Time::Span)","args_html":"(read_timeout : Time::Span)","location":{"filename":"src/raven/configuration.cr","line_number":224,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L224"},"def":{"name":"read_timeout=","args":[{"name":"read_timeout","external_name":"read_timeout","restriction":"Time::Span"}],"visibility":"Public","body":"@read_timeout = read_timeout"}},{"html_id":"release:String|Nil-instance-method","name":"release","doc":"Release tag to be passed with every event sent to Sentry.\nWe automatically try to set this to a git SHA or Capistrano release.","summary":"

Release tag to be passed with every event sent to Sentry.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":142,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L142"},"def":{"name":"release","return_type":"String | ::Nil","visibility":"Public","body":"@release"}},{"html_id":"release=(release:String|Nil)-instance-method","name":"release=","doc":"Release tag to be passed with every event sent to Sentry.\nWe automatically try to set this to a git SHA or Capistrano release.","summary":"

Release tag to be passed with every event sent to Sentry.

","abstract":false,"args":[{"name":"release","external_name":"release","restriction":"String | ::Nil"}],"args_string":"(release : String | Nil)","args_html":"(release : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":142,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L142"},"def":{"name":"release=","args":[{"name":"release","external_name":"release","restriction":"String | ::Nil"}],"visibility":"Public","body":"@release = release"}},{"html_id":"sample_rate:Float64-instance-method","name":"sample_rate","doc":"The sampling factor to apply to events. A value of `0.0` will not send\nany events, and a value of `1.0` will send 100% of events.","summary":"

The sampling factor to apply to events.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":146,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L146"},"def":{"name":"sample_rate","return_type":"Float64","visibility":"Public","body":"@sample_rate"}},{"html_id":"sample_rate=(sample_rate:Float64)-instance-method","name":"sample_rate=","doc":"The sampling factor to apply to events. A value of `0.0` will not send\nany events, and a value of `1.0` will send 100% of events.","summary":"

The sampling factor to apply to events.

","abstract":false,"args":[{"name":"sample_rate","external_name":"sample_rate","restriction":"Float64"}],"args_string":"(sample_rate : Float64)","args_html":"(sample_rate : Float64)","location":{"filename":"src/raven/configuration.cr","line_number":146,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L146"},"def":{"name":"sample_rate=","args":[{"name":"sample_rate","external_name":"sample_rate","restriction":"Float64"}],"visibility":"Public","body":"@sample_rate = sample_rate"}},{"html_id":"sanitize_credit_cards=(sanitize_credit_cards:Bool)-instance-method","name":"sanitize_credit_cards=","doc":"Should sanitize values that look like credit card numbers?\n\nSee `Processor::SanitizeData::CREDIT_CARD_PATTERN`.","summary":"

Should sanitize values that look like credit card numbers?

","abstract":false,"args":[{"name":"sanitize_credit_cards","external_name":"sanitize_credit_cards","restriction":"::Bool"}],"args_string":"(sanitize_credit_cards : Bool)","args_html":"(sanitize_credit_cards : Bool)","location":{"filename":"src/raven/configuration.cr","line_number":154,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L154"},"def":{"name":"sanitize_credit_cards=","args":[{"name":"sanitize_credit_cards","external_name":"sanitize_credit_cards","restriction":"::Bool"}],"visibility":"Public","body":"@sanitize_credit_cards = sanitize_credit_cards"}},{"html_id":"sanitize_credit_cards?:Bool-instance-method","name":"sanitize_credit_cards?","doc":"Should sanitize values that look like credit card numbers?\n\nSee `Processor::SanitizeData::CREDIT_CARD_PATTERN`.","summary":"

Should sanitize values that look like credit card numbers?

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":154,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L154"},"def":{"name":"sanitize_credit_cards?","visibility":"Public","body":"@sanitize_credit_cards"}},{"html_id":"sanitize_data_for_request_methods:Array(String)-instance-method","name":"sanitize_data_for_request_methods","doc":"Request methods for which data should be removed.\n\nSee `DEFAULT_REQUEST_METHODS_FOR_DATA_SANITIZATION`.","summary":"

Request methods for which data should be removed.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":175,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L175"},"def":{"name":"sanitize_data_for_request_methods","return_type":"Array(String)","visibility":"Public","body":"@sanitize_data_for_request_methods"}},{"html_id":"sanitize_data_for_request_methods=(sanitize_data_for_request_methods:Array(String))-instance-method","name":"sanitize_data_for_request_methods=","doc":"Request methods for which data should be removed.\n\nSee `DEFAULT_REQUEST_METHODS_FOR_DATA_SANITIZATION`.","summary":"

Request methods for which data should be removed.

","abstract":false,"args":[{"name":"sanitize_data_for_request_methods","external_name":"sanitize_data_for_request_methods","restriction":"Array(String)"}],"args_string":"(sanitize_data_for_request_methods : Array(String))","args_html":"(sanitize_data_for_request_methods : Array(String))","location":{"filename":"src/raven/configuration.cr","line_number":175,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L175"},"def":{"name":"sanitize_data_for_request_methods=","args":[{"name":"sanitize_data_for_request_methods","external_name":"sanitize_data_for_request_methods","restriction":"Array(String)"}],"visibility":"Public","body":"@sanitize_data_for_request_methods = sanitize_data_for_request_methods"}},{"html_id":"sanitize_fields:Array(Regex|String)-instance-method","name":"sanitize_fields","doc":"By default, Sentry censors `Hash` values when their keys match things like\n`\"secret\"`, `\"password\"`, etc. Provide an `Array` of `String`s that,\nwhen matched in a hash key, will be censored and not sent to Sentry.\n\nSee `Processor::SanitizeData::DEFAULT_FIELDS`.","summary":"

By default, Sentry censors Hash values when their keys match things like "secret", "password", etc.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":161,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L161"},"def":{"name":"sanitize_fields","visibility":"Public","body":"@sanitize_fields"}},{"html_id":"sanitize_fields=(sanitize_fields:Array(Regex|String))-instance-method","name":"sanitize_fields=","doc":"By default, Sentry censors `Hash` values when their keys match things like\n`\"secret\"`, `\"password\"`, etc. Provide an `Array` of `String`s that,\nwhen matched in a hash key, will be censored and not sent to Sentry.\n\nSee `Processor::SanitizeData::DEFAULT_FIELDS`.","summary":"

By default, Sentry censors Hash values when their keys match things like "secret", "password", etc.

","abstract":false,"args":[{"name":"sanitize_fields","external_name":"sanitize_fields","restriction":"::Array(::Regex | ::String)"}],"args_string":"(sanitize_fields : Array(Regex | String))","args_html":"(sanitize_fields : Array(Regex | String))","location":{"filename":"src/raven/configuration.cr","line_number":161,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L161"},"def":{"name":"sanitize_fields=","args":[{"name":"sanitize_fields","external_name":"sanitize_fields","restriction":"::Array(::Regex | ::String)"}],"visibility":"Public","body":"@sanitize_fields = sanitize_fields"}},{"html_id":"sanitize_fields_excluded:Array(Regex|String)-instance-method","name":"sanitize_fields_excluded","doc":"If you're sure you want to override the default sanitization values, you can\nadd to them to an array of `String`s here, e.g. `%w(authorization password)`.","summary":"

If you're sure you want to override the default sanitization values, you can add to them to an array of Strings here, e.g.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":165,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L165"},"def":{"name":"sanitize_fields_excluded","visibility":"Public","body":"@sanitize_fields_excluded"}},{"html_id":"sanitize_fields_excluded=(sanitize_fields_excluded:Array(Regex|String))-instance-method","name":"sanitize_fields_excluded=","doc":"If you're sure you want to override the default sanitization values, you can\nadd to them to an array of `String`s here, e.g. `%w(authorization password)`.","summary":"

If you're sure you want to override the default sanitization values, you can add to them to an array of Strings here, e.g.

","abstract":false,"args":[{"name":"sanitize_fields_excluded","external_name":"sanitize_fields_excluded","restriction":"::Array(::Regex | ::String)"}],"args_string":"(sanitize_fields_excluded : Array(Regex | String))","args_html":"(sanitize_fields_excluded : Array(Regex | String))","location":{"filename":"src/raven/configuration.cr","line_number":165,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L165"},"def":{"name":"sanitize_fields_excluded=","args":[{"name":"sanitize_fields_excluded","external_name":"sanitize_fields_excluded","restriction":"::Array(::Regex | ::String)"}],"visibility":"Public","body":"@sanitize_fields_excluded = sanitize_fields_excluded"}},{"html_id":"sanitize_http_headers:Array(Regex|String)-instance-method","name":"sanitize_http_headers","doc":"Sanitize additional HTTP headers - only `Authorization` is removed by default.\n\nSee `Processor::HTTPHeaders::DEFAULT_FIELDS`.","summary":"

Sanitize additional HTTP headers - only Authorization is removed by default.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":170,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L170"},"def":{"name":"sanitize_http_headers","visibility":"Public","body":"@sanitize_http_headers"}},{"html_id":"sanitize_http_headers=(sanitize_http_headers:Array(Regex|String))-instance-method","name":"sanitize_http_headers=","doc":"Sanitize additional HTTP headers - only `Authorization` is removed by default.\n\nSee `Processor::HTTPHeaders::DEFAULT_FIELDS`.","summary":"

Sanitize additional HTTP headers - only Authorization is removed by default.

","abstract":false,"args":[{"name":"sanitize_http_headers","external_name":"sanitize_http_headers","restriction":"::Array(::Regex | ::String)"}],"args_string":"(sanitize_http_headers : Array(Regex | String))","args_html":"(sanitize_http_headers : Array(Regex | String))","location":{"filename":"src/raven/configuration.cr","line_number":170,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L170"},"def":{"name":"sanitize_http_headers=","args":[{"name":"sanitize_http_headers","external_name":"sanitize_http_headers","restriction":"::Array(::Regex | ::String)"}],"visibility":"Public","body":"@sanitize_http_headers = sanitize_http_headers"}},{"html_id":"scheme:String|Nil-instance-method","name":"scheme","doc":"Can be one of `\"http\"`, `\"https\"`, or `\"dummy\"`.\n\nNOTE: DSN component - set automatically if DSN provided.","summary":"

Can be one of "http", "https", or "dummy".

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":180,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L180"},"def":{"name":"scheme","return_type":"String | ::Nil","visibility":"Public","body":"@scheme"}},{"html_id":"scheme=(scheme:String|Nil)-instance-method","name":"scheme=","doc":"Can be one of `\"http\"`, `\"https\"`, or `\"dummy\"`.\n\nNOTE: DSN component - set automatically if DSN provided.","summary":"

Can be one of "http", "https", or "dummy".

","abstract":false,"args":[{"name":"scheme","external_name":"scheme","restriction":"String | ::Nil"}],"args_string":"(scheme : String | Nil)","args_html":"(scheme : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":180,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L180"},"def":{"name":"scheme=","args":[{"name":"scheme","external_name":"scheme","restriction":"String | ::Nil"}],"visibility":"Public","body":"@scheme = scheme"}},{"html_id":"secret_key:String|Nil-instance-method","name":"secret_key","doc":"Secret key for authentication with the Sentry server.\n\nDEPRECATED: This is deprecated and not necessary for newer Sentry\ninstallations any more.\n\nNOTE: If you provide a DSN, this will be set automatically.","summary":"

Secret key for authentication with the Sentry server.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":196,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L196"},"def":{"name":"secret_key","return_type":"String | ::Nil","visibility":"Public","body":"@secret_key"}},{"html_id":"secret_key=(secret_key:String|Nil)-instance-method","name":"secret_key=","doc":"Secret key for authentication with the Sentry server.\n\nDEPRECATED: This is deprecated and not necessary for newer Sentry\ninstallations any more.\n\nNOTE: If you provide a DSN, this will be set automatically.","summary":"

Secret key for authentication with the Sentry server.

","abstract":false,"args":[{"name":"secret_key","external_name":"secret_key","restriction":"String | ::Nil"}],"args_string":"(secret_key : String | Nil)","args_html":"(secret_key : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":196,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L196"},"def":{"name":"secret_key=","args":[{"name":"secret_key","external_name":"secret_key","restriction":"String | ::Nil"}],"visibility":"Public","body":"@secret_key = secret_key"}},{"html_id":"send_modules=(send_modules:Bool)-instance-method","name":"send_modules=","doc":"Include module versions in reports.","summary":"

Include module versions in reports.

","abstract":false,"args":[{"name":"send_modules","external_name":"send_modules","restriction":"::Bool"}],"args_string":"(send_modules : Bool)","args_html":"(send_modules : Bool)","location":{"filename":"src/raven/configuration.cr","line_number":199,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L199"},"def":{"name":"send_modules=","args":[{"name":"send_modules","external_name":"send_modules","restriction":"::Bool"}],"visibility":"Public","body":"@send_modules = send_modules"}},{"html_id":"send_modules?:Bool-instance-method","name":"send_modules?","doc":"Include module versions in reports.","summary":"

Include module versions in reports.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":199,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L199"},"def":{"name":"send_modules?","visibility":"Public","body":"@send_modules"}},{"html_id":"server_name:String|Nil-instance-method","name":"server_name","doc":"Hostname as an FQDN.","summary":"

Hostname as an FQDN.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":205,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L205"},"def":{"name":"server_name","return_type":"String | ::Nil","visibility":"Public","body":"@server_name"}},{"html_id":"server_name=(server_name:String|Nil)-instance-method","name":"server_name=","doc":"Hostname as an FQDN.","summary":"

Hostname as an FQDN.

","abstract":false,"args":[{"name":"server_name","external_name":"server_name","restriction":"String | ::Nil"}],"args_string":"(server_name : String | Nil)","args_html":"(server_name : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":205,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L205"},"def":{"name":"server_name=","args":[{"name":"server_name","external_name":"server_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@server_name = server_name"}},{"html_id":"should_capture:Proc(Exception|String,Bool)|Nil-instance-method","name":"should_capture","doc":"Provide a configurable `Proc` callback to determine event capture.\n\nNOTE: Object passed into the block will be a `String` (messages)\nor an `Exception`.\n\n```\n->(obj : Exception | String) { obj.some_attr == false }\n```","summary":"

Provide a configurable Proc callback to determine event capture.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":215,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L215"},"def":{"name":"should_capture","return_type":"Proc(Exception | String, Bool) | ::Nil","visibility":"Public","body":"@should_capture"}},{"html_id":"should_capture=(should_capture:Proc(Exception|String,Bool)|Nil)-instance-method","name":"should_capture=","doc":"Provide a configurable `Proc` callback to determine event capture.\n\nNOTE: Object passed into the block will be a `String` (messages)\nor an `Exception`.\n\n```\n->(obj : Exception | String) { obj.some_attr == false }\n```","summary":"

Provide a configurable Proc callback to determine event capture.

","abstract":false,"args":[{"name":"should_capture","external_name":"should_capture","restriction":"Proc(Exception | String, Bool) | ::Nil"}],"args_string":"(should_capture : Proc(Exception | String, Bool) | Nil)","args_html":"(should_capture : Proc(Exception | String, Bool) | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":215,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L215"},"def":{"name":"should_capture=","args":[{"name":"should_capture","external_name":"should_capture","restriction":"Proc(Exception | String, Bool) | ::Nil"}],"visibility":"Public","body":"@should_capture = should_capture"}},{"html_id":"silence_ready=(silence_ready:Bool)-instance-method","name":"silence_ready=","doc":"Silences ready message when `true`.","summary":"

Silences ready message when true.

","abstract":false,"args":[{"name":"silence_ready","external_name":"silence_ready","restriction":"::Bool"}],"args_string":"(silence_ready : Bool)","args_html":"(silence_ready : Bool)","location":{"filename":"src/raven/configuration.cr","line_number":218,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L218"},"def":{"name":"silence_ready=","args":[{"name":"silence_ready","external_name":"silence_ready","restriction":"::Bool"}],"visibility":"Public","body":"@silence_ready = silence_ready"}},{"html_id":"silence_ready?:Bool-instance-method","name":"silence_ready?","doc":"Silences ready message when `true`.","summary":"

Silences ready message when true.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":218,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L218"},"def":{"name":"silence_ready?","visibility":"Public","body":"@silence_ready"}},{"html_id":"src_path(*args,**options)-instance-method","name":"src_path","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L68"},"def":{"name":"src_path","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"backtracer.src_path(*args, **options)"}},{"html_id":"src_path(*args,**options,&)-instance-method","name":"src_path","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L68"},"def":{"name":"src_path","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"backtracer.src_path(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"src_path=(arg)-instance-method","name":"src_path=","abstract":false,"args":[{"name":"arg","external_name":"arg","restriction":""}],"args_string":"(arg)","args_html":"(arg)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L68"},"def":{"name":"src_path=","args":[{"name":"arg","external_name":"arg","restriction":""}],"visibility":"Public","body":"backtracer.src_path = arg"}},{"html_id":"ssl:OpenSSL::SSL::Context::Client|Nil-instance-method","name":"ssl","doc":"SSL context passed to `Raven::Client`.","summary":"

SSL context passed to Raven::Client.

","abstract":false,"def":{"name":"ssl","return_type":"OpenSSL::SSL::Context::Client | ::Nil","visibility":"Public","body":"@ssl"}},{"html_id":"ssl=(ssl:OpenSSL::SSL::Context::Client|Nil)-instance-method","name":"ssl=","doc":"SSL context passed to `Raven::Client`.","summary":"

SSL context passed to Raven::Client.

","abstract":false,"args":[{"name":"ssl","external_name":"ssl","restriction":"OpenSSL::SSL::Context::Client | ::Nil"}],"args_string":"(ssl : OpenSSL::SSL::Context::Client | Nil)","args_html":"(ssl : OpenSSL::SSL::Context::Client | Nil)","def":{"name":"ssl=","args":[{"name":"ssl","external_name":"ssl","restriction":"OpenSSL::SSL::Context::Client | ::Nil"}],"visibility":"Public","body":"@ssl = ssl"}},{"html_id":"tags:AnyHash::JSON-instance-method","name":"tags","doc":"Default tags for events.","summary":"

Default tags for events.

","abstract":false,"def":{"name":"tags","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @tags).nil?\n @tags = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"tags=(tags:AnyHash::JSON)-instance-method","name":"tags=","doc":"Default tags for events.","summary":"

Default tags for events.

","abstract":false,"args":[{"name":"tags","external_name":"tags","restriction":"AnyHash::JSON"}],"args_string":"(tags : AnyHash::JSON)","args_html":"(tags : AnyHash::JSON)","def":{"name":"tags=","args":[{"name":"tags","external_name":"tags","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@tags = tags"}},{"html_id":"tags=(hash:Hash|NamedTuple|Nil)-instance-method","name":"tags=","doc":"Default tags for events.","summary":"

Default tags for events.

","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":221,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L221"},"def":{"name":"tags=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"tags.replace(hash)"}},{"html_id":"transport_failure_callback:Proc(Event::HashType,Nil)|Nil-instance-method","name":"transport_failure_callback","doc":"Optional `Proc`, called when the Sentry server cannot be contacted\nfor any reason.\n\n```\n->(event : Raven::Event::HashType) {\n spawn { MyJobProcessor.send_email(event) }\n}\n```","summary":"

Optional Proc, called when the Sentry server cannot be contacted for any reason.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":234,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L234"},"def":{"name":"transport_failure_callback","return_type":"Proc(Event::HashType, Nil) | ::Nil","visibility":"Public","body":"@transport_failure_callback"}},{"html_id":"transport_failure_callback=(transport_failure_callback:Proc(Event::HashType,Nil)|Nil)-instance-method","name":"transport_failure_callback=","doc":"Optional `Proc`, called when the Sentry server cannot be contacted\nfor any reason.\n\n```\n->(event : Raven::Event::HashType) {\n spawn { MyJobProcessor.send_email(event) }\n}\n```","summary":"

Optional Proc, called when the Sentry server cannot be contacted for any reason.

","abstract":false,"args":[{"name":"transport_failure_callback","external_name":"transport_failure_callback","restriction":"Proc(Event::HashType, Nil) | ::Nil"}],"args_string":"(transport_failure_callback : Proc(Event::HashType, Nil) | Nil)","args_html":"(transport_failure_callback : Proc(Event::HashType, Nil) | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":234,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L234"},"def":{"name":"transport_failure_callback=","args":[{"name":"transport_failure_callback","external_name":"transport_failure_callback","restriction":"Proc(Event::HashType, Nil) | ::Nil"}],"visibility":"Public","body":"@transport_failure_callback = transport_failure_callback"}},{"html_id":"valid?:Bool-instance-method","name":"valid?","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":395,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L395"},"def":{"name":"valid?","return_type":"Bool","visibility":"Public","body":"validate.empty?"}},{"html_id":"validate!:ValidationError|Nil-instance-method","name":"validate!","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":390,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L390"},"def":{"name":"validate!","return_type":"ValidationError | ::Nil","visibility":"Public","body":"errors = validate\nif errors.empty?\nelse\n ValidationError.new(errors)\nend\n"}}],"types":[{"html_id":"raven/Raven/Configuration/Encoding","path":"Raven/Configuration/Encoding.html","kind":"enum","full_name":"Raven::Configuration::Encoding","name":"Encoding","abstract":false,"ancestors":[{"html_id":"raven/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"raven/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"raven/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/configuration.cr","line_number":80,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L80"}],"repository_name":"raven","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"JSON","name":"JSON","value":"0"},{"id":"GZIP","name":"GZIP","value":"1"}],"namespace":{"html_id":"raven/Raven/Configuration","kind":"class","full_name":"Raven::Configuration","name":"Configuration"},"doc":"Encoding type for event bodies.","summary":"

Encoding type for event bodies.

","instance_methods":[{"html_id":"gzip?-instance-method","name":"gzip?","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":82,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L82"},"def":{"name":"gzip?","visibility":"Public","body":"self == GZIP"}},{"html_id":"json?-instance-method","name":"json?","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":81,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L81"},"def":{"name":"json?","visibility":"Public","body":"self == JSON"}}]},{"html_id":"raven/Raven/Configuration/ValidationError","path":"Raven/Configuration/ValidationError.html","kind":"class","full_name":"Raven::Configuration::ValidationError","name":"ValidationError","abstract":false,"superclass":{"html_id":"raven/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"raven/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/configuration.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L6"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Configuration","kind":"class","full_name":"Raven::Configuration","name":"Configuration"},"constructors":[{"html_id":"new(errors:Array(String))-class-method","name":"new","abstract":false,"args":[{"name":"errors","external_name":"errors","restriction":"::Array(::String)"}],"args_string":"(errors : Array(String))","args_html":"(errors : Array(String))","location":{"filename":"src/raven/configuration.cr","line_number":9,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L9"},"def":{"name":"new","args":[{"name":"errors","external_name":"errors","restriction":"::Array(::String)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(errors)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"error_messages:String-instance-method","name":"error_messages","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":12,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L12"},"def":{"name":"error_messages","return_type":"String","visibility":"Public","body":"errors.map_with_index do |e, i|\n i > 0 ? e.downcase : e\nend.join(\", \")"}},{"html_id":"errors:Array(String)-instance-method","name":"errors","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":7,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L7"},"def":{"name":"errors","return_type":"Array(String)","visibility":"Public","body":"@errors"}}]}]},{"html_id":"raven/Raven/Context","path":"Raven/Context.html","kind":"class","full_name":"Raven::Context","name":"Context","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/context.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/context.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"class_methods":[{"html_id":"clear!-class-method","name":"clear!","abstract":false,"location":{"filename":"src/raven/context.cr","line_number":12,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/context.cr#L12"},"def":{"name":"clear!","visibility":"Public","body":"@@mutex.synchronize do\n @@current = nil\nend"}},{"html_id":"current-class-method","name":"current","abstract":false,"location":{"filename":"src/raven/context.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/context.cr#L6"},"def":{"name":"current","visibility":"Public","body":"@@mutex.synchronize do\n @@current || (@@current = new)\nend"}},{"html_id":"os_context:AnyHash::JSON-class-method","name":"os_context","abstract":false,"location":{"filename":"src/raven/context.cr","line_number":18,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/context.cr#L18"},"def":{"name":"os_context","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @@os_context).nil?\n @@os_context = ({name: Raven.sys_command(\"uname -s\"), version: Raven.sys_command(\"uname -v\"), build: Raven.sys_command(\"uname -r\"), kernel_version: (Raven.sys_command(\"uname -a\")) || (Raven.sys_command(\"ver\"))}.to_any_json)\nelse\n value\nend"}},{"html_id":"runtime_context:AnyHash::JSON-class-method","name":"runtime_context","abstract":false,"location":{"filename":"src/raven/context.cr","line_number":27,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/context.cr#L27"},"def":{"name":"runtime_context","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @@runtime_context).nil?\n @@runtime_context = (begin\n version_pattern = /^(.+?) (\\d+[^\\n]+)\\n+LLVM: (\\d+[^\\n]+)\\nDefault target: (.+?)$/m\n if match = Crystal::DESCRIPTION.match(version_pattern)\n else\n raise(Raven::Error.new(\"Couldn't parse runtime version\"))\n end\n _, name, version, _llvm_version, _target = match\n {name: name, version: version}.to_any_json\n end)\nelse\n value\nend"}}],"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/context.cr","line_number":43,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/context.cr#L43"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"contexts:AnyHash::JSON-instance-method","name":"contexts","abstract":false,"def":{"name":"contexts","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @contexts).nil?\n @contexts = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"contexts=(contexts:AnyHash::JSON)-instance-method","name":"contexts=","abstract":false,"args":[{"name":"contexts","external_name":"contexts","restriction":"AnyHash::JSON"}],"args_string":"(contexts : AnyHash::JSON)","args_html":"(contexts : AnyHash::JSON)","def":{"name":"contexts=","args":[{"name":"contexts","external_name":"contexts","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@contexts = contexts"}},{"html_id":"contexts=(hash:Hash|NamedTuple|Nil)-instance-method","name":"contexts=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/context.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/context.cr#L41"},"def":{"name":"contexts=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"contexts.replace(hash)"}},{"html_id":"extra:AnyHash::JSON-instance-method","name":"extra","abstract":false,"def":{"name":"extra","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @extra).nil?\n @extra = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"extra=(extra:AnyHash::JSON)-instance-method","name":"extra=","abstract":false,"args":[{"name":"extra","external_name":"extra","restriction":"AnyHash::JSON"}],"args_string":"(extra : AnyHash::JSON)","args_html":"(extra : AnyHash::JSON)","def":{"name":"extra=","args":[{"name":"extra","external_name":"extra","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@extra = extra"}},{"html_id":"extra=(hash:Hash|NamedTuple|Nil)-instance-method","name":"extra=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/context.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/context.cr#L41"},"def":{"name":"extra=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"extra.replace(hash)"}},{"html_id":"tags:AnyHash::JSON-instance-method","name":"tags","abstract":false,"def":{"name":"tags","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @tags).nil?\n @tags = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"tags=(tags:AnyHash::JSON)-instance-method","name":"tags=","abstract":false,"args":[{"name":"tags","external_name":"tags","restriction":"AnyHash::JSON"}],"args_string":"(tags : AnyHash::JSON)","args_html":"(tags : AnyHash::JSON)","def":{"name":"tags=","args":[{"name":"tags","external_name":"tags","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@tags = tags"}},{"html_id":"tags=(hash:Hash|NamedTuple|Nil)-instance-method","name":"tags=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/context.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/context.cr#L41"},"def":{"name":"tags=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"tags.replace(hash)"}},{"html_id":"user:AnyHash::JSON-instance-method","name":"user","abstract":false,"def":{"name":"user","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @user).nil?\n @user = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"user=(user:AnyHash::JSON)-instance-method","name":"user=","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"AnyHash::JSON"}],"args_string":"(user : AnyHash::JSON)","args_html":"(user : AnyHash::JSON)","def":{"name":"user=","args":[{"name":"user","external_name":"user","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@user = user"}},{"html_id":"user=(hash:Hash|NamedTuple|Nil)-instance-method","name":"user=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/context.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/context.cr#L41"},"def":{"name":"user=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"user.replace(hash)"}}]},{"html_id":"raven/Raven/Delegators","path":"Raven/Delegators.html","kind":"module","full_name":"Raven::Delegators","name":"Delegators","abstract":false,"locations":[{"filename":"src/raven.cr","line_number":10,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L10"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"doc":"`Raven.instance` delegators.","summary":"

Raven.instance delegators.

","instance_methods":[{"html_id":"annotate_exception(*args,**options)-instance-method","name":"annotate_exception","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"annotate_exception","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.annotate_exception(*args, **options)"}},{"html_id":"annotate_exception(*args,**options,&)-instance-method","name":"annotate_exception","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"annotate_exception","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.annotate_exception(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"breadcrumbs(*args,**options)-instance-method","name":"breadcrumbs","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"breadcrumbs","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.breadcrumbs(*args, **options)"}},{"html_id":"breadcrumbs(*args,**options,&)-instance-method","name":"breadcrumbs","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"breadcrumbs","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.breadcrumbs(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"capture(*args,**options)-instance-method","name":"capture","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"capture","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.capture(*args, **options)"}},{"html_id":"capture(*args,**options,&)-instance-method","name":"capture","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"capture","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.capture(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"captured_exception?(*args,**options)-instance-method","name":"captured_exception?","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"captured_exception?","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.captured_exception?(*args, **options)"}},{"html_id":"captured_exception?(*args,**options,&)-instance-method","name":"captured_exception?","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"captured_exception?","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.captured_exception?(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"client(*args,**options)-instance-method","name":"client","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"client","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.client(*args, **options)"}},{"html_id":"client(*args,**options,&)-instance-method","name":"client","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"client","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.client(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"configuration(*args,**options)-instance-method","name":"configuration","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"configuration","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.configuration(*args, **options)"}},{"html_id":"configuration(*args,**options,&)-instance-method","name":"configuration","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"configuration","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.configuration(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"configure(*args,**options)-instance-method","name":"configure","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"configure","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.configure(*args, **options)"}},{"html_id":"configure(*args,**options,&)-instance-method","name":"configure","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"configure","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.configure(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"context(*args,**options)-instance-method","name":"context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.context(*args, **options)"}},{"html_id":"context(*args,**options,&)-instance-method","name":"context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.context(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"extra_context(*args,**options)-instance-method","name":"extra_context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"extra_context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.extra_context(*args, **options)"}},{"html_id":"extra_context(*args,**options,&)-instance-method","name":"extra_context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"extra_context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.extra_context(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"last_event_id(*args,**options)-instance-method","name":"last_event_id","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"last_event_id","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.last_event_id(*args, **options)"}},{"html_id":"last_event_id(*args,**options,&)-instance-method","name":"last_event_id","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"last_event_id","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.last_event_id(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"report_status(*args,**options)-instance-method","name":"report_status","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"report_status","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.report_status(*args, **options)"}},{"html_id":"report_status(*args,**options,&)-instance-method","name":"report_status","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"report_status","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.report_status(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"send_event(*args,**options)-instance-method","name":"send_event","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"send_event","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.send_event(*args, **options)"}},{"html_id":"send_event(*args,**options,&)-instance-method","name":"send_event","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"send_event","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.send_event(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"send_feedback(*args,**options)-instance-method","name":"send_feedback","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"send_feedback","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.send_feedback(*args, **options)"}},{"html_id":"send_feedback(*args,**options,&)-instance-method","name":"send_feedback","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"send_feedback","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.send_feedback(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"tags_context(*args,**options)-instance-method","name":"tags_context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"tags_context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.tags_context(*args, **options)"}},{"html_id":"tags_context(*args,**options,&)-instance-method","name":"tags_context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"tags_context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.tags_context(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"user_context(*args,**options)-instance-method","name":"user_context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"user_context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.user_context(*args, **options)"}},{"html_id":"user_context(*args,**options,&)-instance-method","name":"user_context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"user_context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.user_context(*args, **options) do |*yield_args|\n yield *yield_args\nend"}}]},{"html_id":"raven/Raven/Error","path":"Raven/Error.html","kind":"class","full_name":"Raven::Error","name":"Error","abstract":false,"superclass":{"html_id":"raven/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"raven/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/error.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/error.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"raven/Raven/Transport/HTTP/Error","kind":"class","full_name":"Raven::Transport::HTTP::Error","name":"Error"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"}},{"html_id":"raven/Raven/Event","path":"Raven/Event.html","kind":"class","full_name":"Raven::Event","name":"Event","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/event.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L4"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"MAX_MESSAGE_SIZE_IN_BYTES","name":"MAX_MESSAGE_SIZE_IN_BYTES","value":"1024 * 8","doc":"See Sentry server default limits at\nhttps://github.com/getsentry/sentry/blob/master/src/sentry/conf/server.py","summary":"

See Sentry server default limits at https://github.com/getsentry/sentry/blob/master/src/sentry/conf/server.py

"},{"id":"PLATFORM","name":"PLATFORM","value":"\"crystal\"","doc":"A string representing the platform the SDK is submitting from.\n\nThis will be used by the Sentry interface to customize\nvarious components in the interface.","summary":"

A string representing the platform the SDK is submitting from.

"},{"id":"SDK","name":"SDK","value":"{name: \"raven.cr\", version: Raven::VERSION}","doc":"Information about the SDK sending the event.","summary":"

Information about the SDK sending the event.

"}],"included_modules":[{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"class_methods":[{"html_id":"from(ex:Exception,**options)-class-method","name":"from","abstract":false,"args":[{"name":"ex","external_name":"ex","restriction":"Exception"}],"args_string":"(ex : Exception, **options)","args_html":"(ex : Exception, **options)","location":{"filename":"src/raven/event.cr","line_number":89,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L89"},"def":{"name":"from","args":[{"name":"ex","external_name":"ex","restriction":"Exception"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"{% for key in [:user, :tags, :extra] of ::Symbol %}\n ex_context = ex.@__raven_{{ key.id }}\n if options_context = options[{{ key }}]?\n options = options.merge({\n {{ key.id }}: ex_context.try(&.merge(options_context)) || options_context\n })\n else\n options = options.merge({\n {{ key.id }}: ex_context\n })\n end\n {% end %}\n(new(**options)).tap do |event|\n ex.callstack || (ex.callstack = Exception::CallStack.new)\n add_exception_interface(event, ex)\nend\n"}},{"html_id":"from(message:String,**options)-class-method","name":"from","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"String"}],"args_string":"(message : String, **options)","args_html":"(message : String, **options)","location":{"filename":"src/raven/event.cr","line_number":109,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L109"},"def":{"name":"from","args":[{"name":"message","external_name":"message","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"(new(**options)).tap do |event|\n event.message = {message, options[:message_params]?}\nend"}}],"constructors":[{"html_id":"new(**options)-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":159,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L159"},"def":{"name":"new","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**options)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"backtrace=(backtrace)-instance-method","name":"backtrace=","abstract":false,"args":[{"name":"backtrace","external_name":"backtrace","restriction":""}],"args_string":"(backtrace)","args_html":"(backtrace)","location":{"filename":"src/raven/event.cr","line_number":217,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L217"},"def":{"name":"backtrace=","args":[{"name":"backtrace","external_name":"backtrace","restriction":""}],"visibility":"Public","body":"backtrace = Backtracer.parse(backtrace, configuration: configuration.backtracer)\n(interface(:stacktrace, backtrace: backtrace)).tap do |stacktrace|\n self.culprit || (self.culprit = (stacktrace.as(Interface::Stacktrace)).culprit)\nend\n"}},{"html_id":"breadcrumbs:BreadcrumbBuffer-instance-method","name":"breadcrumbs","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":85,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L85"},"def":{"name":"breadcrumbs","return_type":"BreadcrumbBuffer","visibility":"Public","body":"@breadcrumbs"}},{"html_id":"breadcrumbs=(breadcrumbs:BreadcrumbBuffer)-instance-method","name":"breadcrumbs=","abstract":false,"args":[{"name":"breadcrumbs","external_name":"breadcrumbs","restriction":"BreadcrumbBuffer"}],"args_string":"(breadcrumbs : BreadcrumbBuffer)","args_html":"(breadcrumbs : BreadcrumbBuffer)","location":{"filename":"src/raven/event.cr","line_number":85,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L85"},"def":{"name":"breadcrumbs=","args":[{"name":"breadcrumbs","external_name":"breadcrumbs","restriction":"BreadcrumbBuffer"}],"visibility":"Public","body":"@breadcrumbs = breadcrumbs"}},{"html_id":"configuration:Configuration-instance-method","name":"configuration","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":84,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L84"},"def":{"name":"configuration","return_type":"Configuration","visibility":"Public","body":"@configuration"}},{"html_id":"configuration=(configuration:Configuration)-instance-method","name":"configuration=","abstract":false,"args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"args_string":"(configuration : Configuration)","args_html":"(configuration : Configuration)","location":{"filename":"src/raven/event.cr","line_number":84,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L84"},"def":{"name":"configuration=","args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"visibility":"Public","body":"@configuration = configuration"}},{"html_id":"context:Context-instance-method","name":"context","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":83,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L83"},"def":{"name":"context","return_type":"Context","visibility":"Public","body":"@context"}},{"html_id":"context=(context:Context)-instance-method","name":"context=","abstract":false,"args":[{"name":"context","external_name":"context","restriction":"Context"}],"args_string":"(context : Context)","args_html":"(context : Context)","location":{"filename":"src/raven/event.cr","line_number":83,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L83"},"def":{"name":"context=","args":[{"name":"context","external_name":"context","restriction":"Context"}],"visibility":"Public","body":"@context = context"}},{"html_id":"contexts:AnyHash::JSON-instance-method","name":"contexts","abstract":false,"def":{"name":"contexts","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @contexts).nil?\n @contexts = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"contexts=(contexts:AnyHash::JSON)-instance-method","name":"contexts=","abstract":false,"args":[{"name":"contexts","external_name":"contexts","restriction":"AnyHash::JSON"}],"args_string":"(contexts : AnyHash::JSON)","args_html":"(contexts : AnyHash::JSON)","def":{"name":"contexts=","args":[{"name":"contexts","external_name":"contexts","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@contexts = contexts"}},{"html_id":"contexts=(hash:Hash|NamedTuple|Nil)-instance-method","name":"contexts=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/event.cr","line_number":87,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L87"},"def":{"name":"contexts=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"contexts.replace(hash)"}},{"html_id":"culprit:String|Nil-instance-method","name":"culprit","doc":"The name of the transaction (or culprit) which caused this exception.","summary":"

The name of the transaction (or culprit) which caused this exception.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":55,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L55"},"def":{"name":"culprit","return_type":"String | ::Nil","visibility":"Public","body":"@culprit"}},{"html_id":"culprit=(culprit:String|Nil)-instance-method","name":"culprit=","doc":"The name of the transaction (or culprit) which caused this exception.","summary":"

The name of the transaction (or culprit) which caused this exception.

","abstract":false,"args":[{"name":"culprit","external_name":"culprit","restriction":"String | ::Nil"}],"args_string":"(culprit : String | Nil)","args_html":"(culprit : String | Nil)","location":{"filename":"src/raven/event.cr","line_number":55,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L55"},"def":{"name":"culprit=","args":[{"name":"culprit","external_name":"culprit","restriction":"String | ::Nil"}],"visibility":"Public","body":"@culprit = culprit"}},{"html_id":"environment:String|Nil-instance-method","name":"environment","doc":"The environment name, such as `production` or `staging`.","summary":"

The environment name, such as production or staging.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":78,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L78"},"def":{"name":"environment","return_type":"String | ::Nil","visibility":"Public","body":"@environment"}},{"html_id":"environment=(environment:String|Nil)-instance-method","name":"environment=","doc":"The environment name, such as `production` or `staging`.","summary":"

The environment name, such as production or staging.

","abstract":false,"args":[{"name":"environment","external_name":"environment","restriction":"String | ::Nil"}],"args_string":"(environment : String | Nil)","args_html":"(environment : String | Nil)","location":{"filename":"src/raven/event.cr","line_number":78,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L78"},"def":{"name":"environment=","args":[{"name":"environment","external_name":"environment","restriction":"String | ::Nil"}],"visibility":"Public","body":"@environment = environment"}},{"html_id":"extra:AnyHash::JSON-instance-method","name":"extra","abstract":false,"def":{"name":"extra","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @extra).nil?\n @extra = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"extra=(extra:AnyHash::JSON)-instance-method","name":"extra=","abstract":false,"args":[{"name":"extra","external_name":"extra","restriction":"AnyHash::JSON"}],"args_string":"(extra : AnyHash::JSON)","args_html":"(extra : AnyHash::JSON)","def":{"name":"extra=","args":[{"name":"extra","external_name":"extra","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@extra = extra"}},{"html_id":"extra=(hash:Hash|NamedTuple|Nil)-instance-method","name":"extra=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/event.cr","line_number":87,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L87"},"def":{"name":"extra=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"extra.replace(hash)"}},{"html_id":"fingerprint:Array(String)-instance-method","name":"fingerprint","doc":"An array of strings used to dictate the deduplication of this event.\n\nNOTE: A value of `{{ default }}` will be replaced with the built-in behavior,\nthus allowing you to extend it, or completely replace it.","summary":"

An array of strings used to dictate the deduplication of this event.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":75,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L75"},"def":{"name":"fingerprint","return_type":"Array(String)","visibility":"Public","body":"if (value = @fingerprint).nil?\n @fingerprint = ([] of String)\nelse\n value\nend"}},{"html_id":"fingerprint=(fingerprint:Array(String))-instance-method","name":"fingerprint=","doc":"An array of strings used to dictate the deduplication of this event.\n\nNOTE: A value of `{{ default }}` will be replaced with the built-in behavior,\nthus allowing you to extend it, or completely replace it.","summary":"

An array of strings used to dictate the deduplication of this event.

","abstract":false,"args":[{"name":"fingerprint","external_name":"fingerprint","restriction":"Array(String)"}],"args_string":"(fingerprint : Array(String))","args_html":"(fingerprint : Array(String))","location":{"filename":"src/raven/event.cr","line_number":75,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L75"},"def":{"name":"fingerprint=","args":[{"name":"fingerprint","external_name":"fingerprint","restriction":"Array(String)"}],"visibility":"Public","body":"@fingerprint = fingerprint"}},{"html_id":"id:String-instance-method","name":"id","doc":"Hexadecimal string representing a uuid4 value.\n\nNOTE: The length is exactly 32 characters (no dashes!)","summary":"

Hexadecimal string representing a uuid4 value.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":38,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L38"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","doc":"Hexadecimal string representing a uuid4 value.\n\nNOTE: The length is exactly 32 characters (no dashes!)","summary":"

Hexadecimal string representing a uuid4 value.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/raven/event.cr","line_number":38,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L38"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"interface(name:Symbol,options:NamedTuple)-instance-method","name":"interface","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"},{"name":"options","external_name":"options","restriction":"NamedTuple"}],"args_string":"(name : Symbol, options : NamedTuple)","args_html":"(name : Symbol, options : NamedTuple)","location":{"filename":"src/raven/event.cr","line_number":188,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L188"},"def":{"name":"interface","args":[{"name":"name","external_name":"name","restriction":"Symbol"},{"name":"options","external_name":"options","restriction":"NamedTuple"}],"visibility":"Public","body":"interface(name, **options)"}},{"html_id":"interface(name:Symbol)-instance-method","name":"interface","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"args_string":"(name : Symbol)","args_html":"(name : Symbol)","location":{"filename":"src/raven/event.cr","line_number":178,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L178"},"def":{"name":"interface","args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"visibility":"Public","body":"interface = Interface[name]\n@interfaces[interface.sentry_alias]?\n"}},{"html_id":"interface(name:Symbol,**options:Object)-instance-method","name":"interface","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"args_string":"(name : Symbol, **options : Object)","args_html":"(name : Symbol, **options : Object)","location":{"filename":"src/raven/event.cr","line_number":183,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L183"},"def":{"name":"interface","args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"double_splat":{"name":"options","external_name":"options","restriction":"Object"},"visibility":"Public","body":"interface = Interface[name]\n@interfaces[interface.sentry_alias] = interface.new(**options)\n"}},{"html_id":"level:Severity|Nil-instance-method","name":"level","doc":"The record severity. Defaults to `:error`.","summary":"

The record severity.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":44,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L44"},"def":{"name":"level","return_type":"Severity | ::Nil","visibility":"Public","body":"@level"}},{"html_id":"level=(level:Severity|Nil)-instance-method","name":"level=","doc":"The record severity. Defaults to `:error`.","summary":"

The record severity.

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Severity | ::Nil"}],"args_string":"(level : Severity | Nil)","args_html":"(level : Severity | Nil)","location":{"filename":"src/raven/event.cr","line_number":44,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L44"},"def":{"name":"level=","args":[{"name":"level","external_name":"level","restriction":"Severity | ::Nil"}],"visibility":"Public","body":"@level = level"}},{"html_id":"level=(severity:Symbol)-instance-method","name":"level=","doc":"The record severity. Defaults to `:error`.","summary":"

The record severity.

","abstract":false,"args":[{"name":"severity","external_name":"severity","restriction":"Symbol"}],"args_string":"(severity : Symbol)","args_html":"(severity : Symbol)","location":{"filename":"src/raven/event.cr","line_number":47,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L47"},"def":{"name":"level=","args":[{"name":"severity","external_name":"severity","restriction":"Symbol"}],"visibility":"Public","body":"@level = Severity.parse(severity.to_s)"}},{"html_id":"list_shard_specs-instance-method","name":"list_shard_specs","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":226,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L226"},"def":{"name":"list_shard_specs","visibility":"Public","body":"shards_list = Raven.sys_command_compiled(\"shards list\")\nif shards_list\nelse\n return\nend\ndeps = shards_list.scan(/\\* (?.+?) \\((?.+?)\\)/m)\nif deps.empty?\nelse\n deps.to_h do |match|\n {match[\"name\"], match[\"version\"]}\n end\nend\n"}},{"html_id":"logger:String|Nil-instance-method","name":"logger","doc":"The name of the logger which created the record.","summary":"

The name of the logger which created the record.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":52,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L52"},"def":{"name":"logger","return_type":"String | ::Nil","visibility":"Public","body":"@logger"}},{"html_id":"logger=(logger:String|Nil)-instance-method","name":"logger=","doc":"The name of the logger which created the record.","summary":"

The name of the logger which created the record.

","abstract":false,"args":[{"name":"logger","external_name":"logger","restriction":"String | ::Nil"}],"args_string":"(logger : String | Nil)","args_html":"(logger : String | Nil)","location":{"filename":"src/raven/event.cr","line_number":52,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L52"},"def":{"name":"logger=","args":[{"name":"logger","external_name":"logger","restriction":"String | ::Nil"}],"visibility":"Public","body":"@logger = logger"}},{"html_id":"message-instance-method","name":"message","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":192,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L192"},"def":{"name":"message","visibility":"Public","body":"(interface(:message)).try do |__arg1|\n (__arg1.as(Interface::Message)).unformatted_message\nend"}},{"html_id":"message=(message:String)-instance-method","name":"message=","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"String"}],"args_string":"(message : String)","args_html":"(message : String)","location":{"filename":"src/raven/event.cr","line_number":196,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L196"},"def":{"name":"message=","args":[{"name":"message","external_name":"message","restriction":"String"}],"visibility":"Public","body":"interface(:message, message: trim_message(message))"}},{"html_id":"message=(message_with_params:Enumerable|Indexable)-instance-method","name":"message=","abstract":false,"args":[{"name":"message_with_params","external_name":"message_with_params","restriction":"Enumerable | Indexable"}],"args_string":"(message_with_params : Enumerable | Indexable)","args_html":"(message_with_params : Enumerable | Indexable)","location":{"filename":"src/raven/event.cr","line_number":200,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L200"},"def":{"name":"message=","args":[{"name":"message_with_params","external_name":"message_with_params","restriction":"Enumerable | Indexable"}],"visibility":"Public","body":"message, params = message_with_params\noptions = {message: trim_message(message), params: params}\ninterface(:message, **options)\n"}},{"html_id":"modules:Hash(String,String)|Nil-instance-method","name":"modules","doc":"A list of relevant modules and their versions.","summary":"

A list of relevant modules and their versions.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":81,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L81"},"def":{"name":"modules","return_type":"Hash(String, String) | ::Nil","visibility":"Public","body":"@modules"}},{"html_id":"modules=(modules:Hash(String,String)|Nil)-instance-method","name":"modules=","doc":"A list of relevant modules and their versions.","summary":"

A list of relevant modules and their versions.

","abstract":false,"args":[{"name":"modules","external_name":"modules","restriction":"Hash(String, String) | ::Nil"}],"args_string":"(modules : Hash(String, String) | Nil)","args_html":"(modules : Hash(String, String) | Nil)","location":{"filename":"src/raven/event.cr","line_number":81,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L81"},"def":{"name":"modules=","args":[{"name":"modules","external_name":"modules","restriction":"Hash(String, String) | ::Nil"}],"visibility":"Public","body":"@modules = modules"}},{"html_id":"release:String|Nil-instance-method","name":"release","doc":"The release version of the application.\n\nNOTE: This value will generally be something along the lines of\nthe git SHA for the given project.","summary":"

The release version of the application.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":69,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L69"},"def":{"name":"release","return_type":"String | ::Nil","visibility":"Public","body":"@release"}},{"html_id":"release=(release:String|Nil)-instance-method","name":"release=","doc":"The release version of the application.\n\nNOTE: This value will generally be something along the lines of\nthe git SHA for the given project.","summary":"

The release version of the application.

","abstract":false,"args":[{"name":"release","external_name":"release","restriction":"String | ::Nil"}],"args_string":"(release : String | Nil)","args_html":"(release : String | Nil)","location":{"filename":"src/raven/event.cr","line_number":69,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L69"},"def":{"name":"release=","args":[{"name":"release","external_name":"release","restriction":"String | ::Nil"}],"visibility":"Public","body":"@release = release"}},{"html_id":"server_name:String|Nil-instance-method","name":"server_name","doc":"Identifies the host SDK from which the event was recorded.","summary":"

Identifies the host SDK from which the event was recorded.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":63,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L63"},"def":{"name":"server_name","return_type":"String | ::Nil","visibility":"Public","body":"@server_name"}},{"html_id":"server_name=(server_name:String|Nil)-instance-method","name":"server_name=","doc":"Identifies the host SDK from which the event was recorded.","summary":"

Identifies the host SDK from which the event was recorded.

","abstract":false,"args":[{"name":"server_name","external_name":"server_name","restriction":"String | ::Nil"}],"args_string":"(server_name : String | Nil)","args_html":"(server_name : String | Nil)","location":{"filename":"src/raven/event.cr","line_number":63,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L63"},"def":{"name":"server_name=","args":[{"name":"server_name","external_name":"server_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@server_name = server_name"}},{"html_id":"tags:AnyHash::JSON-instance-method","name":"tags","abstract":false,"def":{"name":"tags","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @tags).nil?\n @tags = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"tags=(tags:AnyHash::JSON)-instance-method","name":"tags=","abstract":false,"args":[{"name":"tags","external_name":"tags","restriction":"AnyHash::JSON"}],"args_string":"(tags : AnyHash::JSON)","args_html":"(tags : AnyHash::JSON)","def":{"name":"tags=","args":[{"name":"tags","external_name":"tags","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@tags = tags"}},{"html_id":"tags=(hash:Hash|NamedTuple|Nil)-instance-method","name":"tags=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/event.cr","line_number":87,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L87"},"def":{"name":"tags=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"tags.replace(hash)"}},{"html_id":"timestamp:Time-instance-method","name":"timestamp","doc":"Indicates when the logging record was created (in the Sentry SDK).","summary":"

Indicates when the logging record was created (in the Sentry SDK).

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L41"},"def":{"name":"timestamp","return_type":"Time","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Time)-instance-method","name":"timestamp=","doc":"Indicates when the logging record was created (in the Sentry SDK).","summary":"

Indicates when the logging record was created (in the Sentry SDK).

","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"args_string":"(timestamp : Time)","args_html":"(timestamp : Time)","location":{"filename":"src/raven/event.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L41"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"visibility":"Public","body":"@timestamp = timestamp"}},{"html_id":"to_hash:HashType-instance-method","name":"to_hash","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":235,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L235"},"def":{"name":"to_hash","return_type":"HashType","visibility":"Public","body":"data = {event_id: @id, timestamp: @timestamp.to_utc.to_s(\"%FT%X\"), level: @level.try() do |__arg2|\n __arg2.to_s.downcase\nend, platform: PLATFORM, sdk: SDK, logger: @logger, culprit: @culprit, server_name: @server_name, release: @release, environment: @environment, fingerprint: @fingerprint, modules: @modules, extra: @extra, tags: @tags, user: @user, contexts: @contexts, breadcrumbs: @breadcrumbs.empty? ? nil : @breadcrumbs.to_hash, message: message}.to_any_json\n@interfaces.each do |name, interface|\n data[name] = interface.to_hash\nend\ndata.to_h\n"}},{"html_id":"to_json(*args,**options)-instance-method","name":"to_json","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven/event.cr","line_number":264,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L264"},"def":{"name":"to_json","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"to_hash.to_json(*args, **options)"}},{"html_id":"to_json(*args,**options,&)-instance-method","name":"to_json","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven/event.cr","line_number":264,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L264"},"def":{"name":"to_json","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"to_hash.to_json(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"user:AnyHash::JSON-instance-method","name":"user","abstract":false,"def":{"name":"user","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @user).nil?\n @user = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"user=(user:AnyHash::JSON)-instance-method","name":"user=","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"AnyHash::JSON"}],"args_string":"(user : AnyHash::JSON)","args_html":"(user : AnyHash::JSON)","def":{"name":"user=","args":[{"name":"user","external_name":"user","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@user = user"}},{"html_id":"user=(hash:Hash|NamedTuple|Nil)-instance-method","name":"user=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/event.cr","line_number":87,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L87"},"def":{"name":"user=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"user.replace(hash)"}}],"types":[{"html_id":"raven/Raven/Event/HashType","path":"Raven/Event/HashType.html","kind":"alias","full_name":"Raven::Event::HashType","name":"HashType","abstract":false,"locations":[{"filename":"src/raven/event.cr","line_number":33,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L33"}],"repository_name":"raven","program":false,"enum":false,"alias":true,"aliased":"Hash(String | Symbol, AnyHash::JSONTypes::Value)","aliased_html":"Hash(String | Symbol, AnyHash::JSONTypes::Value)","const":false,"namespace":{"html_id":"raven/Raven/Event","kind":"class","full_name":"Raven::Event","name":"Event"},"doc":"`Hash` type returned by `#to_hash`.","summary":"

Hash type returned by #to_hash.

"},{"html_id":"raven/Raven/Event/Hint","path":"Raven/Event/Hint.html","kind":"struct","full_name":"Raven::Event::Hint","name":"Hint","abstract":false,"superclass":{"html_id":"raven/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"raven/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"raven/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/event.cr","line_number":17,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L17"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Event","kind":"class","full_name":"Raven::Event","name":"Event"},"doc":"Structure passed to `Configuration#before_send` callback.","summary":"

Structure passed to Configuration#before_send callback.

","constructors":[{"html_id":"new(exception:Exception|Nil,message:String|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"exception","external_name":"exception","restriction":"Exception | ::Nil"},{"name":"message","external_name":"message","restriction":"String | ::Nil"}],"args_string":"(exception : Exception | Nil, message : String | Nil)","args_html":"(exception : Exception | Nil, message : String | Nil)","location":{"filename":"src/raven/event.cr","line_number":17,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L17"},"def":{"name":"new","args":[{"name":"exception","external_name":"exception","restriction":"Exception | ::Nil"},{"name":"message","external_name":"message","restriction":"String | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(exception, message)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":17,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L17"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@exception.clone, @message.clone)"}},{"html_id":"copy_with(exception_exception=@exception,message_message=@message)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_exception","default_value":"@exception","external_name":"exception","restriction":""},{"name":"_message","default_value":"@message","external_name":"message","restriction":""}],"args_string":"(exception _exception = @exception, message _message = @message)","args_html":"(exception _exception = @exception, message _message = @message)","location":{"filename":"src/raven/event.cr","line_number":17,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L17"},"def":{"name":"copy_with","args":[{"name":"_exception","default_value":"@exception","external_name":"exception","restriction":""},{"name":"_message","default_value":"@message","external_name":"message","restriction":""}],"visibility":"Public","body":"self.class.new(_exception, _message)"}},{"html_id":"exception:Exception|Nil-instance-method","name":"exception","abstract":false,"def":{"name":"exception","return_type":"Exception | ::Nil","visibility":"Public","body":"@exception"}},{"html_id":"message:String|Nil-instance-method","name":"message","abstract":false,"def":{"name":"message","return_type":"String | ::Nil","visibility":"Public","body":"@message"}}]},{"html_id":"raven/Raven/Event/Severity","path":"Raven/Event/Severity.html","kind":"enum","full_name":"Raven::Event::Severity","name":"Severity","abstract":false,"ancestors":[{"html_id":"raven/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"raven/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"raven/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/event.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L8"}],"repository_name":"raven","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"DEBUG","name":"DEBUG","value":"0"},{"id":"INFO","name":"INFO","value":"1"},{"id":"WARNING","name":"WARNING","value":"2"},{"id":"ERROR","name":"ERROR","value":"3"},{"id":"FATAL","name":"FATAL","value":"4"}],"namespace":{"html_id":"raven/Raven/Event","kind":"class","full_name":"Raven::Event","name":"Event"},"doc":"Event severity.","summary":"

Event severity.

","instance_methods":[{"html_id":"debug?-instance-method","name":"debug?","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":9,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L9"},"def":{"name":"debug?","visibility":"Public","body":"self == DEBUG"}},{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":12,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L12"},"def":{"name":"error?","visibility":"Public","body":"self == ERROR"}},{"html_id":"fatal?-instance-method","name":"fatal?","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":13,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L13"},"def":{"name":"fatal?","visibility":"Public","body":"self == FATAL"}},{"html_id":"info?-instance-method","name":"info?","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":10,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L10"},"def":{"name":"info?","visibility":"Public","body":"self == INFO"}},{"html_id":"warning?-instance-method","name":"warning?","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L11"},"def":{"name":"warning?","visibility":"Public","body":"self == WARNING"}}]}]},{"html_id":"raven/Raven/Instance","path":"Raven/Instance.html","kind":"class","full_name":"Raven::Instance","name":"Instance","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/instance.cr","line_number":24,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L24"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"doc":"A copy of Raven's base module class methods, minus some of the integration\nand global hooks since it's meant to be used explicitly. Useful for\nsending errors to multiple sentry projects in a large application.\n\n```\nclass Foo\n def initialize\n @other_raven = Raven::Instance.new\n @other_raven.configure do |config|\n config.dsn = \"http://...\"\n end\n end\n\n def foo\n # ...\n\n\n rescue ex\n @other_raven.capture(ex)\n end\nend\n```","summary":"

A copy of Raven's base module class methods, minus some of the integration and global hooks since it's meant to be used explicitly.

","constructors":[{"html_id":"new(context=nil,config:Nil|Raven::Configuration=nil)-class-method","name":"new","abstract":false,"args":[{"name":"context","default_value":"nil","external_name":"context","restriction":""},{"name":"config","default_value":"nil","external_name":"config","restriction":"::Nil | ::Raven::Configuration"}],"args_string":"(context = nil, config : Nil | Raven::Configuration = nil)","args_html":"(context = nil, config : Nil | Raven::Configuration = nil)","location":{"filename":"src/raven/instance.cr","line_number":35,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L35"},"def":{"name":"new","args":[{"name":"context","default_value":"nil","external_name":"context","restriction":""},{"name":"config","default_value":"nil","external_name":"config","restriction":"::Nil | ::Raven::Configuration"}],"visibility":"Public","body":"_ = allocate\n_.initialize(context, config)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"annotate_exception(ex:Exception,**options)-instance-method","name":"annotate_exception","doc":"Provides extra context to the exception prior to it being handled by\nRaven. An exception can have multiple annotations, which are merged\ntogether.\n\nThe options (annotation) is treated the same as the *options*\nparameter to `capture` or `Event.from`, and\ncan contain the same `:user`, `:tags`, etc. options as these methods.\n\nThese will be merged with the *options* parameter to\n`Event.from` at the top of execution.\n\n```\nbegin\n raise \"Hello\"\nrescue ex\n Raven.annotate_exception(ex, user: {id: 1, email: \"foo@example.com\"})\n raise ex\nend\n```","summary":"

Provides extra context to the exception prior to it being handled by Raven.

","abstract":false,"args":[{"name":"ex","external_name":"ex","restriction":"Exception"}],"args_string":"(ex : Exception, **options)","args_html":"(ex : Exception, **options)","location":{"filename":"src/raven/instance.cr","line_number":250,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L250"},"def":{"name":"annotate_exception","args":[{"name":"ex","external_name":"ex","restriction":"Exception"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"{% for key in [:user, :tags, :extra] of ::Symbol %}\n if v = options[{{ key }}]?\n ex.__raven_{{ key.id }}.merge!(v)\n end\n {% end %}\nex\n"}},{"html_id":"breadcrumbs-instance-method","name":"breadcrumbs","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":326,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L326"},"def":{"name":"breadcrumbs","visibility":"Public","body":"BreadcrumbBuffer.current"}},{"html_id":"capture(klass:String,message:String,backtrace:String|Nil=nil,**options,&)-instance-method","name":"capture","doc":"Captures an exception with given *klass*, *message*\nand optional *backtrace*.\n\n```\nRaven.capture \"FooBarError\", \"Foo got bar!\"\n```\n\nNOTE: Useful in scenarios where you need to reconstruct the error\n(usually along with a backtrace from external source), while\nhaving no access to the actual Exception object.","summary":"

Captures an exception with given klass, message and optional backtrace.

","abstract":false,"args":[{"name":"klass","external_name":"klass","restriction":"String"},{"name":"message","external_name":"message","restriction":"String"},{"name":"backtrace","default_value":"nil","external_name":"backtrace","restriction":"String | ::Nil"}],"args_string":"(klass : String, message : String, backtrace : String | Nil = nil, **options, &)","args_html":"(klass : String, message : String, backtrace : String | Nil = nil, **options, &)","location":{"filename":"src/raven/instance.cr","line_number":193,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L193"},"def":{"name":"capture","args":[{"name":"klass","external_name":"klass","restriction":"String"},{"name":"message","external_name":"message","restriction":"String"},{"name":"backtrace","default_value":"nil","external_name":"backtrace","restriction":"String | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"yields":1,"block_arity":1,"visibility":"Public","body":"formatted_message = \"#{klass}: #{message}\"\ncapture(formatted_message, **options) do |event|\n ex = Interface::SingleException.new.tap do |iface|\n iface.module = (klass.split(\"::\"))[0...-1].join(\"::\")\n iface.type = klass\n iface.value = message\n if backtrace\n parsed = Backtracer.parse(backtrace, configuration: configuration.backtracer)\n iface.stacktrace = Interface::Stacktrace.new(backtrace: parsed).tap do |stacktrace|\n event.culprit = stacktrace.culprit\n end\n end\n end\n event.interface(:exception, values: [ex])\n yield event\nend\n"}},{"html_id":"capture(obj:Exception|String,**options,&)-instance-method","name":"capture","doc":"Captures given `Exception` or `String` object and yields\ncreated `Raven::Event` before sending to Sentry.\n\n```\nRaven.capture(\"boo!\") do |event|\n event.extra.merge! foo: \"bar\"\nend\n```","summary":"

Captures given Exception or String object and yields created Raven::Event before sending to Sentry.

","abstract":false,"args":[{"name":"obj","external_name":"obj","restriction":"Exception | String"}],"args_string":"(obj : Exception | String, **options, &)","args_html":"(obj : Exception | String, **options, &)","location":{"filename":"src/raven/instance.cr","line_number":130,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L130"},"def":{"name":"capture","args":[{"name":"obj","external_name":"obj","restriction":"Exception | String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"yields":2,"block_arity":2,"visibility":"Public","body":"if ex = configuration.capture_allowed!(obj)\n Log.debug do\n \"'#{obj}' excluded from capture: #{ex.error_messages}\"\n end\n return false\nend\ndefault_options = {configuration: configuration, context: context}\noptions = default_options.merge(options)\n(Event.from(obj, **options)).tap do |event|\n hint = if obj.is_a?(String)\n Event::Hint.new(exception: nil, message: obj)\n else\n Event::Hint.new(exception: obj, message: nil)\n end\n yield event, hint\n if async = configuration.async\n begin\n async.call(event)\n rescue ex\n Log.error(exception: ex) do\n \"Async event sending failed\"\n end\n send_event(event, hint)\n end\n else\n send_event(event, hint)\n end\n @last_event_id_mutex.synchronize do\n @last_event_id = event.id\n end\n (obj.as?(Exception)).try(&.__raven_event_id = event.id)\nend\n"}},{"html_id":"capture(obj:Exception|String,**options)-instance-method","name":"capture","doc":"Captures given `Exception` or `String` object.\n\n```\nbegin\n # ...\nrescue ex\n Raven.capture ex\nend\n\nRaven.capture \"boo!\"\n```","summary":"

Captures given Exception or String object.

","abstract":false,"args":[{"name":"obj","external_name":"obj","restriction":"Exception | String"}],"args_string":"(obj : Exception | String, **options)","args_html":"(obj : Exception | String, **options)","location":{"filename":"src/raven/instance.cr","line_number":179,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L179"},"def":{"name":"capture","args":[{"name":"obj","external_name":"obj","restriction":"Exception | String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"capture(obj, **options) do\nend"}},{"html_id":"capture(**options,&)-instance-method","name":"capture","doc":"Capture and process any exceptions from the given block.\n\n```\nRaven.capture do\n MyApp.run\nend\n```","summary":"

Capture and process any exceptions from the given block.

","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":222,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L222"},"def":{"name":"capture","double_splat":{"name":"options","external_name":"options","restriction":""},"yields":0,"block_arity":0,"visibility":"Public","body":"begin\n yield\nrescue ex : Raven::Error\n raise(ex)\nrescue ex : Exception\n capture(ex, **options)\n raise(ex)\nend"}},{"html_id":"captured_exception?(ex:Exception)-instance-method","name":"captured_exception?","doc":"Returns `true` in case given *ex* was already captured,\n`false` otherwise.\n\n```\nex = Exception.new(\"boo!\")\n\nRaven.captured_exception?(ex) # => false\nRaven.capture(ex)\nRaven.captured_exception?(ex) # => true\n```","summary":"

Returns true in case given ex was already captured, false otherwise.

","abstract":false,"args":[{"name":"ex","external_name":"ex","restriction":"Exception"}],"args_string":"(ex : Exception)","args_html":"(ex : Exception)","location":{"filename":"src/raven/instance.cr","line_number":269,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L269"},"def":{"name":"captured_exception?","args":[{"name":"ex","external_name":"ex","restriction":"Exception"}],"visibility":"Public","body":"!(!ex.__raven_event_id)"}},{"html_id":"client:Client-instance-method","name":"client","doc":"The client object is responsible for delivering formatted data to the\nSentry server.","summary":"

The client object is responsible for delivering formatted data to the Sentry server.

","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":30,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L30"},"def":{"name":"client","return_type":"Client","visibility":"Public","body":"if (value = @client).nil?\n @client = (Client.new(configuration))\nelse\n value\nend"}},{"html_id":"client=(client:Client)-instance-method","name":"client=","doc":"The client object is responsible for delivering formatted data to the\nSentry server.","summary":"

The client object is responsible for delivering formatted data to the Sentry server.

","abstract":false,"args":[{"name":"client","external_name":"client","restriction":"Client"}],"args_string":"(client : Client)","args_html":"(client : Client)","location":{"filename":"src/raven/instance.cr","line_number":30,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L30"},"def":{"name":"client=","args":[{"name":"client","external_name":"client","restriction":"Client"}],"visibility":"Public","body":"@client = client"}},{"html_id":"configuration:Configuration-instance-method","name":"configuration","doc":"See `Raven::Configuration`.","summary":"

See Raven::Configuration.

","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":26,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L26"},"def":{"name":"configuration","return_type":"Configuration","visibility":"Public","body":"if (value = @configuration).nil?\n @configuration = (Configuration.new)\nelse\n value\nend"}},{"html_id":"configuration=(configuration:Configuration)-instance-method","name":"configuration=","doc":"See `Raven::Configuration`.","summary":"

See Raven::Configuration.

","abstract":false,"args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"args_string":"(configuration : Configuration)","args_html":"(configuration : Configuration)","location":{"filename":"src/raven/instance.cr","line_number":26,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L26"},"def":{"name":"configuration=","args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"visibility":"Public","body":"@configuration = configuration"}},{"html_id":"configure-instance-method","name":"configure","doc":"Call this method to modify defaults in your initializers.\n\n```\nRaven.configure do |config|\n config.dsn = \"http://...\"\nend\n```","summary":"

Call this method to modify defaults in your initializers.

","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":67,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L67"},"def":{"name":"configure","visibility":"Public","body":"self.client = (Client.new(configuration)).tap do\n report_status\nend"}},{"html_id":"configure(&)-instance-method","name":"configure","doc":"Call this method to modify defaults in your initializers.\n\n```\nRaven.configure do |config|\n config.dsn = \"http://...\"\nend\n```","summary":"

Call this method to modify defaults in your initializers.

","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":72,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L72"},"def":{"name":"configure","yields":1,"block_arity":1,"visibility":"Public","body":"yield configuration\nconfigure\n"}},{"html_id":"context-instance-method","name":"context","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":40,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L40"},"def":{"name":"context","visibility":"Public","body":"if @explicit_context\n @context || (@context = Context.new)\nelse\n Context.current\nend"}},{"html_id":"extra_context(hash=nil,**options)-instance-method","name":"extra_context","doc":"Bind extra context. Merges with existing context (if any).\n\nExtra context shows up as *Additional Data* within Sentry,\nand is completely arbitrary.\n\n```\nRaven.extra_context(my_custom_data: \"value\")\n```","summary":"

Bind extra context.

","abstract":false,"args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"args_string":"(hash = nil, **options)","args_html":"(hash = nil, **options)","location":{"filename":"src/raven/instance.cr","line_number":305,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L305"},"def":{"name":"extra_context","args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"context.extra.merge!(hash, options)"}},{"html_id":"extra_context(hash=nil,**options,&)-instance-method","name":"extra_context","doc":"Bind extra context.\nMerges with existing context (if any).\n\nSee `#extra_context`","summary":"

Bind extra context.

","abstract":false,"args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"args_string":"(hash = nil, **options, &)","args_html":"(hash = nil, **options, &)","location":{"filename":"src/raven/instance.cr","line_number":309,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L309"},"def":{"name":"extra_context","args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"yields":0,"block_arity":0,"visibility":"Public","body":"prev_context = context.extra.clone\nbegin\n context.extra.merge!(hash, options)\n yield\nensure\n context.extra = prev_context\nend\ncontext.extra\n"}},{"html_id":"last_event_id-instance-method","name":"last_event_id","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":116,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L116"},"def":{"name":"last_event_id","visibility":"Public","body":"@last_event_id_mutex.synchronize do\n @last_event_id\nend"}},{"html_id":"report_status-instance-method","name":"report_status","doc":"Tell the log that the client is good to go.","summary":"

Tell the log that the client is good to go.

","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":49,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L49"},"def":{"name":"report_status","visibility":"Public","body":"if configuration.silence_ready?\n return\nend\nif ex = configuration.capture_allowed!\n Log.info do\n \"Raven #{VERSION} configured not to capture errors: #{ex.error_messages}\"\n end\nelse\n Log.info do\n \"Raven #{VERSION} ready to catch errors\"\n end\nend\n"}},{"html_id":"send_event(event,hint=nil)-instance-method","name":"send_event","doc":"Send an event to the configured Sentry server.\n\n```\nevent = Raven::Event.new(message: \"An error\")\nRaven.send_event(event)\n```","summary":"

Send an event to the configured Sentry server.

","abstract":false,"args":[{"name":"event","external_name":"event","restriction":""},{"name":"hint","default_value":"nil","external_name":"hint","restriction":""}],"args_string":"(event, hint = nil)","args_html":"(event, hint = nil)","location":{"filename":"src/raven/instance.cr","line_number":109,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L109"},"def":{"name":"send_event","args":[{"name":"event","external_name":"event","restriction":""},{"name":"hint","default_value":"nil","external_name":"hint","restriction":""}],"visibility":"Public","body":"client.send_event(event, hint)"}},{"html_id":"send_feedback(event_id:String,data:Hash)-instance-method","name":"send_feedback","doc":"Sends User Feedback to Sentry server.\n\n*data* should be a `Hash(String, String)` with following keys:\n- *name* (populated from `context.user[:username]` if left empty)\n- *email* (populated from `context.user[:email]` if left empty)\n- *comments*\n\n```\nRaven.send_feedback(Raven.last_event_id, {\n \"name\" => \"...\",\n \"email\" => \"...\",\n \"comments\" => \"...\",\n})\n```\n\nNOTE: Sentry server records single (last) feedback for a given *event_id*.","summary":"

Sends User Feedback to Sentry server.

","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"data","external_name":"data","restriction":"Hash"}],"args_string":"(event_id : String, data : Hash)","args_html":"(event_id : String, data : Hash)","location":{"filename":"src/raven/instance.cr","line_number":93,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L93"},"def":{"name":"send_feedback","args":[{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"data","external_name":"data","restriction":"Hash"}],"visibility":"Public","body":"if username = context.user[:username]?\n data[\"name\"]? || (data[\"name\"] = username.to_s)\nend\nif email = context.user[:email]?\n data[\"email\"]? || (data[\"email\"] = email.to_s)\nend\nclient.send_feedback(event_id, data)\n"}},{"html_id":"tags_context(hash=nil,**options)-instance-method","name":"tags_context","doc":"Bind tags context. Merges with existing context (if any).\n\nTags are key / value pairs which generally represent things like\napplication version, environment, role, and server names.\n\n```\nRaven.tags_context(my_custom_tag: \"tag_value\")\n```","summary":"

Bind tags context.

","abstract":false,"args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"args_string":"(hash = nil, **options)","args_html":"(hash = nil, **options)","location":{"filename":"src/raven/instance.cr","line_number":293,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L293"},"def":{"name":"tags_context","args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"context.tags.merge!(hash, options)"}},{"html_id":"tags_context(hash=nil,**options,&)-instance-method","name":"tags_context","doc":"Bind tags context.\nMerges with existing context (if any).\n\nSee `#tags_context`","summary":"

Bind tags context.

","abstract":false,"args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"args_string":"(hash = nil, **options, &)","args_html":"(hash = nil, **options, &)","location":{"filename":"src/raven/instance.cr","line_number":309,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L309"},"def":{"name":"tags_context","args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"yields":0,"block_arity":0,"visibility":"Public","body":"prev_context = context.tags.clone\nbegin\n context.tags.merge!(hash, options)\n yield\nensure\n context.tags = prev_context\nend\ncontext.tags\n"}},{"html_id":"user_context(hash=nil,**options)-instance-method","name":"user_context","doc":"Bind user context. Merges with existing context (if any).\n\nIt is recommending that you send at least the `:id` and `:email`\nvalues. All other values are arbitrary.\n\n```\nRaven.user_context(id: 1, email: \"foo@example.com\")\n```","summary":"

Bind user context.

","abstract":false,"args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"args_string":"(hash = nil, **options)","args_html":"(hash = nil, **options)","location":{"filename":"src/raven/instance.cr","line_number":281,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L281"},"def":{"name":"user_context","args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"context.user.merge!(hash, options)"}},{"html_id":"user_context(hash=nil,**options,&)-instance-method","name":"user_context","doc":"Bind user context.\nMerges with existing context (if any).\n\nSee `#user_context`","summary":"

Bind user context.

","abstract":false,"args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"args_string":"(hash = nil, **options, &)","args_html":"(hash = nil, **options, &)","location":{"filename":"src/raven/instance.cr","line_number":309,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L309"},"def":{"name":"user_context","args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"yields":0,"block_arity":0,"visibility":"Public","body":"prev_context = context.user.clone\nbegin\n context.user.merge!(hash, options)\n yield\nensure\n context.user = prev_context\nend\ncontext.user\n"}}]},{"html_id":"raven/Raven/Interface","path":"Raven/Interface.html","kind":"class","full_name":"Raven::Interface","name":"Interface","abstract":true,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/interface.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interface.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"}],"subclasses":[{"html_id":"raven/Raven/Interface/Exception","kind":"class","full_name":"Raven::Interface::Exception","name":"Exception"},{"html_id":"raven/Raven/Interface/HTTP","kind":"class","full_name":"Raven::Interface::HTTP","name":"HTTP"},{"html_id":"raven/Raven/Interface/Message","kind":"class","full_name":"Raven::Interface::Message","name":"Message"},{"html_id":"raven/Raven/Interface/SingleException","kind":"class","full_name":"Raven::Interface::SingleException","name":"SingleException"},{"html_id":"raven/Raven/Interface/Stacktrace","kind":"class","full_name":"Raven::Interface::Stacktrace","name":"Stacktrace"},{"html_id":"raven/Raven/Interface/Stacktrace/Frame","kind":"class","full_name":"Raven::Interface::Stacktrace::Frame","name":"Frame"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"class_methods":[{"html_id":"[](name:Symbol):Interface.class-class-method","name":"[]","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"args_string":"(name : Symbol) : Interface.class","args_html":"(name : Symbol) : Interface.class","location":{"filename":"src/raven/interface.cr","line_number":15,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interface.cr#L15"},"def":{"name":"[]","args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"return_type":"Interface.class","visibility":"Public","body":"self[name]? || (raise(ArgumentError.new(\"Unknown interface: #{name}\")))"}},{"html_id":"[]=(name:Symbol,klass:Interface.class)-class-method","name":"[]=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"},{"name":"klass","external_name":"klass","restriction":"Interface.class"}],"args_string":"(name : Symbol, klass : Interface.class)","args_html":"(name : Symbol, klass : Interface.class)","location":{"filename":"src/raven/interface.cr","line_number":7,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interface.cr#L7"},"def":{"name":"[]=","args":[{"name":"name","external_name":"name","restriction":"Symbol"},{"name":"klass","external_name":"klass","restriction":"Interface.class"}],"visibility":"Public","body":"registered[name] = klass"}},{"html_id":"[]?(name:Symbol):Interface.class|Nil-class-method","name":"[]?","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"args_string":"(name : Symbol) : Interface.class | Nil","args_html":"(name : Symbol) : Interface.class | Nil","location":{"filename":"src/raven/interface.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interface.cr#L11"},"def":{"name":"[]?","args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"return_type":"Interface.class | Nil","visibility":"Public","body":"registered[name]?"}},{"html_id":"registered-class-method","name":"registered","abstract":false,"location":{"filename":"src/raven/interface.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interface.cr#L5"},"def":{"name":"registered","visibility":"Public","body":"@@registered"}},{"html_id":"sentry_alias:Symbol-class-method","name":"sentry_alias","abstract":false,"location":{"filename":"src/raven/interface.cr","line_number":19,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interface.cr#L19"},"def":{"name":"sentry_alias","return_type":"Symbol","visibility":"Public","body":"{% if true %}\n raise \"Undefined {{ @type.id }}.sentry_alias\"\n {% end %}"}}],"instance_methods":[{"html_id":"to_hash-instance-method","name":"to_hash","abstract":false,"location":{"filename":"src/raven/interface.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interface.cr#L41"},"def":{"name":"to_hash","visibility":"Public","body":"{% if @type.instance_vars.empty? %}{% else %}\n {\n {% for var in @type.instance_vars %}\n {{ var.name.id.symbolize }} => ((v = @{{ var.name.id }}) \\\n .responds_to?(:to_hash) \\\n ? v.try(&.to_hash)\n : v.is_a?(Array) \\\n ? v.map { |i| i.responds_to?(:to_hash) ? i.to_hash : i }\n : v\n ),\n {% end %}\n }\n {% end %}"}},{"html_id":"to_json(*args,**options)-instance-method","name":"to_json","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven/interface.cr","line_number":57,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interface.cr#L57"},"def":{"name":"to_json","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"to_hash.to_json(*args, **options)"}},{"html_id":"to_json(*args,**options,&)-instance-method","name":"to_json","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven/interface.cr","line_number":57,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interface.cr#L57"},"def":{"name":"to_json","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"to_hash.to_json(*args, **options) do |*yield_args|\n yield *yield_args\nend"}}],"types":[{"html_id":"raven/Raven/Interface/Exception","path":"Raven/Interface/Exception.html","kind":"class","full_name":"Raven::Interface::Exception","name":"Exception","abstract":false,"superclass":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"ancestors":[{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/interfaces/exception.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/exception.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"class_methods":[{"html_id":"sentry_alias-class-method","name":"sentry_alias","abstract":false,"location":{"filename":"src/raven/interfaces/exception.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/exception.cr#L5"},"def":{"name":"sentry_alias","visibility":"Public","body":":exception"}}],"constructors":[{"html_id":"new(**attributes)-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/interfaces/exception.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/exception.cr#L2"},"def":{"name":"new","double_splat":{"name":"attributes","external_name":"attributes","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**attributes)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"values:Array(SingleException)|Nil-instance-method","name":"values","abstract":false,"location":{"filename":"src/raven/interfaces/exception.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/exception.cr#L3"},"def":{"name":"values","return_type":"Array(SingleException) | ::Nil","visibility":"Public","body":"@values"}},{"html_id":"values=(values:Array(SingleException)|Nil)-instance-method","name":"values=","abstract":false,"args":[{"name":"values","external_name":"values","restriction":"Array(SingleException) | ::Nil"}],"args_string":"(values : Array(SingleException) | Nil)","args_html":"(values : Array(SingleException) | Nil)","location":{"filename":"src/raven/interfaces/exception.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/exception.cr#L3"},"def":{"name":"values=","args":[{"name":"values","external_name":"values","restriction":"Array(SingleException) | ::Nil"}],"visibility":"Public","body":"@values = values"}}]},{"html_id":"raven/Raven/Interface/HTTP","path":"Raven/Interface/HTTP.html","kind":"class","full_name":"Raven::Interface::HTTP","name":"HTTP","abstract":false,"superclass":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"ancestors":[{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/interfaces/http.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/http.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"class_methods":[{"html_id":"sentry_alias-class-method","name":"sentry_alias","abstract":false,"location":{"filename":"src/raven/interfaces/http.cr","line_number":10,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/http.cr#L10"},"def":{"name":"sentry_alias","visibility":"Public","body":":request"}}],"constructors":[{"html_id":"new(**attributes)-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/interfaces/http.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/http.cr#L2"},"def":{"name":"new","double_splat":{"name":"attributes","external_name":"attributes","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**attributes)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"cookies:String|Nil-instance-method","name":"cookies","abstract":false,"location":{"filename":"src/raven/interfaces/http.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/http.cr#L6"},"def":{"name":"cookies","return_type":"String | ::Nil","visibility":"Public","body":"@cookies"}},{"html_id":"cookies=(cookies:String|Nil)-instance-method","name":"cookies=","abstract":false,"args":[{"name":"cookies","external_name":"cookies","restriction":"String | ::Nil"}],"args_string":"(cookies : String | Nil)","args_html":"(cookies : String | Nil)","location":{"filename":"src/raven/interfaces/http.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/http.cr#L6"},"def":{"name":"cookies=","args":[{"name":"cookies","external_name":"cookies","restriction":"String | ::Nil"}],"visibility":"Public","body":"@cookies = cookies"}},{"html_id":"data:AnyHash::JSON-instance-method","name":"data","abstract":false,"def":{"name":"data","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @data).nil?\n @data = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"data=(data:AnyHash::JSON)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"AnyHash::JSON"}],"args_string":"(data : AnyHash::JSON)","args_html":"(data : AnyHash::JSON)","def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@data = data"}},{"html_id":"data=(hash:Hash|NamedTuple|Nil)-instance-method","name":"data=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/interfaces/http.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/http.cr#L8"},"def":{"name":"data=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"data.replace(hash)"}},{"html_id":"env:AnyHash::JSON-instance-method","name":"env","abstract":false,"def":{"name":"env","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @env).nil?\n @env = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"env=(env:AnyHash::JSON)-instance-method","name":"env=","abstract":false,"args":[{"name":"env","external_name":"env","restriction":"AnyHash::JSON"}],"args_string":"(env : AnyHash::JSON)","args_html":"(env : AnyHash::JSON)","def":{"name":"env=","args":[{"name":"env","external_name":"env","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@env = env"}},{"html_id":"env=(hash:Hash|NamedTuple|Nil)-instance-method","name":"env=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/interfaces/http.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/http.cr#L8"},"def":{"name":"env=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"env.replace(hash)"}},{"html_id":"headers:AnyHash::JSON-instance-method","name":"headers","abstract":false,"def":{"name":"headers","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @headers).nil?\n @headers = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"headers=(headers:AnyHash::JSON)-instance-method","name":"headers=","abstract":false,"args":[{"name":"headers","external_name":"headers","restriction":"AnyHash::JSON"}],"args_string":"(headers : AnyHash::JSON)","args_html":"(headers : AnyHash::JSON)","def":{"name":"headers=","args":[{"name":"headers","external_name":"headers","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@headers = headers"}},{"html_id":"headers=(hash:Hash|NamedTuple|Nil)-instance-method","name":"headers=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/interfaces/http.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/http.cr#L8"},"def":{"name":"headers=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"headers.replace(hash)"}},{"html_id":"method:String-instance-method","name":"method","abstract":false,"def":{"name":"method","return_type":"String","visibility":"Public","body":"if (value = @method).nil?\n ::raise(::NilAssertionError.new(\"Raven::Interface::HTTP#method cannot be nil\"))\nelse\n value\nend"}},{"html_id":"method=(method:String)-instance-method","name":"method=","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"}],"args_string":"(method : String)","args_html":"(method : String)","location":{"filename":"src/raven/interfaces/http.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/http.cr#L4"},"def":{"name":"method=","args":[{"name":"method","external_name":"method","restriction":"String"}],"visibility":"Public","body":"@method = method"}},{"html_id":"method?:String|Nil-instance-method","name":"method?","abstract":false,"def":{"name":"method?","return_type":"String | ::Nil","visibility":"Public","body":"@method"}},{"html_id":"query_string:String|Nil-instance-method","name":"query_string","abstract":false,"location":{"filename":"src/raven/interfaces/http.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/http.cr#L5"},"def":{"name":"query_string","return_type":"String | ::Nil","visibility":"Public","body":"@query_string"}},{"html_id":"query_string=(query_string:String|Nil)-instance-method","name":"query_string=","abstract":false,"args":[{"name":"query_string","external_name":"query_string","restriction":"String | ::Nil"}],"args_string":"(query_string : String | Nil)","args_html":"(query_string : String | Nil)","location":{"filename":"src/raven/interfaces/http.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/http.cr#L5"},"def":{"name":"query_string=","args":[{"name":"query_string","external_name":"query_string","restriction":"String | ::Nil"}],"visibility":"Public","body":"@query_string = query_string"}},{"html_id":"url:String-instance-method","name":"url","abstract":false,"def":{"name":"url","return_type":"String","visibility":"Public","body":"if (value = @url).nil?\n ::raise(::NilAssertionError.new(\"Raven::Interface::HTTP#url cannot be nil\"))\nelse\n value\nend"}},{"html_id":"url=(url:String)-instance-method","name":"url=","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/raven/interfaces/http.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/http.cr#L3"},"def":{"name":"url=","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@url = url"}},{"html_id":"url?:String|Nil-instance-method","name":"url?","abstract":false,"def":{"name":"url?","return_type":"String | ::Nil","visibility":"Public","body":"@url"}}]},{"html_id":"raven/Raven/Interface/Message","path":"Raven/Interface/Message.html","kind":"class","full_name":"Raven::Interface::Message","name":"Message","abstract":false,"superclass":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"ancestors":[{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/interfaces/message.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/message.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"class_methods":[{"html_id":"sentry_alias-class-method","name":"sentry_alias","abstract":false,"location":{"filename":"src/raven/interfaces/message.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/message.cr#L6"},"def":{"name":"sentry_alias","visibility":"Public","body":":logentry"}}],"constructors":[{"html_id":"new(**attributes)-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/interfaces/message.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/message.cr#L2"},"def":{"name":"new","double_splat":{"name":"attributes","external_name":"attributes","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**attributes)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"message:String-instance-method","name":"message","abstract":false,"def":{"name":"message","return_type":"String","visibility":"Public","body":"if (value = @message).nil?\n ::raise(::NilAssertionError.new(\"Raven::Interface::Message#message cannot be nil\"))\nelse\n value\nend"}},{"html_id":"message=(message:String)-instance-method","name":"message=","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"String"}],"args_string":"(message : String)","args_html":"(message : String)","location":{"filename":"src/raven/interfaces/message.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/message.cr#L3"},"def":{"name":"message=","args":[{"name":"message","external_name":"message","restriction":"String"}],"visibility":"Public","body":"@message = message"}},{"html_id":"message?:String|Nil-instance-method","name":"message?","abstract":false,"def":{"name":"message?","return_type":"String | ::Nil","visibility":"Public","body":"@message"}},{"html_id":"params:Array(String)|Nil-instance-method","name":"params","abstract":false,"location":{"filename":"src/raven/interfaces/message.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/message.cr#L4"},"def":{"name":"params","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@params"}},{"html_id":"params=(params:Array(String)|Nil)-instance-method","name":"params=","abstract":false,"args":[{"name":"params","external_name":"params","restriction":"Array(String) | ::Nil"}],"args_string":"(params : Array(String) | Nil)","args_html":"(params : Array(String) | Nil)","location":{"filename":"src/raven/interfaces/message.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/message.cr#L4"},"def":{"name":"params=","args":[{"name":"params","external_name":"params","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@params = params"}},{"html_id":"unformatted_message-instance-method","name":"unformatted_message","abstract":false,"location":{"filename":"src/raven/interfaces/message.cr","line_number":10,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/message.cr#L10"},"def":{"name":"unformatted_message","visibility":"Public","body":"if (params = @params) && (!params.empty?)\n message?.try(&.%(params))\nelse\n message?\nend"}}]},{"html_id":"raven/Raven/Interface/SingleException","path":"Raven/Interface/SingleException.html","kind":"class","full_name":"Raven::Interface::SingleException","name":"SingleException","abstract":false,"superclass":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"ancestors":[{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/interfaces/single_exception.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/single_exception.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"constructors":[{"html_id":"new(**attributes)-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/interfaces/single_exception.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/single_exception.cr#L2"},"def":{"name":"new","double_splat":{"name":"attributes","external_name":"attributes","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**attributes)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"module:String|Nil-instance-method","name":"module","abstract":false,"location":{"filename":"src/raven/interfaces/single_exception.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/single_exception.cr#L5"},"def":{"name":"module","return_type":"String | ::Nil","visibility":"Public","body":"@module"}},{"html_id":"module=(module__arg0:String|Nil)-instance-method","name":"module=","abstract":false,"args":[{"name":"__arg0","external_name":"module","restriction":"String | ::Nil"}],"args_string":"(module __arg0 : String | Nil)","args_html":"(module __arg0 : String | Nil)","location":{"filename":"src/raven/interfaces/single_exception.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/single_exception.cr#L5"},"def":{"name":"module=","args":[{"name":"__arg0","external_name":"module","restriction":"String | ::Nil"}],"visibility":"Public","body":"@module = __arg0"}},{"html_id":"stacktrace:Stacktrace|Nil-instance-method","name":"stacktrace","abstract":false,"location":{"filename":"src/raven/interfaces/single_exception.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/single_exception.cr#L6"},"def":{"name":"stacktrace","return_type":"Stacktrace | ::Nil","visibility":"Public","body":"@stacktrace"}},{"html_id":"stacktrace=(stacktrace:Stacktrace|Nil)-instance-method","name":"stacktrace=","abstract":false,"args":[{"name":"stacktrace","external_name":"stacktrace","restriction":"Stacktrace | ::Nil"}],"args_string":"(stacktrace : Stacktrace | Nil)","args_html":"(stacktrace : Stacktrace | Nil)","location":{"filename":"src/raven/interfaces/single_exception.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/single_exception.cr#L6"},"def":{"name":"stacktrace=","args":[{"name":"stacktrace","external_name":"stacktrace","restriction":"Stacktrace | ::Nil"}],"visibility":"Public","body":"@stacktrace = stacktrace"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"def":{"name":"type","return_type":"String","visibility":"Public","body":"if (value = @type).nil?\n ::raise(::NilAssertionError.new(\"Raven::Interface::SingleException#type cannot be nil\"))\nelse\n value\nend"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/raven/interfaces/single_exception.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/single_exception.cr#L3"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}},{"html_id":"type?:String|Nil-instance-method","name":"type?","abstract":false,"def":{"name":"type?","return_type":"String | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"value:String-instance-method","name":"value","abstract":false,"def":{"name":"value","return_type":"String","visibility":"Public","body":"if (value = @value).nil?\n ::raise(::NilAssertionError.new(\"Raven::Interface::SingleException#value cannot be nil\"))\nelse\n value\nend"}},{"html_id":"value=(value:String)-instance-method","name":"value=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/raven/interfaces/single_exception.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/single_exception.cr#L4"},"def":{"name":"value=","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"@value = value"}},{"html_id":"value?:String|Nil-instance-method","name":"value?","abstract":false,"def":{"name":"value?","return_type":"String | ::Nil","visibility":"Public","body":"@value"}}]},{"html_id":"raven/Raven/Interface/Stacktrace","path":"Raven/Interface/Stacktrace.html","kind":"class","full_name":"Raven::Interface::Stacktrace","name":"Stacktrace","abstract":false,"superclass":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"ancestors":[{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/interfaces/stacktrace.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"class_methods":[{"html_id":"sentry_alias-class-method","name":"sentry_alias","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L5"},"def":{"name":"sentry_alias","visibility":"Public","body":":stacktrace"}}],"constructors":[{"html_id":"new(**attributes)-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L2"},"def":{"name":"new","double_splat":{"name":"attributes","external_name":"attributes","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**attributes)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"backtrace=(backtrace:Backtracer::Backtrace)-instance-method","name":"backtrace=","abstract":false,"args":[{"name":"backtrace","external_name":"backtrace","restriction":"Backtracer::Backtrace"}],"args_string":"(backtrace : Backtracer::Backtrace)","args_html":"(backtrace : Backtracer::Backtrace)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":9,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L9"},"def":{"name":"backtrace=","args":[{"name":"backtrace","external_name":"backtrace","restriction":"Backtracer::Backtrace"}],"visibility":"Public","body":"@frames.clear\nbacktrace.frames.reverse_each do |frame|\n @frames << (Frame.from_backtrace_frame(frame))\nend\n"}},{"html_id":"culprit:Frame|Nil-instance-method","name":"culprit","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":17,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L17"},"def":{"name":"culprit","return_type":"Frame | ::Nil","visibility":"Public","body":"frames.reverse.find(&.in_app?) || frames.last?"}},{"html_id":"frames:Array(Frame)-instance-method","name":"frames","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L3"},"def":{"name":"frames","return_type":"Array(Frame)","visibility":"Public","body":"@frames"}},{"html_id":"frames=(frames:Array(Frame))-instance-method","name":"frames=","abstract":false,"args":[{"name":"frames","external_name":"frames","restriction":"Array(Frame)"}],"args_string":"(frames : Array(Frame))","args_html":"(frames : Array(Frame))","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L3"},"def":{"name":"frames=","args":[{"name":"frames","external_name":"frames","restriction":"Array(Frame)"}],"visibility":"Public","body":"@frames = frames"}}],"types":[{"html_id":"raven/Raven/Interface/Stacktrace/Frame","path":"Raven/Interface/Stacktrace/Frame.html","kind":"class","full_name":"Raven::Interface::Stacktrace::Frame","name":"Frame","abstract":false,"superclass":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"ancestors":[{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/interfaces/stacktrace.cr","line_number":22,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L22"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Interface/Stacktrace","kind":"class","full_name":"Raven::Interface::Stacktrace","name":"Stacktrace"},"doc":"Not actually an interface, but I want to use the same style","summary":"

Not actually an interface, but I want to use the same style

","class_methods":[{"html_id":"from_backtrace_frame(line)-class-method","name":"from_backtrace_frame","abstract":false,"args":[{"name":"line","external_name":"line","restriction":""}],"args_string":"(line)","args_html":"(line)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":34,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L34"},"def":{"name":"from_backtrace_frame","args":[{"name":"line","external_name":"line","restriction":""}],"visibility":"Public","body":"new.tap do |frame|\n frame.abs_path = line.absolute_path || line.path\n frame.filename = line.relative_path\n frame.function = line.method\n frame.package = line.shard_name\n frame.lineno = line.lineno\n frame.colno = line.column\n frame.in_app = line.in_app?\n if context = line.context\n frame.pre_context, frame.context_line, frame.post_context = context.pre, context.line, context.post\n end\nend"}}],"constructors":[{"html_id":"new(**attributes)-class-method","name":"new","doc":"Not actually an interface, but I want to use the same style","summary":"

Not actually an interface, but I want to use the same style

","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":22,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L22"},"def":{"name":"new","double_splat":{"name":"attributes","external_name":"attributes","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**attributes)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"abs_path:String|Nil-instance-method","name":"abs_path","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":23,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L23"},"def":{"name":"abs_path","return_type":"String | ::Nil","visibility":"Public","body":"@abs_path"}},{"html_id":"abs_path=(abs_path:String|Nil)-instance-method","name":"abs_path=","abstract":false,"args":[{"name":"abs_path","external_name":"abs_path","restriction":"String | ::Nil"}],"args_string":"(abs_path : String | Nil)","args_html":"(abs_path : String | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":23,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L23"},"def":{"name":"abs_path=","args":[{"name":"abs_path","external_name":"abs_path","restriction":"String | ::Nil"}],"visibility":"Public","body":"@abs_path = abs_path"}},{"html_id":"colno:Int32|Nil-instance-method","name":"colno","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":31,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L31"},"def":{"name":"colno","return_type":"Int32 | ::Nil","visibility":"Public","body":"@colno"}},{"html_id":"colno=(colno:Int32|Nil)-instance-method","name":"colno=","abstract":false,"args":[{"name":"colno","external_name":"colno","restriction":"Int32 | ::Nil"}],"args_string":"(colno : Int32 | Nil)","args_html":"(colno : Int32 | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":31,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L31"},"def":{"name":"colno=","args":[{"name":"colno","external_name":"colno","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@colno = colno"}},{"html_id":"context_line:String|Nil-instance-method","name":"context_line","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":27,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L27"},"def":{"name":"context_line","return_type":"String | ::Nil","visibility":"Public","body":"@context_line"}},{"html_id":"context_line=(context_line:String|Nil)-instance-method","name":"context_line=","abstract":false,"args":[{"name":"context_line","external_name":"context_line","restriction":"String | ::Nil"}],"args_string":"(context_line : String | Nil)","args_html":"(context_line : String | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":27,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L27"},"def":{"name":"context_line=","args":[{"name":"context_line","external_name":"context_line","restriction":"String | ::Nil"}],"visibility":"Public","body":"@context_line = context_line"}},{"html_id":"filename:String|Nil-instance-method","name":"filename","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":24,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L24"},"def":{"name":"filename","return_type":"String | ::Nil","visibility":"Public","body":"@filename"}},{"html_id":"filename=(filename:String|Nil)-instance-method","name":"filename=","abstract":false,"args":[{"name":"filename","external_name":"filename","restriction":"String | ::Nil"}],"args_string":"(filename : String | Nil)","args_html":"(filename : String | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":24,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L24"},"def":{"name":"filename=","args":[{"name":"filename","external_name":"filename","restriction":"String | ::Nil"}],"visibility":"Public","body":"@filename = filename"}},{"html_id":"function:String|Nil-instance-method","name":"function","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":25,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L25"},"def":{"name":"function","return_type":"String | ::Nil","visibility":"Public","body":"@function"}},{"html_id":"function=(function:String|Nil)-instance-method","name":"function=","abstract":false,"args":[{"name":"function","external_name":"function","restriction":"String | ::Nil"}],"args_string":"(function : String | Nil)","args_html":"(function : String | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":25,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L25"},"def":{"name":"function=","args":[{"name":"function","external_name":"function","restriction":"String | ::Nil"}],"visibility":"Public","body":"@function = function"}},{"html_id":"in_app=(in_app:Bool|Nil)-instance-method","name":"in_app=","abstract":false,"args":[{"name":"in_app","external_name":"in_app","restriction":"Bool | ::Nil"}],"args_string":"(in_app : Bool | Nil)","args_html":"(in_app : Bool | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":32,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L32"},"def":{"name":"in_app=","args":[{"name":"in_app","external_name":"in_app","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@in_app = in_app"}},{"html_id":"in_app?:Bool|Nil-instance-method","name":"in_app?","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":32,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L32"},"def":{"name":"in_app?","return_type":"Bool | ::Nil","visibility":"Public","body":"@in_app"}},{"html_id":"lineno:Int32|Nil-instance-method","name":"lineno","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":30,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L30"},"def":{"name":"lineno","return_type":"Int32 | ::Nil","visibility":"Public","body":"@lineno"}},{"html_id":"lineno=(lineno:Int32|Nil)-instance-method","name":"lineno=","abstract":false,"args":[{"name":"lineno","external_name":"lineno","restriction":"Int32 | ::Nil"}],"args_string":"(lineno : Int32 | Nil)","args_html":"(lineno : Int32 | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":30,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L30"},"def":{"name":"lineno=","args":[{"name":"lineno","external_name":"lineno","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@lineno = lineno"}},{"html_id":"package:String|Nil-instance-method","name":"package","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":26,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L26"},"def":{"name":"package","return_type":"String | ::Nil","visibility":"Public","body":"@package"}},{"html_id":"package=(package:String|Nil)-instance-method","name":"package=","abstract":false,"args":[{"name":"package","external_name":"package","restriction":"String | ::Nil"}],"args_string":"(package : String | Nil)","args_html":"(package : String | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":26,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L26"},"def":{"name":"package=","args":[{"name":"package","external_name":"package","restriction":"String | ::Nil"}],"visibility":"Public","body":"@package = package"}},{"html_id":"post_context:Array(String)|Nil-instance-method","name":"post_context","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":29,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L29"},"def":{"name":"post_context","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@post_context"}},{"html_id":"post_context=(post_context:Array(String)|Nil)-instance-method","name":"post_context=","abstract":false,"args":[{"name":"post_context","external_name":"post_context","restriction":"Array(String) | ::Nil"}],"args_string":"(post_context : Array(String) | Nil)","args_html":"(post_context : Array(String) | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":29,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L29"},"def":{"name":"post_context=","args":[{"name":"post_context","external_name":"post_context","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@post_context = post_context"}},{"html_id":"pre_context:Array(String)|Nil-instance-method","name":"pre_context","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":28,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L28"},"def":{"name":"pre_context","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@pre_context"}},{"html_id":"pre_context=(pre_context:Array(String)|Nil)-instance-method","name":"pre_context=","abstract":false,"args":[{"name":"pre_context","external_name":"pre_context","restriction":"Array(String) | ::Nil"}],"args_string":"(pre_context : Array(String) | Nil)","args_html":"(pre_context : Array(String) | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":28,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L28"},"def":{"name":"pre_context=","args":[{"name":"pre_context","external_name":"pre_context","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@pre_context = pre_context"}}]}]}]},{"html_id":"raven/Raven/LogBackend","path":"Raven/LogBackend.html","kind":"class","full_name":"Raven::LogBackend","name":"LogBackend","abstract":false,"superclass":{"html_id":"raven/Log/Backend","kind":"class","full_name":"Log::Backend","name":"Backend"},"ancestors":[{"html_id":"raven/Log/Backend","kind":"class","full_name":"Log::Backend","name":"Backend"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/log_backend.cr","line_number":15,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log_backend.cr#L15"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"doc":"`::Log::Backend` recording logged messages.\n\n```\nLog.setup do |c|\n c.bind \"*\", :info, Log::IOBackend.new\n c.bind \"*\", :info, Raven::LogBackend.new(record_breadcrumbs: true)\n c.bind \"*\", :warn, Raven::LogBackend.new(capture_exceptions: true)\n c.bind \"*\", :fatal, Raven::LogBackend.new(capture_all: true)\nend\n```","summary":"

::Log::Backend recording logged messages.

","constructors":[{"html_id":"new(dispatch_mode:::Log::DispatchMode=:sync,*,record_breadcrumbs:Bool=false,capture_exceptions:Bool=false,capture_all:Bool=false,default_logger:String=\"logger\")-class-method","name":"new","abstract":false,"args":[{"name":"dispatch_mode","default_value":":sync","external_name":"dispatch_mode","restriction":"::Log::DispatchMode"},{"name":"","external_name":"","restriction":""},{"name":"record_breadcrumbs","default_value":"false","external_name":"record_breadcrumbs","restriction":"::Bool"},{"name":"capture_exceptions","default_value":"false","external_name":"capture_exceptions","restriction":"::Bool"},{"name":"capture_all","default_value":"false","external_name":"capture_all","restriction":"::Bool"},{"name":"default_logger","default_value":"\"logger\"","external_name":"default_logger","restriction":"::String"}],"args_string":"(dispatch_mode : ::Log::DispatchMode = :sync, *, record_breadcrumbs : Bool = false, capture_exceptions : Bool = false, capture_all : Bool = false, default_logger : String = \"logger\")","args_html":"(dispatch_mode : ::Log::DispatchMode = :sync, *, record_breadcrumbs : Bool = false, capture_exceptions : Bool = false, capture_all : Bool = false, default_logger : String = "logger")","location":{"filename":"src/raven/log_backend.cr","line_number":56,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log_backend.cr#L56"},"def":{"name":"new","args":[{"name":"dispatch_mode","default_value":":sync","external_name":"dispatch_mode","restriction":"::Log::DispatchMode"},{"name":"","external_name":"","restriction":""},{"name":"record_breadcrumbs","default_value":"false","external_name":"record_breadcrumbs","restriction":"::Bool"},{"name":"capture_exceptions","default_value":"false","external_name":"capture_exceptions","restriction":"::Bool"},{"name":"capture_all","default_value":"false","external_name":"capture_all","restriction":"::Bool"},{"name":"default_logger","default_value":"\"logger\"","external_name":"default_logger","restriction":"::String"}],"splat_index":1,"visibility":"Public","body":"_ = allocate\n_.initialize(dispatch_mode, record_breadcrumbs: record_breadcrumbs, capture_exceptions: capture_exceptions, capture_all: capture_all, default_logger: default_logger)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"active?-instance-method","name":"active?","abstract":false,"location":{"filename":"src/raven/log_backend.cr","line_number":111,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log_backend.cr#L111"},"def":{"name":"active?","visibility":"Public","body":"record_breadcrumbs? || capture?"}},{"html_id":"capture?-instance-method","name":"capture?","abstract":false,"location":{"filename":"src/raven/log_backend.cr","line_number":115,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log_backend.cr#L115"},"def":{"name":"capture?","visibility":"Public","body":"capture_exceptions? || capture_all?"}},{"html_id":"capture_all=(capture_all:Bool)-instance-method","name":"capture_all=","doc":"Captures each logged entry.\n\nSee `Raven.capture`","summary":"

Captures each logged entry.

","abstract":false,"args":[{"name":"capture_all","external_name":"capture_all","restriction":"Bool"}],"args_string":"(capture_all : Bool)","args_html":"(capture_all : Bool)","location":{"filename":"src/raven/log_backend.cr","line_number":49,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log_backend.cr#L49"},"def":{"name":"capture_all=","args":[{"name":"capture_all","external_name":"capture_all","restriction":"Bool"}],"visibility":"Public","body":"@capture_all = capture_all"}},{"html_id":"capture_all?:Bool-instance-method","name":"capture_all?","doc":"Captures each logged entry.\n\nSee `Raven.capture`","summary":"

Captures each logged entry.

","abstract":false,"location":{"filename":"src/raven/log_backend.cr","line_number":49,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log_backend.cr#L49"},"def":{"name":"capture_all?","return_type":"Bool","visibility":"Public","body":"@capture_all"}},{"html_id":"capture_exceptions=(capture_exceptions:Bool)-instance-method","name":"capture_exceptions=","doc":"Captures `Exception` attached to the logged entry, if present.\n\nSee `Raven.capture`","summary":"

Captures Exception attached to the logged entry, if present.

","abstract":false,"args":[{"name":"capture_exceptions","external_name":"capture_exceptions","restriction":"Bool"}],"args_string":"(capture_exceptions : Bool)","args_html":"(capture_exceptions : Bool)","location":{"filename":"src/raven/log_backend.cr","line_number":44,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log_backend.cr#L44"},"def":{"name":"capture_exceptions=","args":[{"name":"capture_exceptions","external_name":"capture_exceptions","restriction":"Bool"}],"visibility":"Public","body":"@capture_exceptions = capture_exceptions"}},{"html_id":"capture_exceptions?:Bool-instance-method","name":"capture_exceptions?","doc":"Captures `Exception` attached to the logged entry, if present.\n\nSee `Raven.capture`","summary":"

Captures Exception attached to the logged entry, if present.

","abstract":false,"location":{"filename":"src/raven/log_backend.cr","line_number":44,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log_backend.cr#L44"},"def":{"name":"capture_exceptions?","return_type":"Bool","visibility":"Public","body":"@capture_exceptions"}},{"html_id":"default_logger:String-instance-method","name":"default_logger","doc":"Default name of the root logger.\n\nSee `Event#logger`, `Breadcrumb#category`","summary":"

Default name of the root logger.

","abstract":false,"location":{"filename":"src/raven/log_backend.cr","line_number":54,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log_backend.cr#L54"},"def":{"name":"default_logger","return_type":"String","visibility":"Public","body":"@default_logger"}},{"html_id":"default_logger=(default_logger:String)-instance-method","name":"default_logger=","doc":"Default name of the root logger.\n\nSee `Event#logger`, `Breadcrumb#category`","summary":"

Default name of the root logger.

","abstract":false,"args":[{"name":"default_logger","external_name":"default_logger","restriction":"String"}],"args_string":"(default_logger : String)","args_html":"(default_logger : String)","location":{"filename":"src/raven/log_backend.cr","line_number":54,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log_backend.cr#L54"},"def":{"name":"default_logger=","args":[{"name":"default_logger","external_name":"default_logger","restriction":"String"}],"visibility":"Public","body":"@default_logger = default_logger"}},{"html_id":"record_breadcrumbs=(record_breadcrumbs:Bool)-instance-method","name":"record_breadcrumbs=","doc":"Records each logged entry as a breadcrumb.\n\nSee `Raven.breadcrumbs`","summary":"

Records each logged entry as a breadcrumb.

","abstract":false,"args":[{"name":"record_breadcrumbs","external_name":"record_breadcrumbs","restriction":"Bool"}],"args_string":"(record_breadcrumbs : Bool)","args_html":"(record_breadcrumbs : Bool)","location":{"filename":"src/raven/log_backend.cr","line_number":39,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log_backend.cr#L39"},"def":{"name":"record_breadcrumbs=","args":[{"name":"record_breadcrumbs","external_name":"record_breadcrumbs","restriction":"Bool"}],"visibility":"Public","body":"@record_breadcrumbs = record_breadcrumbs"}},{"html_id":"record_breadcrumbs?:Bool-instance-method","name":"record_breadcrumbs?","doc":"Records each logged entry as a breadcrumb.\n\nSee `Raven.breadcrumbs`","summary":"

Records each logged entry as a breadcrumb.

","abstract":false,"location":{"filename":"src/raven/log_backend.cr","line_number":39,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log_backend.cr#L39"},"def":{"name":"record_breadcrumbs?","return_type":"Bool","visibility":"Public","body":"@record_breadcrumbs"}},{"html_id":"write(entry:::Log::Entry)-instance-method","name":"write","doc":"Writes the *entry* to this backend.","summary":"

Writes the entry to this backend.

","abstract":false,"args":[{"name":"entry","external_name":"entry","restriction":"::Log::Entry"}],"args_string":"(entry : ::Log::Entry)","args_html":"(entry : ::Log::Entry)","location":{"filename":"src/raven/log_backend.cr","line_number":119,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log_backend.cr#L119"},"def":{"name":"write","args":[{"name":"entry","external_name":"entry","restriction":"::Log::Entry"}],"visibility":"Public","body":"if (!active?) || (ignored_logger?(entry.source))\n return\nend\ndata = entry.context.extend(entry.data.to_h)\ndata = data.empty? ? nil : (JSON.parse(data.to_json)).as_h\nmessage = entry.message\nex = entry.exception\nif capture?\n if ex || capture_all?\n capture_exception(ex, message, entry.severity, entry.timestamp, entry.source, data)\n end\nend\nif record_breadcrumbs?\n if ex\n message = message + \" -- (#{ex.class}): #{ex.message || \"n/a\"}\"\n end\n record_breadcrumb(message, entry.severity, entry.timestamp, entry.source, data)\nend\n"}}]},{"html_id":"raven/Raven/Mixin","path":"Raven/Mixin.html","kind":"module","full_name":"Raven::Mixin","name":"Mixin","abstract":false,"locations":[{"filename":"src/raven/mixins/initialize_with.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/mixins/initialize_with.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"types":[{"html_id":"raven/Raven/Mixin/InitializeWith","path":"Raven/Mixin/InitializeWith.html","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith","abstract":false,"locations":[{"filename":"src/raven/mixins/initialize_with.cr","line_number":26,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/mixins/initialize_with.cr#L26"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"raven/Raven/Breadcrumb","kind":"class","full_name":"Raven::Breadcrumb","name":"Breadcrumb"},{"html_id":"raven/Raven/Event","kind":"class","full_name":"Raven::Event","name":"Event"},{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"}],"namespace":{"html_id":"raven/Raven/Mixin","kind":"module","full_name":"Raven::Mixin","name":"Mixin"},"doc":"Maps passed *attributes* to `@ivar_variables` and `self.property_setters=`.\n\n```\nclass Foo\n include Raven::Mixin::InitializeWith\n\n @logger : String?\n property message : String?\n\n def backtrace=(backtrace)\n # ...\n end\nend\n\nfoo = Foo.new\nfoo.initialize_with({\n logger: \"my-logger\",\n message: \"boo!\",\n backtrace: caller,\n})\n```\n\nNOTE: Magic inside!","summary":"

Maps passed attributes to @ivar_variables and self.property_setters=.

","instance_methods":[{"html_id":"initialize_with(attributes)-instance-method","name":"initialize_with","abstract":false,"args":[{"name":"attributes","external_name":"attributes","restriction":""}],"args_string":"(attributes)","args_html":"(attributes)","location":{"filename":"src/raven/mixins/initialize_with.cr","line_number":27,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/mixins/initialize_with.cr#L27"},"def":{"name":"initialize_with","args":[{"name":"attributes","external_name":"attributes","restriction":""}],"visibility":"Public","body":"{% if true %}\n {% properties = @type.methods.select do |method|\n (method.name.ends_with?('=')) && (method.args.size == 1)\nend.map() do |__arg0|\n __arg0.name[0...-1].symbolize\nend.uniq %}\n\n {% for name in properties %}\n if arg = attributes[{{ name }}]?\n self.{{ name.id }} = arg\n end\n {% end %}\n\n {% ivars = @type.instance_vars.map() do |__arg1|\n __arg1.name.symbolize\nend.uniq %}\n\n {% for name in ivars %}\n {% if properties.includes?(name) %}{% else %}\n if arg = attributes[{{ name }}]?\n @{{ name.id }} = arg\n end\n {% end %}\n {% end %}\n {% end %}\nself\n"}},{"html_id":"initialize_with(**attributes)-instance-method","name":"initialize_with","abstract":false,"location":{"filename":"src/raven/mixins/initialize_with.cr","line_number":60,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/mixins/initialize_with.cr#L60"},"def":{"name":"initialize_with","double_splat":{"name":"attributes","external_name":"attributes","restriction":""},"visibility":"Public","body":"initialize_with(attributes)"}}]}]},{"html_id":"raven/Raven/Processor","path":"Raven/Processor.html","kind":"class","full_name":"Raven::Processor","name":"Processor","abstract":true,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processor.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processor.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"INT_MASK","name":"INT_MASK","value":"0"},{"id":"STRING_MASK","name":"STRING_MASK","value":"\"********\""}],"subclasses":[{"html_id":"raven/Raven/Processor/Compact","kind":"class","full_name":"Raven::Processor::Compact","name":"Compact"},{"html_id":"raven/Raven/Processor/Cookies","kind":"class","full_name":"Raven::Processor::Cookies","name":"Cookies"},{"html_id":"raven/Raven/Processor/HTTPHeaders","kind":"class","full_name":"Raven::Processor::HTTPHeaders","name":"HTTPHeaders"},{"html_id":"raven/Raven/Processor/RemoveCircularReferences","kind":"class","full_name":"Raven::Processor::RemoveCircularReferences","name":"RemoveCircularReferences"},{"html_id":"raven/Raven/Processor/RemoveStacktrace","kind":"class","full_name":"Raven::Processor::RemoveStacktrace","name":"RemoveStacktrace"},{"html_id":"raven/Raven/Processor/RequestMethodData","kind":"class","full_name":"Raven::Processor::RequestMethodData","name":"RequestMethodData"},{"html_id":"raven/Raven/Processor/SanitizeData","kind":"class","full_name":"Raven::Processor::SanitizeData","name":"SanitizeData"},{"html_id":"raven/Raven/Processor/UTF8Conversion","kind":"class","full_name":"Raven::Processor::UTF8Conversion","name":"UTF8Conversion"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"constructors":[{"html_id":"new(client:Client)-class-method","name":"new","abstract":false,"args":[{"name":"client","external_name":"client","restriction":"Client"}],"args_string":"(client : Client)","args_html":"(client : Client)","location":{"filename":"src/raven/processor.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processor.cr#L6"},"def":{"name":"new","args":[{"name":"client","external_name":"client","restriction":"Client"}],"visibility":"Public","body":"_ = allocate\n_.initialize(client)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"process(data)-instance-method","name":"process","abstract":true,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processor.cr","line_number":9,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processor.cr#L9"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":""}}],"types":[{"html_id":"raven/Raven/Processor/Compact","path":"Raven/Processor/Compact.html","kind":"class","full_name":"Raven::Processor::Compact","name":"Compact","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/compact.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/compact.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"instance_methods":[{"html_id":"process(data)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processors/compact.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/compact.cr#L3"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"if (data.responds_to?(:\"empty?\")) && data.empty?\n return\nend\ncase data\nwhen Hash\n data.each do |k, v|\n data[k] = process(v)\n end\n data.compact!\n data.to_h\nwhen Array\n data.map! do |v|\n (process(v)).as(typeof(v))\n end\nelse\n data\nend\n"}}]},{"html_id":"raven/Raven/Processor/Cookies","path":"Raven/Processor/Cookies.html","kind":"class","full_name":"Raven::Processor::Cookies","name":"Cookies","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/cookies.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/cookies.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"instance_methods":[{"html_id":"process(data)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processors/cookies.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/cookies.cr#L3"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"if data.is_a?(Hash)\nelse\n return data\nend\ndata = data.to_any_json\nif req = (data[:request]?.as?(Hash)).try(&.to_any_json)\n if req[:cookies]?\n req[:cookies] = nil\n end\n if req[:headers, \"Cookie\"]?\n req[:headers, \"Cookie\"] = nil\n end\nend\ndata.to_h\n"}}]},{"html_id":"raven/Raven/Processor/HTTPHeaders","path":"Raven/Processor/HTTPHeaders.html","kind":"class","full_name":"Raven::Processor::HTTPHeaders","name":"HTTPHeaders","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/http_headers.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/http_headers.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DEFAULT_FIELDS","name":"DEFAULT_FIELDS","value":"[\"Authorization\"] of String | Regex"}],"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"constructors":[{"html_id":"new(client)-class-method","name":"new","abstract":false,"args":[{"name":"client","external_name":"client","restriction":""}],"args_string":"(client)","args_html":"(client)","location":{"filename":"src/raven/processors/http_headers.cr","line_number":17,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/http_headers.cr#L17"},"def":{"name":"new","args":[{"name":"client","external_name":"client","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(client)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"process(data)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processors/http_headers.cr","line_number":22,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/http_headers.cr#L22"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"if data.is_a?(Hash)\nelse\n return data\nend\ndata = data.to_any_json\nif headers = data[:request, :headers]?.as?(Hash)\n headers.keys.select!() do |__arg0|\n __arg0.to_s.matches?(fields_pattern)\n end.each do |key|\n headers[key] = STRING_MASK\n end\nend\ndata.to_h\n"}},{"html_id":"sanitize_http_headers:Array(String|Regex)-instance-method","name":"sanitize_http_headers","abstract":false,"location":{"filename":"src/raven/processors/http_headers.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/http_headers.cr#L5"},"def":{"name":"sanitize_http_headers","return_type":"Array(String | Regex)","visibility":"Public","body":"@sanitize_http_headers"}},{"html_id":"sanitize_http_headers=(sanitize_http_headers:Array(String|Regex))-instance-method","name":"sanitize_http_headers=","abstract":false,"args":[{"name":"sanitize_http_headers","external_name":"sanitize_http_headers","restriction":"Array(String | Regex)"}],"args_string":"(sanitize_http_headers : Array(String | Regex))","args_html":"(sanitize_http_headers : Array(String | Regex))","location":{"filename":"src/raven/processors/http_headers.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/http_headers.cr#L5"},"def":{"name":"sanitize_http_headers=","args":[{"name":"sanitize_http_headers","external_name":"sanitize_http_headers","restriction":"Array(String | Regex)"}],"visibility":"Public","body":"@sanitize_http_headers = sanitize_http_headers"}}]},{"html_id":"raven/Raven/Processor/RemoveCircularReferences","path":"Raven/Processor/RemoveCircularReferences.html","kind":"class","full_name":"Raven::Processor::RemoveCircularReferences","name":"RemoveCircularReferences","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/remove_circular_references.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/remove_circular_references.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"instance_methods":[{"html_id":"process(data,visited=[]ofUInt64)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"visited","default_value":"[] of UInt64","external_name":"visited","restriction":""}],"args_string":"(data, visited = [] of UInt64)","args_html":"(data, visited = [] of UInt64)","location":{"filename":"src/raven/processors/remove_circular_references.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/remove_circular_references.cr#L3"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""},{"name":"visited","default_value":"[] of UInt64","external_name":"visited","restriction":""}],"visibility":"Public","body":"if data.responds_to?(:object_id)\nelse\n return data\nend\nif visited.includes?(data.object_id)\n return \"(...)\"\nend\ncase data\nwhen Hash\n visited << data.object_id\n data.each do |k, v|\n begin\n data[k] = process(v, visited)\n rescue\n \"!!!\"\n end\n end\n data\nwhen Array\n visited << data.object_id\n data.map! do |v|\n (process(v, visited)).as(typeof(v))\n end\nelse\n data\nend\n"}}]},{"html_id":"raven/Raven/Processor/RemoveStacktrace","path":"Raven/Processor/RemoveStacktrace.html","kind":"class","full_name":"Raven::Processor::RemoveStacktrace","name":"RemoveStacktrace","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/remove_stacktrace.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/remove_stacktrace.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"instance_methods":[{"html_id":"process(data)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processors/remove_stacktrace.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/remove_stacktrace.cr#L3"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"if data.is_a?(Hash)\nelse\n return data\nend\ndata = data.to_any_json\n(data[:exception, :values]?.as?(Array)).try(&.each do |e|\n (e.as?(Hash)).try(&.delete(:stacktrace))\nend)\ndata.to_h\n"}}]},{"html_id":"raven/Raven/Processor/RequestMethodData","path":"Raven/Processor/RequestMethodData.html","kind":"class","full_name":"Raven::Processor::RequestMethodData","name":"RequestMethodData","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/request_method_data.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/request_method_data.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"constructors":[{"html_id":"new(client)-class-method","name":"new","abstract":false,"args":[{"name":"client","external_name":"client","restriction":""}],"args_string":"(client)","args_html":"(client)","location":{"filename":"src/raven/processors/request_method_data.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/request_method_data.cr#L5"},"def":{"name":"new","args":[{"name":"client","external_name":"client","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(client)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"process(data)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processors/request_method_data.cr","line_number":10,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/request_method_data.cr#L10"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"if data.is_a?(Hash)\nelse\n return data\nend\ndata = data.to_any_json\nif sanitize_request_method?(data[:request, :method]?)\n data[:request, :data] = nil\nend\ndata.to_h\n"}},{"html_id":"request_methods:Array(String)-instance-method","name":"request_methods","abstract":false,"location":{"filename":"src/raven/processors/request_method_data.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/request_method_data.cr#L3"},"def":{"name":"request_methods","return_type":"Array(String)","visibility":"Public","body":"@request_methods"}},{"html_id":"request_methods=(request_methods:Array(String))-instance-method","name":"request_methods=","abstract":false,"args":[{"name":"request_methods","external_name":"request_methods","restriction":"Array(String)"}],"args_string":"(request_methods : Array(String))","args_html":"(request_methods : Array(String))","location":{"filename":"src/raven/processors/request_method_data.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/request_method_data.cr#L3"},"def":{"name":"request_methods=","args":[{"name":"request_methods","external_name":"request_methods","restriction":"Array(String)"}],"visibility":"Public","body":"@request_methods = request_methods"}}]},{"html_id":"raven/Raven/Processor/SanitizeData","path":"Raven/Processor/SanitizeData.html","kind":"class","full_name":"Raven::Processor::SanitizeData","name":"SanitizeData","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/sanitize_data.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/sanitize_data.cr#L4"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"CREDIT_CARD_PATTERN","name":"CREDIT_CARD_PATTERN","value":"/\\b(?:3[47]\\d|(?:4\\d|5[1-5]|65)\\d{2}|6011)\\d{12}\\b/"},{"id":"DEFAULT_FIELDS","name":"DEFAULT_FIELDS","value":"[\"authorization\", \"password\", \"password_repeat\", \"passwd\", \"secret\", \"ssn\", /social(.*)?sec/i]"}],"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"constructors":[{"html_id":"new(client)-class-method","name":"new","abstract":false,"args":[{"name":"client","external_name":"client","restriction":""}],"args_string":"(client)","args_html":"(client)","location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":26,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/sanitize_data.cr#L26"},"def":{"name":"new","args":[{"name":"client","external_name":"client","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(client)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"process(key,value)-instance-method","name":"process","doc":"ameba:disable Metrics/CyclomaticComplexity","summary":"

ameba:disable Metrics/CyclomaticComplexity

","abstract":false,"args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":""}],"args_string":"(key, value)","args_html":"(key, value)","location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":54,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/sanitize_data.cr#L54"},"def":{"name":"process","args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":""}],"visibility":"Public","body":"case value\nwhen Hash\n process(value)\nwhen Array\n value.map do |i|\n (process(key, i)).as(AnyHash::JSONTypes::Value)\n end\nwhen String\n case\n when (value.matches?(fields_pattern)) && (json = parse_json_or_nil(value))\n (process(json)).to_json\n when matches_regexes?(key, value)\n STRING_MASK\n when (key == (:query_string)) || (key == \"query_string\")\n sanitize_query_string(value)\n else\n value\n end\nwhen Number\n matches_regexes?(key, value) ? INT_MASK : value\nelse\n value\nend"}},{"html_id":"process(data)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":33,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/sanitize_data.cr#L33"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"case data\nwhen Hash(String, JSON::Any)\n data = data.each_with_object(AnyHash::JSON.new) do |__temp_64, memo|\n k, v = __temp_64\n case v = v.raw\n when AnyHash::JSONTypes::Value\n memo[k] = process(k, v)\n end\n end\n data.to_h\nwhen Hash\n data = data.each_with_object(data.to_any_json) do |__temp_65, memo|\n k, v = __temp_65\n memo[k] = process(k, v)\n end\n data.to_h\nelse\n data\nend"}},{"html_id":"sanitize_credit_cards=(sanitize_credit_cards:Bool)-instance-method","name":"sanitize_credit_cards=","abstract":false,"args":[{"name":"sanitize_credit_cards","external_name":"sanitize_credit_cards","restriction":"Bool"}],"args_string":"(sanitize_credit_cards : Bool)","args_html":"(sanitize_credit_cards : Bool)","location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":13,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/sanitize_data.cr#L13"},"def":{"name":"sanitize_credit_cards=","args":[{"name":"sanitize_credit_cards","external_name":"sanitize_credit_cards","restriction":"Bool"}],"visibility":"Public","body":"@sanitize_credit_cards = sanitize_credit_cards"}},{"html_id":"sanitize_credit_cards?:Bool-instance-method","name":"sanitize_credit_cards?","abstract":false,"location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":13,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/sanitize_data.cr#L13"},"def":{"name":"sanitize_credit_cards?","return_type":"Bool","visibility":"Public","body":"@sanitize_credit_cards"}},{"html_id":"sanitize_fields:Array(String|Regex)-instance-method","name":"sanitize_fields","abstract":false,"location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/sanitize_data.cr#L11"},"def":{"name":"sanitize_fields","return_type":"Array(String | Regex)","visibility":"Public","body":"@sanitize_fields"}},{"html_id":"sanitize_fields=(sanitize_fields:Array(String|Regex))-instance-method","name":"sanitize_fields=","abstract":false,"args":[{"name":"sanitize_fields","external_name":"sanitize_fields","restriction":"Array(String | Regex)"}],"args_string":"(sanitize_fields : Array(String | Regex))","args_html":"(sanitize_fields : Array(String | Regex))","location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/sanitize_data.cr#L11"},"def":{"name":"sanitize_fields=","args":[{"name":"sanitize_fields","external_name":"sanitize_fields","restriction":"Array(String | Regex)"}],"visibility":"Public","body":"@sanitize_fields = sanitize_fields"}},{"html_id":"sanitize_fields_excluded:Array(String|Regex)-instance-method","name":"sanitize_fields_excluded","abstract":false,"location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":12,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/sanitize_data.cr#L12"},"def":{"name":"sanitize_fields_excluded","return_type":"Array(String | Regex)","visibility":"Public","body":"@sanitize_fields_excluded"}},{"html_id":"sanitize_fields_excluded=(sanitize_fields_excluded:Array(String|Regex))-instance-method","name":"sanitize_fields_excluded=","abstract":false,"args":[{"name":"sanitize_fields_excluded","external_name":"sanitize_fields_excluded","restriction":"Array(String | Regex)"}],"args_string":"(sanitize_fields_excluded : Array(String | Regex))","args_html":"(sanitize_fields_excluded : Array(String | Regex))","location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":12,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/sanitize_data.cr#L12"},"def":{"name":"sanitize_fields_excluded=","args":[{"name":"sanitize_fields_excluded","external_name":"sanitize_fields_excluded","restriction":"Array(String | Regex)"}],"visibility":"Public","body":"@sanitize_fields_excluded = sanitize_fields_excluded"}}]},{"html_id":"raven/Raven/Processor/UTF8Conversion","path":"Raven/Processor/UTF8Conversion.html","kind":"class","full_name":"Raven::Processor::UTF8Conversion","name":"UTF8Conversion","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/utf8_conversion.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/utf8_conversion.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"instance_methods":[{"html_id":"process(data)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processors/utf8_conversion.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/utf8_conversion.cr#L3"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"case data\nwhen Hash\n data.each do |k, v|\n data[k] = process(v)\n end\n data.to_h\nwhen Array\n data.map! do |v|\n (process(v)).as(typeof(v))\n end\nwhen Exception\n if message = data.message\n else\n return data\n end\n if message.valid_encoding?\n return data\n end\n (data.class.new(clean_invalid_utf8_bytes(message), data.cause)).tap(&.callstack = data.callstack)\nwhen String\n if data.valid_encoding?\n return data\n end\n clean_invalid_utf8_bytes(data)\nelse\n data\nend"}}]}]},{"html_id":"raven/Raven/Transport","path":"Raven/Transport.html","kind":"class","full_name":"Raven::Transport","name":"Transport","abstract":true,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/transport.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transport.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"raven/Raven/Transport/Dummy","kind":"class","full_name":"Raven::Transport::Dummy","name":"Dummy"},{"html_id":"raven/Raven/Transport/HTTP","kind":"class","full_name":"Raven::Transport::HTTP","name":"HTTP"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"constructors":[{"html_id":"new(configuration:Raven::Configuration)-class-method","name":"new","abstract":false,"args":[{"name":"configuration","external_name":"configuration","restriction":"::Raven::Configuration"}],"args_string":"(configuration : Raven::Configuration)","args_html":"(configuration : Raven::Configuration)","location":{"filename":"src/raven/transport.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transport.cr#L5"},"def":{"name":"new","args":[{"name":"configuration","external_name":"configuration","restriction":"::Raven::Configuration"}],"visibility":"Public","body":"_ = allocate\n_.initialize(configuration)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"configuration:Configuration-instance-method","name":"configuration","abstract":false,"location":{"filename":"src/raven/transport.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transport.cr#L3"},"def":{"name":"configuration","return_type":"Configuration","visibility":"Public","body":"@configuration"}},{"html_id":"configuration=(configuration:Configuration)-instance-method","name":"configuration=","abstract":false,"args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"args_string":"(configuration : Configuration)","args_html":"(configuration : Configuration)","location":{"filename":"src/raven/transport.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transport.cr#L3"},"def":{"name":"configuration=","args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"visibility":"Public","body":"@configuration = configuration"}},{"html_id":"send_event(auth_header,data,**options)-instance-method","name":"send_event","abstract":true,"args":[{"name":"auth_header","external_name":"auth_header","restriction":""},{"name":"data","external_name":"data","restriction":""}],"args_string":"(auth_header, data, **options)","args_html":"(auth_header, data, **options)","location":{"filename":"src/raven/transport.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transport.cr#L8"},"def":{"name":"send_event","args":[{"name":"auth_header","external_name":"auth_header","restriction":""},{"name":"data","external_name":"data","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":""}},{"html_id":"send_feedback(event_id,data)-instance-method","name":"send_feedback","abstract":true,"args":[{"name":"event_id","external_name":"event_id","restriction":""},{"name":"data","external_name":"data","restriction":""}],"args_string":"(event_id, data)","args_html":"(event_id, data)","location":{"filename":"src/raven/transport.cr","line_number":9,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transport.cr#L9"},"def":{"name":"send_feedback","args":[{"name":"event_id","external_name":"event_id","restriction":""},{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":""}}],"types":[{"html_id":"raven/Raven/Transport/Dummy","path":"Raven/Transport/Dummy.html","kind":"class","full_name":"Raven::Transport::Dummy","name":"Dummy","abstract":false,"superclass":{"html_id":"raven/Raven/Transport","kind":"class","full_name":"Raven::Transport","name":"Transport"},"ancestors":[{"html_id":"raven/Raven/Transport","kind":"class","full_name":"Raven::Transport","name":"Transport"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/transports/dummy.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/dummy.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Transport","kind":"class","full_name":"Raven::Transport","name":"Transport"},"instance_methods":[{"html_id":"events:Array(AnyHash::JSON)-instance-method","name":"events","abstract":false,"location":{"filename":"src/raven/transports/dummy.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/dummy.cr#L3"},"def":{"name":"events","visibility":"Public","body":"@events"}},{"html_id":"events=(events:Array(AnyHash::JSON))-instance-method","name":"events=","abstract":false,"args":[{"name":"events","external_name":"events","restriction":"::Array(::AnyHash::JSON)"}],"args_string":"(events : Array(AnyHash::JSON))","args_html":"(events : Array(AnyHash::JSON))","location":{"filename":"src/raven/transports/dummy.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/dummy.cr#L3"},"def":{"name":"events=","args":[{"name":"events","external_name":"events","restriction":"::Array(::AnyHash::JSON)"}],"visibility":"Public","body":"@events = events"}},{"html_id":"feedback:Array(AnyHash::JSON)-instance-method","name":"feedback","abstract":false,"location":{"filename":"src/raven/transports/dummy.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/dummy.cr#L4"},"def":{"name":"feedback","visibility":"Public","body":"@feedback"}},{"html_id":"feedback=(feedback:Array(AnyHash::JSON))-instance-method","name":"feedback=","abstract":false,"args":[{"name":"feedback","external_name":"feedback","restriction":"::Array(::AnyHash::JSON)"}],"args_string":"(feedback : Array(AnyHash::JSON))","args_html":"(feedback : Array(AnyHash::JSON))","location":{"filename":"src/raven/transports/dummy.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/dummy.cr#L4"},"def":{"name":"feedback=","args":[{"name":"feedback","external_name":"feedback","restriction":"::Array(::AnyHash::JSON)"}],"visibility":"Public","body":"@feedback = feedback"}},{"html_id":"send_event(auth_header,data,**options)-instance-method","name":"send_event","abstract":false,"args":[{"name":"auth_header","external_name":"auth_header","restriction":""},{"name":"data","external_name":"data","restriction":""}],"args_string":"(auth_header, data, **options)","args_html":"(auth_header, data, **options)","location":{"filename":"src/raven/transports/dummy.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/dummy.cr#L6"},"def":{"name":"send_event","args":[{"name":"auth_header","external_name":"auth_header","restriction":""},{"name":"data","external_name":"data","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"events << {auth_header: auth_header, data: data.to_s, options: options}.to_any_json"}},{"html_id":"send_feedback(event_id,data)-instance-method","name":"send_feedback","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":""},{"name":"data","external_name":"data","restriction":""}],"args_string":"(event_id, data)","args_html":"(event_id, data)","location":{"filename":"src/raven/transports/dummy.cr","line_number":14,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/dummy.cr#L14"},"def":{"name":"send_feedback","args":[{"name":"event_id","external_name":"event_id","restriction":""},{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"feedback << {event_id: event_id, data: data}.to_any_json"}}]},{"html_id":"raven/Raven/Transport/HTTP","path":"Raven/Transport/HTTP.html","kind":"class","full_name":"Raven::Transport::HTTP","name":"HTTP","abstract":false,"superclass":{"html_id":"raven/Raven/Transport","kind":"class","full_name":"Raven::Transport","name":"Transport"},"ancestors":[{"html_id":"raven/Raven/Transport","kind":"class","full_name":"Raven::Transport","name":"Transport"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/transports/http.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/http.cr#L4"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Transport","kind":"class","full_name":"Raven::Transport","name":"Transport"},"instance_methods":[{"html_id":"send_event(auth_header,data,**options)-instance-method","name":"send_event","abstract":false,"args":[{"name":"auth_header","external_name":"auth_header","restriction":""},{"name":"data","external_name":"data","restriction":""}],"args_string":"(auth_header, data, **options)","args_html":"(auth_header, data, **options)","location":{"filename":"src/raven/transports/http.cr","line_number":54,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/http.cr#L54"},"def":{"name":"send_event","args":[{"name":"auth_header","external_name":"auth_header","restriction":""},{"name":"data","external_name":"data","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"if ex = configuration.capture_allowed!\n Log.debug do\n \"Event not sent: #{ex.error_messages}\"\n end\n return false\nend\nproject_id = configuration.project_id\npath = configuration.path.try(&.chomp('/'))\nheaders = ::HTTP::Headers {\"X-Sentry-Auth\" => auth_header, \"Content-Type\" => options[:content_type]}\nif configuration.encoding.gzip?\n headers[\"Content-Encoding\"] = \"gzip\"\nend\nLog.debug do\n \"HTTP Transport connecting to #{configuration.dsn}\"\nend\nclient = build_client\n(client.post(\"#{path}/api/#{project_id}/store/\", headers, data)).tap do |response|\n if response.success?\n else\n raise(Error.new(response))\n end\nend\n"}},{"html_id":"send_feedback(event_id,data)-instance-method","name":"send_feedback","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":""},{"name":"data","external_name":"data","restriction":""}],"args_string":"(event_id, data)","args_html":"(event_id, data)","location":{"filename":"src/raven/transports/http.cr","line_number":31,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/http.cr#L31"},"def":{"name":"send_feedback","args":[{"name":"event_id","external_name":"event_id","restriction":""},{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"headers = ::HTTP::Headers.new\nif origin = configuration.dsn\n headers[\"Origin\"] = origin\nend\nparams = ::HTTP::Params.build do |form|\n form.add(\"eventId\", event_id)\n form.add(\"dsn\", configuration.dsn)\nend\npath = String.build do |str|\n str << configuration.path.try(&.chomp('/'))\n str << \"/api/embed/error-page/?\"\n str << params\nend\nLog.debug do\n \"HTTP Transport connecting to #{path}\"\nend\nclient = build_client\n(client.post(path, form: data, headers: headers)).tap do |response|\n if response.success?\n else\n raise(Error.new(response))\n end\nend\n"}}],"types":[{"html_id":"raven/Raven/Transport/HTTP/Error","path":"Raven/Transport/HTTP/Error.html","kind":"class","full_name":"Raven::Transport::HTTP::Error","name":"Error","abstract":false,"superclass":{"html_id":"raven/Raven/Error","kind":"class","full_name":"Raven::Error","name":"Error"},"ancestors":[{"html_id":"raven/Raven/Error","kind":"class","full_name":"Raven::Error","name":"Error"},{"html_id":"raven/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/transports/http.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/http.cr#L5"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Transport/HTTP","kind":"class","full_name":"Raven::Transport::HTTP","name":"HTTP"},"constructors":[{"html_id":"new(response:::HTTP::Client::Response)-class-method","name":"new","abstract":false,"args":[{"name":"response","external_name":"response","restriction":"::HTTP::Client::Response"}],"args_string":"(response : ::HTTP::Client::Response)","args_html":"(response : ::HTTP::Client::Response)","location":{"filename":"src/raven/transports/http.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/http.cr#L8"},"def":{"name":"new","args":[{"name":"response","external_name":"response","restriction":"::HTTP::Client::Response"}],"visibility":"Public","body":"_ = allocate\n_.initialize(response)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"response:::HTTP::Client::Response-instance-method","name":"response","abstract":false,"location":{"filename":"src/raven/transports/http.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/http.cr#L6"},"def":{"name":"response","return_type":"::HTTP::Client::Response","visibility":"Public","body":"@response"}},{"html_id":"response=(response:::HTTP::Client::Response)-instance-method","name":"response=","abstract":false,"args":[{"name":"response","external_name":"response","restriction":"::HTTP::Client::Response"}],"args_string":"(response : ::HTTP::Client::Response)","args_html":"(response : ::HTTP::Client::Response)","location":{"filename":"src/raven/transports/http.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/http.cr#L6"},"def":{"name":"response=","args":[{"name":"response","external_name":"response","restriction":"::HTTP::Client::Response"}],"visibility":"Public","body":"@response = response"}}]}]}]}]}]}} \ No newline at end of file diff --git a/search-index.js b/search-index.js index f1da027..9767c72 100644 --- a/search-index.js +++ b/search-index.js @@ -1 +1 @@ -crystal_doc_search_index_callback({"repository_name":"raven","body":"

\n \"Bug\n

\n\n

\n raven.cr • the Crystal client for Sentry\n

\n\n

\n \"Build\n \"Codacy\n \"Releases\"\n \"License\"\n

\n\nAn unofficial Crystal-language client and integration layer for the [Sentry](https://github.com/getsentry/sentry) error reporting API.\n\nBased on fine [raven-ruby](https://github.com/getsentry/raven-ruby) gem\nfrom folks at [@getsentry](https://github.com/getsentry).\n\n### Blog posts\n\n- [Crystal error tracking with Sentry](https://sija.pl/en/notes/crystal-error-tracking-with-sentry)\n- [Sentry error tracking for Kemal](https://sija.pl/en/notes/sentry-error-tracking-for-kemal)\n\n## Features\n\n- [x] Processors (data scrubbers)\n- [x] Interfaces (Message, Exception, Stacktrace, User, HTTP, ...)\n- [x] Contexts (user, tags, extra, os, runtime)\n- [x] Breadcrumbs\n- [x] Integrations ([Kemal](https://github.com/kemalcr/kemal), [Amber](https://github.com/amberframework/amber), [Lucky](https://github.com/luckyframework/lucky), [Sidekiq.cr](https://github.com/mperham/sidekiq.cr), [action-controller](https://github.com/spider-gazelle/action-controller))\n- [x] Async support\n- [x] User Feedback\n- [x] Source code context for stack traces\n- [x] Dedicated [`Log`](https://crystal-lang.org/api/Log.html) backend\n- [x] Crash Handler\n\n## Installation\n\nAdd this to your application's `shard.yml`:\n\n```yaml\ndependencies:\n raven:\n github: Sija/raven.cr\n```\n\n## Usage\n\n```crystal\nrequire \"raven\"\n```\n\n### Raven only runs when SENTRY_DSN is set\n\nRaven will capture and send exceptions to the Sentry server whenever its DSN is set.\nThis makes environment-based configuration easy - if you don't want to send\nerrors in a certain environment, just don't set the DSN in that environment!\n\n```sh\n# Set your SENTRY_DSN environment variable.\nexport SENTRY_DSN=https://public@example.com/project-id\n```\n\n```crystal\n# Or you can configure the client in the code (not recommended - keep your DSN secret!)\nRaven.configure do |config|\n config.dsn = \"https://public@example.com/project-id\"\nend\n```\n\n### Raven doesn't report some kinds of data by default\n\nIf used with integrations, Raven ignores some exceptions by default - most of\nthese are related to 404s or controller actions not being found.\n\nRaven doesn't report `POST`, `PUT`, `PATCH` data or cookies by default.\nIn addition, it will attempt to remove any obviously sensitive data,\nsuch as credit card or Social Security numbers.\nFor more information about how Sentry processes your data, [check out the documentation on the `processors` config setting.](https://docs.sentry.io/clients/ruby/config/)\n\n### Call\n\nRaven supports two methods of capturing exceptions:\n\n```crystal\nRaven.capture do\n # capture any exceptions which happen during execution of this block\n 1 // 0\nend\n\nbegin\n 1 // 0\nrescue ex : DivisionByZeroError\n Raven.capture(ex)\nend\n```\n\n### More configuration\n\nYou're all set - but there are a few more settings you may want to know about too!\n\n#### DSN\n\nWhile we advise that you set your Sentry DSN through the `SENTRY_DSN` environment\nvariable, there are two other configuration settings for controlling Raven:\n\n```crystal\n# DSN can be configured as a config setting instead.\n# Place in config/initializers or similar.\nRaven.configure do |config|\n config.dsn = \"your_dsn\"\nend\n```\n\nAnd, while not necessary if using `SENTRY_DSN`, you can also provide an\n`environments` setting. Raven will only capture events when\n`SENTRY_ENVIRONMENT` matches an environment on the list.\n\n```crystal\nRaven.configure do |config|\n config.environments = %w(staging production)\nend\n```\n\n#### async\n\nWhen an error or message occurs, the notification is immediately sent to Sentry.\nRaven can be configured to send asynchronously:\n\n```crystal\n# define your own handler\nconfig.async = ->(event : Raven::Event) {\n spawn { Raven.send_event(event) }\n}\n# or use default implementation based on fibers (i.e. the one above)\nconfig.async = true\n```\n\nIf the `async` callback raises an exception, Raven will attempt to send synchronously.\n\nWe recommend creating a background job, using your background job processor,\nthat will send Sentry notifications in the background.\nRather than enqueuing an entire `Raven::Event` object, we recommend providing\nthe `Hash` representation of an event as a job argument.\n\nHere’s an example for *Sidekiq.cr*:\n\n```crystal\nconfig.async = ->(event : Raven::Event) {\n # enqueue the job with a hash...\n SentryJob.async.perform(event.to_hash)\n # or with JSON string\n # SentryJob.async.perform(event.to_json)\n}\n\nclass SentryJob\n include Sidekiq::Worker\n\n sidekiq_options do |job|\n job.queue = \"sentry\"\n job.retry = true\n end\n\n def perform(event : Raven::Event::HashType)\n Raven.send_event(event)\n end\nend\n```\n\n#### transport_failure_callback\n\nIf Raven fails to send an event to Sentry for any reason\n(either the Sentry server has returned a 4XX or 5XX response),\nthis `Proc` will be called.\n\n```crystal\nconfig.transport_failure_callback = ->(event : Raven::Event::HashType) {\n AdminMailer.async.perform(\"Oh god, it's on fire!\", event)\n}\n```\n\n#### Context\n\nMuch of the usefulness of Sentry comes from additional context data with the events.\nRaven makes this very convenient by providing methods to set context data that\nis then submitted automatically with all events.\n\nThere are three primary methods for providing request context:\n\n```crystal\n# bind the logged in user\nRaven.user_context email: \"foo@example.com\"\n\n# tag the request with something interesting\nRaven.tags_context interesting: \"yes\"\n\n# provide a bit of additional context\nRaven.extra_context happiness: \"very\"\n```\n\nFor more information, see [Context](https://docs.sentry.io/clients/ruby/context/).\n\n## `Log` backend\n\n`Raven::LogBackend` allows for intercepting log entries, and takes following options:\n\n- `record_breadcrumbs` - records every log entry as Breadcrumbs\n- `capture_exceptions` - captures exceptions attached to the log entry\n- `capture_all` - captures every log entry\n\nEvery captured `Exception` or a `Breadcrumb` will have corresponding fields mapped\ndirectly from the original `Log::Entry`.\n\nMetadata will be passed as `Event#tags` and `Breadcrumb#data`, respectively.\n\n### Usage\n\n```crystal\n# append it to the existing bindings\nLog.builder.bind \"*\", :info, Raven::LogBackend.new(\n record_breadcrumbs: true,\n capture_exceptions: false,\n capture_all: false,\n)\n\n# or bind it within the `Log.setup` block\nLog.setup do |c|\n # bind the regular io-based backend\n c.bind \"*\", :info, Log::IOBackend.new\n\n # bind raven's backend\n c.bind \"*\", :info, Raven::LogBackend.new(record_breadcrumbs: true)\n c.bind \"*\", :warn, Raven::LogBackend.new(capture_exceptions: true)\n c.bind \"*\", :fatal, Raven::LogBackend.new(capture_all: true)\nend\n```\n\nSee more in Crystal's `Log` [documentation](https://crystal-lang.org/api/Log.html#configure-logging-explicitly-in-the-code).\n\n## Crash Handler\n\nSince Crystal doesn't provide native handlers for unhandled exceptions\nand segfaults, *raven.cr* introduces its own crash handler compiled as\nexternal binary.\n\n### Setup\n\nThe easiest way of using it is by adding the appropriate entry to the project's `shard.yml`:\n\n```yaml\ntargets:\n # other target definitions if any...\n\n sentry.crash_handler:\n main: lib/raven/src/crash_handler.cr\n```\n\nWith the above entry defined in `targets`, running `shards build` should result in\nbinary built in `bin/sentry.crash_handler`.\n\n__NOTE__: While building you might specify `SENTRY_DSN` env variable, which will be\ncompiled into the binary (as plain-text) and used by the handler.\n\n```sh\nSENTRY_DSN= shards build sentry.crash_handler\n```\n\nPass `--release` flag to disable debug messages.\n\n### Usage\n\nYou need to run your app with previously built `bin/sentry.crash_handler` in\nfront.\n\n```sh\nbin/sentry.crash_handler bin/your_app --some arguments --passed to your program\n```\n\nAs one would expect, `STDIN` is passed to the original process, while\n`STDOUT` and `STDERR` are piped back from it.\n\n__NOTE__: You can always pass `SENTRY_DSN` env variable during execution\nin case you didn't do it while building the wrapper.\n\n## More Information\n\n- [Documentation](https://docs.sentry.io/clients/ruby)\n- [Bug Tracker](https://github.com/Sija/raven.cr/issues)\n- [Code Repository](https://github.com/Sija/raven.cr)\n\n## Contributing\n\n1. [Fork it](https://github.com/Sija/raven.cr/fork)\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create a new [Pull Request](https://github.com/Sija/raven.cr/pulls)\n\n## Contributors\n\n- [@Sija](https://github.com/Sija) Sijawusz Pur Rahnama - creator, maintainer\n","program":{"html_id":"raven/toplevel","path":"toplevel.html","kind":"module","full_name":"Top Level Namespace","name":"Top Level Namespace","abstract":false,"locations":[],"repository_name":"raven","program":true,"enum":false,"alias":false,"const":false,"types":[{"html_id":"raven/Exception","path":"Exception.html","kind":"class","full_name":"Exception","name":"Exception","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/ext/exception.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/ext/exception.cr#L4"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"raven/Raven/Configuration/ValidationError","kind":"class","full_name":"Raven::Configuration::ValidationError","name":"ValidationError"},{"html_id":"raven/Raven/Error","kind":"class","full_name":"Raven::Error","name":"Error"}],"doc":"Represents errors that occur during application execution.\n\nException and its descendants are used to communicate between raise and\nrescue statements in `begin ... end` blocks.\nException objects carry information about the exception – its type (the\nexception’s class name), an optional descriptive string, and\noptional traceback information.\nException subclasses may add additional information.","summary":"

Represents errors that occur during application execution.

","instance_methods":[{"html_id":"__raven_event_id:String|Nil-instance-method","name":"__raven_event_id","abstract":false,"location":{"filename":"src/raven/ext/exception.cr","line_number":7,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/ext/exception.cr#L7"},"def":{"name":"__raven_event_id","return_type":"String | ::Nil","visibility":"Public","body":"@__raven_event_id"}},{"html_id":"__raven_event_id=(__raven_event_id:String|Nil)-instance-method","name":"__raven_event_id=","abstract":false,"args":[{"name":"__raven_event_id","external_name":"__raven_event_id","restriction":"String | ::Nil"}],"args_string":"(__raven_event_id : String | Nil)","args_html":"(__raven_event_id : String | Nil)","location":{"filename":"src/raven/ext/exception.cr","line_number":7,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/ext/exception.cr#L7"},"def":{"name":"__raven_event_id=","args":[{"name":"__raven_event_id","external_name":"__raven_event_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@__raven_event_id = __raven_event_id"}},{"html_id":"__raven_extra:AnyHash::JSON-instance-method","name":"__raven_extra","abstract":false,"def":{"name":"__raven_extra","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @__raven_extra).nil?\n @__raven_extra = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"__raven_extra=(__raven_extra:AnyHash::JSON)-instance-method","name":"__raven_extra=","abstract":false,"args":[{"name":"__raven_extra","external_name":"__raven_extra","restriction":"AnyHash::JSON"}],"args_string":"(__raven_extra : AnyHash::JSON)","args_html":"(__raven_extra : AnyHash::JSON)","def":{"name":"__raven_extra=","args":[{"name":"__raven_extra","external_name":"__raven_extra","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@__raven_extra = __raven_extra"}},{"html_id":"__raven_extra=(hash:Hash|NamedTuple|Nil)-instance-method","name":"__raven_extra=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","def":{"name":"__raven_extra=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"__raven_extra.replace(hash)"}},{"html_id":"__raven_tags:AnyHash::JSON-instance-method","name":"__raven_tags","abstract":false,"def":{"name":"__raven_tags","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @__raven_tags).nil?\n @__raven_tags = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"__raven_tags=(__raven_tags:AnyHash::JSON)-instance-method","name":"__raven_tags=","abstract":false,"args":[{"name":"__raven_tags","external_name":"__raven_tags","restriction":"AnyHash::JSON"}],"args_string":"(__raven_tags : AnyHash::JSON)","args_html":"(__raven_tags : AnyHash::JSON)","def":{"name":"__raven_tags=","args":[{"name":"__raven_tags","external_name":"__raven_tags","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@__raven_tags = __raven_tags"}},{"html_id":"__raven_tags=(hash:Hash|NamedTuple|Nil)-instance-method","name":"__raven_tags=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","def":{"name":"__raven_tags=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"__raven_tags.replace(hash)"}},{"html_id":"__raven_user:AnyHash::JSON-instance-method","name":"__raven_user","abstract":false,"def":{"name":"__raven_user","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @__raven_user).nil?\n @__raven_user = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"__raven_user=(__raven_user:AnyHash::JSON)-instance-method","name":"__raven_user=","abstract":false,"args":[{"name":"__raven_user","external_name":"__raven_user","restriction":"AnyHash::JSON"}],"args_string":"(__raven_user : AnyHash::JSON)","args_html":"(__raven_user : AnyHash::JSON)","def":{"name":"__raven_user=","args":[{"name":"__raven_user","external_name":"__raven_user","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@__raven_user = __raven_user"}},{"html_id":"__raven_user=(hash:Hash|NamedTuple|Nil)-instance-method","name":"__raven_user=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","def":{"name":"__raven_user=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"__raven_user.replace(hash)"}}]},{"html_id":"raven/Raven","path":"Raven.html","kind":"module","full_name":"Raven","name":"Raven","abstract":false,"locations":[{"filename":"src/raven.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L8"},{"filename":"src/raven.cr","line_number":19,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L19"},{"filename":"src/raven/breadcrumb.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L1"},{"filename":"src/raven/breadcrumb_buffer.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L1"},{"filename":"src/raven/client.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client.cr#L5"},{"filename":"src/raven/client_state.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client_state.cr#L1"},{"filename":"src/raven/configuration.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L4"},{"filename":"src/raven/context.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/context.cr#L1"},{"filename":"src/raven/error.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/error.cr#L1"},{"filename":"src/raven/event.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L3"},{"filename":"src/raven/instance.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L1"},{"filename":"src/raven/interface.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interface.cr#L1"},{"filename":"src/raven/interfaces/exception.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/exception.cr#L1"},{"filename":"src/raven/interfaces/http.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/http.cr#L1"},{"filename":"src/raven/interfaces/message.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/message.cr#L1"},{"filename":"src/raven/interfaces/single_exception.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/single_exception.cr#L1"},{"filename":"src/raven/interfaces/stacktrace.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L1"},{"filename":"src/raven/log.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log.cr#L3"},{"filename":"src/raven/log_backend.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log_backend.cr#L4"},{"filename":"src/raven/mixins/initialize_with.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/mixins/initialize_with.cr#L1"},{"filename":"src/raven/processor.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processor.cr#L1"},{"filename":"src/raven/processors/compact.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/compact.cr#L1"},{"filename":"src/raven/processors/cookies.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/cookies.cr#L1"},{"filename":"src/raven/processors/http_headers.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/http_headers.cr#L1"},{"filename":"src/raven/processors/remove_circular_references.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/remove_circular_references.cr#L1"},{"filename":"src/raven/processors/remove_stacktrace.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/remove_stacktrace.cr#L1"},{"filename":"src/raven/processors/request_method_data.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/request_method_data.cr#L1"},{"filename":"src/raven/processors/sanitize_data.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/sanitize_data.cr#L3"},{"filename":"src/raven/processors/utf8_conversion.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/utf8_conversion.cr#L1"},{"filename":"src/raven/transport.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transport.cr#L1"},{"filename":"src/raven/transports/dummy.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/dummy.cr#L1"},{"filename":"src/raven/transports/http.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/http.cr#L3"},{"filename":"src/raven/version.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/version.cr#L1"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Log","name":"Log","value":"::Log.for(self)"},{"id":"VERSION","name":"VERSION","value":"{{ (`shards version \\\"/home/runner/work/raven.cr/raven.cr/src/raven\\\"`).chomp.stringify }}"}],"extended_modules":[{"html_id":"raven/Raven/Delegators","kind":"module","full_name":"Raven::Delegators","name":"Delegators"}],"class_methods":[{"html_id":"instance:Raven::Instance-class-method","name":"instance","abstract":false,"location":{"filename":"src/raven.cr","line_number":22,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L22"},"def":{"name":"instance","return_type":"Raven::Instance","visibility":"Public","body":"if (value = @@instance).nil?\n @@instance = (Raven::Instance.new)\nelse\n value\nend"}},{"html_id":"sys_command(command)-class-method","name":"sys_command","abstract":false,"args":[{"name":"command","external_name":"command","restriction":""}],"args_string":"(command)","args_html":"(command)","location":{"filename":"src/raven.cr","line_number":29,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L29"},"def":{"name":"sys_command","args":[{"name":"command","external_name":"command","restriction":""}],"visibility":"Public","body":"result = begin\n (`(#{command}) 2>/dev/null`).strip\nrescue\n nil\nend\nif $?.success?\n result.presence\nend\n"}}],"macros":[{"html_id":"sys_command_compiled(command)-macro","name":"sys_command_compiled","abstract":false,"args":[{"name":"command","external_name":"command","restriction":""}],"args_string":"(command)","args_html":"(command)","location":{"filename":"src/raven.cr","line_number":24,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L24"},"def":{"name":"sys_command_compiled","args":[{"name":"command","external_name":"command","restriction":""}],"visibility":"Public","body":" \n%result\n = \n{{ (`(#{command.id} || true) 2>/dev/null`).stringify.strip }}\n\n \n%result\n.presence\n \n"}}],"types":[{"html_id":"raven/Raven/Breadcrumb","path":"Raven/Breadcrumb.html","kind":"class","full_name":"Raven::Breadcrumb","name":"Breadcrumb","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/breadcrumb.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"constructors":[{"html_id":"new(**options)-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":63,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L63"},"def":{"name":"new","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**options)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"category:String|Nil-instance-method","name":"category","doc":"Categories are dotted strings that indicate what the crumb is or where it comes from.\nTypically it’s a module name or a descriptive string.\nFor instance `ui.click` could be used to indicate that a click happened\nin the UI or `flask` could be used to indicate that the event originated\nin the Flask framework.","summary":"

Categories are dotted strings that indicate what the crumb is or where it comes from.

","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":47,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L47"},"def":{"name":"category","return_type":"String | ::Nil","visibility":"Public","body":"@category"}},{"html_id":"category=(category:String|Nil)-instance-method","name":"category=","doc":"Categories are dotted strings that indicate what the crumb is or where it comes from.\nTypically it’s a module name or a descriptive string.\nFor instance `ui.click` could be used to indicate that a click happened\nin the UI or `flask` could be used to indicate that the event originated\nin the Flask framework.","summary":"

Categories are dotted strings that indicate what the crumb is or where it comes from.

","abstract":false,"args":[{"name":"category","external_name":"category","restriction":"String | ::Nil"}],"args_string":"(category : String | Nil)","args_html":"(category : String | Nil)","location":{"filename":"src/raven/breadcrumb.cr","line_number":47,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L47"},"def":{"name":"category=","args":[{"name":"category","external_name":"category","restriction":"String | ::Nil"}],"visibility":"Public","body":"@category = category"}},{"html_id":"data:AnyHash::JSON-instance-method","name":"data","doc":"Data associated with this breadcrumb. Contains a sub-object whose\ncontents depend on the breadcrumb `type`. Additional parameters that\nare unsupported by the type are rendered as a key/value table.","summary":"

Data associated with this breadcrumb.

","abstract":false,"def":{"name":"data","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @data).nil?\n @data = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"data=(data:AnyHash::JSON)-instance-method","name":"data=","doc":"Data associated with this breadcrumb. Contains a sub-object whose\ncontents depend on the breadcrumb `type`. Additional parameters that\nare unsupported by the type are rendered as a key/value table.","summary":"

Data associated with this breadcrumb.

","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"AnyHash::JSON"}],"args_string":"(data : AnyHash::JSON)","args_html":"(data : AnyHash::JSON)","def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@data = data"}},{"html_id":"data=(hash:Hash|NamedTuple|Nil)-instance-method","name":"data=","doc":"Data associated with this breadcrumb. Contains a sub-object whose\ncontents depend on the breadcrumb `type`. Additional parameters that\nare unsupported by the type are rendered as a key/value table.","summary":"

Data associated with this breadcrumb.

","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/breadcrumb.cr","line_number":61,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L61"},"def":{"name":"data=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"data.replace(hash)"}},{"html_id":"level:Severity|Nil-instance-method","name":"level","doc":"This defines the level of the event. If not provided it defaults\nto `info` which is the middle level.","summary":"

This defines the level of the event.

","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":51,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L51"},"def":{"name":"level","return_type":"Severity | ::Nil","visibility":"Public","body":"@level"}},{"html_id":"level=(level:Severity|Nil)-instance-method","name":"level=","doc":"This defines the level of the event. If not provided it defaults\nto `info` which is the middle level.","summary":"

This defines the level of the event.

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Severity | ::Nil"}],"args_string":"(level : Severity | Nil)","args_html":"(level : Severity | Nil)","location":{"filename":"src/raven/breadcrumb.cr","line_number":51,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L51"},"def":{"name":"level=","args":[{"name":"level","external_name":"level","restriction":"Severity | ::Nil"}],"visibility":"Public","body":"@level = level"}},{"html_id":"level=(severity:Symbol)-instance-method","name":"level=","doc":"This defines the level of the event. If not provided it defaults\nto `info` which is the middle level.","summary":"

This defines the level of the event.

","abstract":false,"args":[{"name":"severity","external_name":"severity","restriction":"Symbol"}],"args_string":"(severity : Symbol)","args_html":"(severity : Symbol)","location":{"filename":"src/raven/breadcrumb.cr","line_number":54,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L54"},"def":{"name":"level=","args":[{"name":"severity","external_name":"severity","restriction":"Symbol"}],"visibility":"Public","body":"@level = Severity.parse(severity.to_s)"}},{"html_id":"message:String|Nil-instance-method","name":"message","doc":"If a message is provided it’s rendered as text and the whitespace is preserved.\nVery long text might be abbreviated in the UI.","summary":"

If a message is provided it’s rendered as text and the whitespace is preserved.

","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":40,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L40"},"def":{"name":"message","return_type":"String | ::Nil","visibility":"Public","body":"@message"}},{"html_id":"message=(message:String|Nil)-instance-method","name":"message=","doc":"If a message is provided it’s rendered as text and the whitespace is preserved.\nVery long text might be abbreviated in the UI.","summary":"

If a message is provided it’s rendered as text and the whitespace is preserved.

","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"String | ::Nil"}],"args_string":"(message : String | Nil)","args_html":"(message : String | Nil)","location":{"filename":"src/raven/breadcrumb.cr","line_number":40,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L40"},"def":{"name":"message=","args":[{"name":"message","external_name":"message","restriction":"String | ::Nil"}],"visibility":"Public","body":"@message = message"}},{"html_id":"timestamp:Time-instance-method","name":"timestamp","doc":"A timestamp representing when the breadcrumb occurred.","summary":"

A timestamp representing when the breadcrumb occurred.

","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":25,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L25"},"def":{"name":"timestamp","return_type":"Time","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Time)-instance-method","name":"timestamp=","doc":"A timestamp representing when the breadcrumb occurred.","summary":"

A timestamp representing when the breadcrumb occurred.

","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"args_string":"(timestamp : Time)","args_html":"(timestamp : Time)","location":{"filename":"src/raven/breadcrumb.cr","line_number":25,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L25"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"visibility":"Public","body":"@timestamp = timestamp"}},{"html_id":"to_hash-instance-method","name":"to_hash","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":67,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L67"},"def":{"name":"to_hash","visibility":"Public","body":"{\"timestamp\" => @timestamp.to_utc.to_unix, \"type\" => @type.try() do |__arg0|\n __arg0.to_s.downcase\nend, \"message\" => @message, \"data\" => data.to_h, \"category\" => @category, \"level\" => @level.try() do |__arg1|\n __arg1.to_s.downcase\nend}"}},{"html_id":"type:Type|Nil-instance-method","name":"type","doc":"The type of breadcrumb. The default type is `:default` which indicates\nno specific handling. Other types are currently:\n- `:http` for HTTP requests and\n- `:navigation` for navigation events.","summary":"

The type of breadcrumb.

","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":31,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L31"},"def":{"name":"type","return_type":"Type | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"type=(type:Type|Nil)-instance-method","name":"type=","doc":"The type of breadcrumb. The default type is `:default` which indicates\nno specific handling. Other types are currently:\n- `:http` for HTTP requests and\n- `:navigation` for navigation events.","summary":"

The type of breadcrumb.

","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"Type | ::Nil"}],"args_string":"(type : Type | Nil)","args_html":"(type : Type | Nil)","location":{"filename":"src/raven/breadcrumb.cr","line_number":31,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L31"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"Type | ::Nil"}],"visibility":"Public","body":"@type = type"}},{"html_id":"type=(type:Symbol)-instance-method","name":"type=","doc":"The type of breadcrumb. The default type is `:default` which indicates\nno specific handling. Other types are currently:\n- `:http` for HTTP requests and\n- `:navigation` for navigation events.","summary":"

The type of breadcrumb.

","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"Symbol"}],"args_string":"(type : Symbol)","args_html":"(type : Symbol)","location":{"filename":"src/raven/breadcrumb.cr","line_number":34,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L34"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"Symbol"}],"visibility":"Public","body":"@type = Type.parse(type.to_s)"}}],"types":[{"html_id":"raven/Raven/Breadcrumb/Severity","path":"Raven/Breadcrumb/Severity.html","kind":"enum","full_name":"Raven::Breadcrumb::Severity","name":"Severity","abstract":false,"ancestors":[{"html_id":"raven/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"raven/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"raven/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/breadcrumb.cr","line_number":16,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L16"}],"repository_name":"raven","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"DEBUG","name":"DEBUG","value":"0"},{"id":"INFO","name":"INFO","value":"1"},{"id":"WARNING","name":"WARNING","value":"2"},{"id":"ERROR","name":"ERROR","value":"3"},{"id":"CRITICAL","name":"CRITICAL","value":"4"}],"namespace":{"html_id":"raven/Raven/Breadcrumb","kind":"class","full_name":"Raven::Breadcrumb","name":"Breadcrumb"},"doc":"Levels are used in the UI to emphasize and deemphasize the crumb.","summary":"

Levels are used in the UI to emphasize and deemphasize the crumb.

","instance_methods":[{"html_id":"critical?-instance-method","name":"critical?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":21,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L21"},"def":{"name":"critical?","visibility":"Public","body":"self == CRITICAL"}},{"html_id":"debug?-instance-method","name":"debug?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":17,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L17"},"def":{"name":"debug?","visibility":"Public","body":"self == DEBUG"}},{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":20,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L20"},"def":{"name":"error?","visibility":"Public","body":"self == ERROR"}},{"html_id":"info?-instance-method","name":"info?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":18,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L18"},"def":{"name":"info?","visibility":"Public","body":"self == INFO"}},{"html_id":"warning?-instance-method","name":"warning?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":19,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L19"},"def":{"name":"warning?","visibility":"Public","body":"self == WARNING"}}]},{"html_id":"raven/Raven/Breadcrumb/Type","path":"Raven/Breadcrumb/Type.html","kind":"enum","full_name":"Raven::Breadcrumb::Type","name":"Type","abstract":false,"ancestors":[{"html_id":"raven/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"raven/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"raven/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/breadcrumb.cr","line_number":9,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L9"}],"repository_name":"raven","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"DEFAULT","name":"DEFAULT","value":"0"},{"id":"HTTP","name":"HTTP","value":"1"},{"id":"NAVIGATION","name":"NAVIGATION","value":"2"}],"namespace":{"html_id":"raven/Raven/Breadcrumb","kind":"class","full_name":"Raven::Breadcrumb","name":"Breadcrumb"},"doc":"The type of breadcrumb. The default type is `Type::DEFAULT` which indicates\nno specific handling. Other types are currently:\n- `Type::HTTP` for HTTP requests and\n- `Type::NAVIGATION` for navigation events.","summary":"

The type of breadcrumb.

","instance_methods":[{"html_id":"default?-instance-method","name":"default?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":10,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L10"},"def":{"name":"default?","visibility":"Public","body":"self == DEFAULT"}},{"html_id":"http?-instance-method","name":"http?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L11"},"def":{"name":"http?","visibility":"Public","body":"self == HTTP"}},{"html_id":"navigation?-instance-method","name":"navigation?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":12,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb.cr#L12"},"def":{"name":"navigation?","visibility":"Public","body":"self == NAVIGATION"}}]}]},{"html_id":"raven/Raven/BreadcrumbBuffer","path":"Raven/BreadcrumbBuffer.html","kind":"class","full_name":"Raven::BreadcrumbBuffer","name":"BreadcrumbBuffer","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Enumerable","kind":"module","full_name":"Enumerable","name":"Enumerable"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/breadcrumb_buffer.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"raven/Enumerable","kind":"module","full_name":"Enumerable","name":"Enumerable"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"class_methods":[{"html_id":"clear!-class-method","name":"clear!","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":14,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L14"},"def":{"name":"clear!","visibility":"Public","body":"@@mutex.synchronize do\n @@current = nil\nend"}},{"html_id":"current-class-method","name":"current","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L8"},"def":{"name":"current","visibility":"Public","body":"@@mutex.synchronize do\n @@current || (@@current = new)\nend"}}],"constructors":[{"html_id":"new(size=100)-class-method","name":"new","abstract":false,"args":[{"name":"size","default_value":"100","external_name":"size","restriction":""}],"args_string":"(size = 100)","args_html":"(size = 100)","location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":22,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L22"},"def":{"name":"new","args":[{"name":"size","default_value":"100","external_name":"size","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(size)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"buffer:Array(Breadcrumb|Nil)-instance-method","name":"buffer","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":20,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L20"},"def":{"name":"buffer","return_type":"Array(Breadcrumb | ::Nil)","visibility":"Public","body":"@buffer"}},{"html_id":"each(&)-instance-method","name":"each","doc":"Must yield this collection's elements to the block.","summary":"

Must yield this collection's elements to the block.

","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":53,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L53"},"def":{"name":"each","yields":1,"block_arity":1,"visibility":"Public","body":"members.each do |breadcrumb|\n yield breadcrumb\nend"}},{"html_id":"empty?-instance-method","name":"empty?","doc":"Returns `true` if `self` does not contain any element.\n\n```\n([] of Int32).empty? # => true\n([1]).empty? # => false\n[nil, false].empty? # => false\n```\n\n* `#present?` returns the inverse.","summary":"

Returns true if self does not contain any element.

","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":59,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L59"},"def":{"name":"empty?","visibility":"Public","body":"members.empty?"}},{"html_id":"members:Array(Breadcrumb)-instance-method","name":"members","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":45,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L45"},"def":{"name":"members","return_type":"Array(Breadcrumb)","visibility":"Public","body":"@buffer.compact"}},{"html_id":"peek-instance-method","name":"peek","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":49,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L49"},"def":{"name":"peek","visibility":"Public","body":"members.last?"}},{"html_id":"record(crumb:Breadcrumb):Nil-instance-method","name":"record","abstract":false,"args":[{"name":"crumb","external_name":"crumb","restriction":"Breadcrumb"}],"args_string":"(crumb : Breadcrumb) : Nil","args_html":"(crumb : Breadcrumb) : Nil","location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":26,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L26"},"def":{"name":"record","args":[{"name":"crumb","external_name":"crumb","restriction":"Breadcrumb"}],"return_type":"Nil","visibility":"Public","body":"@buffer.shift\n@buffer << crumb\n"}},{"html_id":"record(**opts,&):Nil-instance-method","name":"record","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":31,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L31"},"def":{"name":"record","double_splat":{"name":"opts","external_name":"opts","restriction":""},"yields":1,"block_arity":1,"return_type":"Nil","visibility":"Public","body":"crumb = Breadcrumb.new(**opts)\nyield crumb\nrecord(crumb)\n"}},{"html_id":"record(opts:NamedTuple):Nil-instance-method","name":"record","abstract":false,"args":[{"name":"opts","external_name":"opts","restriction":"NamedTuple"}],"args_string":"(opts : NamedTuple) : Nil","args_html":"(opts : NamedTuple) : Nil","location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L41"},"def":{"name":"record","args":[{"name":"opts","external_name":"opts","restriction":"NamedTuple"}],"return_type":"Nil","visibility":"Public","body":"record(**opts)"}},{"html_id":"record(**opts):Nil-instance-method","name":"record","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":37,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L37"},"def":{"name":"record","double_splat":{"name":"opts","external_name":"opts","restriction":""},"return_type":"Nil","visibility":"Public","body":"record(**opts) do\nend"}},{"html_id":"to_hash-instance-method","name":"to_hash","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":63,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/breadcrumb_buffer.cr#L63"},"def":{"name":"to_hash","visibility":"Public","body":"{\"values\" => members.map(&.to_hash)}"}}]},{"html_id":"raven/Raven/Client","path":"Raven/Client.html","kind":"class","full_name":"Raven::Client","name":"Client","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/client.cr","line_number":7,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client.cr#L7"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"PROTOCOL_VERSION","name":"PROTOCOL_VERSION","value":"7"},{"id":"USER_AGENT","name":"USER_AGENT","value":"\"raven.cr/#{Raven::VERSION}\""}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"doc":"Encodes events and sends them to the Sentry server.","summary":"

Encodes events and sends them to the Sentry server.

","constructors":[{"html_id":"new(configuration:Raven::Configuration)-class-method","name":"new","abstract":false,"args":[{"name":"configuration","external_name":"configuration","restriction":"::Raven::Configuration"}],"args_string":"(configuration : Raven::Configuration)","args_html":"(configuration : Raven::Configuration)","location":{"filename":"src/raven/client.cr","line_number":27,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client.cr#L27"},"def":{"name":"new","args":[{"name":"configuration","external_name":"configuration","restriction":"::Raven::Configuration"}],"visibility":"Public","body":"_ = allocate\n_.initialize(configuration)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"configuration:Configuration-instance-method","name":"configuration","abstract":false,"location":{"filename":"src/raven/client.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client.cr#L11"},"def":{"name":"configuration","return_type":"Configuration","visibility":"Public","body":"@configuration"}},{"html_id":"configuration=(configuration:Configuration)-instance-method","name":"configuration=","abstract":false,"args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"args_string":"(configuration : Configuration)","args_html":"(configuration : Configuration)","location":{"filename":"src/raven/client.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client.cr#L11"},"def":{"name":"configuration=","args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"visibility":"Public","body":"@configuration = configuration"}},{"html_id":"send_event(event:Event|Event::HashType,hint:Event::Hint|Nil=nil)-instance-method","name":"send_event","abstract":false,"args":[{"name":"event","external_name":"event","restriction":"Event | Event::HashType"},{"name":"hint","default_value":"nil","external_name":"hint","restriction":"Event::Hint | ::Nil"}],"args_string":"(event : Event | Event::HashType, hint : Event::Hint | Nil = nil)","args_html":"(event : Event | Event::HashType, hint : Event::Hint | Nil = nil)","location":{"filename":"src/raven/client.cr","line_number":46,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client.cr#L46"},"def":{"name":"send_event","args":[{"name":"event","external_name":"event","restriction":"Event | Event::HashType"},{"name":"hint","default_value":"nil","external_name":"hint","restriction":"Event::Hint | ::Nil"}],"visibility":"Public","body":"if ex = configuration.validate!\n Log.debug do\n \"Client#send_event with event '#{event}' failed: #{ex.error_messages}\"\n end\n return false\nend\nif event.is_a?(Event)\n configuration.before_send.try do |before_send|\n event = before_send.call(event, hint)\n if event\n else\n Log.info do\n \"Discarded event because before_send returned nil\"\n end\n return\n end\n end\nend\nevent = event.is_a?(Event) ? event.to_hash : event\nif @state.should_try?\nelse\n failed_send(nil, event)\n return\nend\nLog.info do\n \"Sending event #{event[:event_id]} to Sentry\"\nend\ncontent_type, encoded_data = encode(event)\nbegin\n options = {content_type: content_type}\n (transport.send_event(generate_auth_header, encoded_data, **options)).tap do\n successful_send\n end\nrescue ex\n failed_send(ex, event)\nend\n"}},{"html_id":"send_feedback(event_id:String,data:Hash)-instance-method","name":"send_feedback","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"data","external_name":"data","restriction":"Hash"}],"args_string":"(event_id : String, data : Hash)","args_html":"(event_id : String, data : Hash)","location":{"filename":"src/raven/client.cr","line_number":36,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client.cr#L36"},"def":{"name":"send_feedback","args":[{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"data","external_name":"data","restriction":"Hash"}],"visibility":"Public","body":"if ex = configuration.validate!\n Log.debug do\n \"Client#send_feedback with event id '#{event_id}' failed: #{ex.error_messages}\"\n end\n return false\nend\ntransport.send_feedback(event_id, data)\n"}},{"html_id":"transport:Transport-instance-method","name":"transport","abstract":false,"location":{"filename":"src/raven/client.cr","line_number":16,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client.cr#L16"},"def":{"name":"transport","return_type":"Transport","visibility":"Public","body":"if (value = @transport).nil?\n @transport = (case configuration.scheme\n when \"http\", \"https\"\n Transport::HTTP.new(configuration)\n when \"dummy\"\n Transport::Dummy.new(configuration)\n else\n raise(\"Unknown transport scheme '#{configuration.scheme}'\")\n end)\nelse\n value\nend"}}],"types":[{"html_id":"raven/Raven/Client/State","path":"Raven/Client/State.html","kind":"class","full_name":"Raven::Client::State","name":"State","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/client_state.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client_state.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Client","kind":"class","full_name":"Raven::Client","name":"Client"},"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/client_state.cr","line_number":13,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client_state.cr#L13"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"failed?-instance-method","name":"failed?","abstract":false,"location":{"filename":"src/raven/client_state.cr","line_number":45,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client_state.cr#L45"},"def":{"name":"failed?","visibility":"Public","body":"@status.error?"}},{"html_id":"failure(retry_after:Time::Span|Nil=nil):Nil-instance-method","name":"failure","abstract":false,"args":[{"name":"retry_after","default_value":"nil","external_name":"retry_after","restriction":"::Time::Span | ::Nil"}],"args_string":"(retry_after : Time::Span | Nil = nil) : Nil","args_html":"(retry_after : Time::Span | Nil = nil) : Nil","location":{"filename":"src/raven/client_state.cr","line_number":27,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client_state.cr#L27"},"def":{"name":"failure","args":[{"name":"retry_after","default_value":"nil","external_name":"retry_after","restriction":"::Time::Span | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"@status = Status::ERROR\n@retry_number = @retry_number + 1\n@last_check = Time.utc\n@retry_after = retry_after\n"}},{"html_id":"reset:Nil-instance-method","name":"reset","abstract":false,"location":{"filename":"src/raven/client_state.cr","line_number":38,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client_state.cr#L38"},"def":{"name":"reset","return_type":"Nil","visibility":"Public","body":"@status = Status::ONLINE\n@retry_number = 0\n@last_check = nil\n@retry_after = nil\n"}},{"html_id":"should_try?-instance-method","name":"should_try?","abstract":false,"location":{"filename":"src/raven/client_state.cr","line_number":18,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client_state.cr#L18"},"def":{"name":"should_try?","visibility":"Public","body":"if @status.online?\n return true\nend\ninterval = @retry_after || ({@retry_number, 6}.min ** 2).seconds\nif last_check = @last_check\nelse\n return true\nend\nif (Time.utc - last_check) >= interval\n return true\nend\nfalse\n"}},{"html_id":"success:Nil-instance-method","name":"success","abstract":false,"location":{"filename":"src/raven/client_state.cr","line_number":34,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client_state.cr#L34"},"def":{"name":"success","return_type":"Nil","visibility":"Public","body":"reset"}}],"types":[{"html_id":"raven/Raven/Client/State/Status","path":"Raven/Client/State/Status.html","kind":"enum","full_name":"Raven::Client::State::Status","name":"Status","abstract":false,"ancestors":[{"html_id":"raven/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"raven/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"raven/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/client_state.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client_state.cr#L3"}],"repository_name":"raven","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"ONLINE","name":"ONLINE","value":"0"},{"id":"ERROR","name":"ERROR","value":"1"}],"namespace":{"html_id":"raven/Raven/Client/State","kind":"class","full_name":"Raven::Client::State","name":"State"},"instance_methods":[{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/raven/client_state.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client_state.cr#L5"},"def":{"name":"error?","visibility":"Public","body":"self == ERROR"}},{"html_id":"online?-instance-method","name":"online?","abstract":false,"location":{"filename":"src/raven/client_state.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/client_state.cr#L4"},"def":{"name":"online?","visibility":"Public","body":"self == ONLINE"}}]}]}]},{"html_id":"raven/Raven/Configuration","path":"Raven/Configuration.html","kind":"class","full_name":"Raven::Configuration","name":"Configuration","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/configuration.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L5"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DEFAULT_PROCESSORS","name":"DEFAULT_PROCESSORS","value":"[Processor::RemoveCircularReferences, Processor::Cookies, Processor::RequestMethodData, Processor::HTTPHeaders, Processor::UTF8Conversion, Processor::SanitizeData, Processor::Compact] of Processor.class","doc":"Note the order - we have to remove circular references and bad characters\nbefore passing to other processors.","summary":"

Note the order - we have to remove circular references and bad characters before passing to other processors.

"},{"id":"DEFAULT_REQUEST_METHODS_FOR_DATA_SANITIZATION","name":"DEFAULT_REQUEST_METHODS_FOR_DATA_SANITIZATION","value":"[\"POST\", \"PUT\", \"PATCH\"] of ::String","doc":"Array of default request methods for which data should be removed.","summary":"

Array of default request methods for which data should be removed.

"},{"id":"IGNORE_DEFAULT","name":"IGNORE_DEFAULT","value":"[] of Exception.class | String","doc":"Array of exception classes that should never be sent.","summary":"

Array of exception classes that should never be sent.

"},{"id":"REQUIRED_OPTIONS","name":"REQUIRED_OPTIONS","value":"[:host, :public_key, :project_id] of ::Symbol","doc":"Array of required properties needed to be set, before\n`Configuration` is considered valid.","summary":"

Array of required properties needed to be set, before Configuration is considered valid.

"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":260,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L260"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"app_dirs_pattern(*args,**options)-instance-method","name":"app_dirs_pattern","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L68"},"def":{"name":"app_dirs_pattern","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"backtracer.app_dirs_pattern(*args, **options)"}},{"html_id":"app_dirs_pattern(*args,**options,&)-instance-method","name":"app_dirs_pattern","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L68"},"def":{"name":"app_dirs_pattern","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"backtracer.app_dirs_pattern(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"app_dirs_pattern=(arg)-instance-method","name":"app_dirs_pattern=","abstract":false,"args":[{"name":"arg","external_name":"arg","restriction":""}],"args_string":"(arg)","args_html":"(arg)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L68"},"def":{"name":"app_dirs_pattern=","args":[{"name":"arg","external_name":"arg","restriction":""}],"visibility":"Public","body":"backtracer.app_dirs_pattern = arg"}},{"html_id":"async:Proc(Event,Nil)|Nil-instance-method","name":"async","doc":"Provide a `Proc` object that responds to `call` to send\nevents asynchronously, or pass `true` to to use standard `spawn`.\n\n```\n->(event : Raven::Event) { spawn { Raven.send_event(event) } }\n```","summary":"

Provide a Proc object that responds to call to send events asynchronously, or pass true to to use standard spawn.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":50,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L50"},"def":{"name":"async","return_type":"Proc(Event, Nil) | ::Nil","visibility":"Public","body":"@async"}},{"html_id":"async=(async:Proc(Event,Nil)|Nil)-instance-method","name":"async=","doc":"Provide a `Proc` object that responds to `call` to send\nevents asynchronously, or pass `true` to to use standard `spawn`.\n\n```\n->(event : Raven::Event) { spawn { Raven.send_event(event) } }\n```","summary":"

Provide a Proc object that responds to call to send events asynchronously, or pass true to to use standard spawn.

","abstract":false,"args":[{"name":"async","external_name":"async","restriction":"Proc(Event, Nil) | ::Nil"}],"args_string":"(async : Proc(Event, Nil) | Nil)","args_html":"(async : Proc(Event, Nil) | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":50,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L50"},"def":{"name":"async=","args":[{"name":"async","external_name":"async","restriction":"Proc(Event, Nil) | ::Nil"}],"visibility":"Public","body":"@async = async"}},{"html_id":"async=(switch:Bool)-instance-method","name":"async=","doc":"Sets `async` callback to either `Fiber`-based implementation (see below),\nor `nil`, depending on the given *switch* value.\n\n```\n->(event : Event) { spawn { Raven.send_event(event) } }\n```","summary":"

Sets #async callback to either Fiber-based implementation (see below), or nil, depending on the given switch value.

","abstract":false,"args":[{"name":"switch","external_name":"switch","restriction":"Bool"}],"args_string":"(switch : Bool)","args_html":"(switch : Bool)","location":{"filename":"src/raven/configuration.cr","line_number":58,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L58"},"def":{"name":"async=","args":[{"name":"switch","external_name":"switch","restriction":"Bool"}],"visibility":"Public","body":"if switch\nelse\n return @async = nil\nend\n@async = ->(event : Event) do\n spawn do\n Raven.send_event(event)\n end\n nil\nend\n"}},{"html_id":"backtracer:Backtracer::Configuration-instance-method","name":"backtracer","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":66,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L66"},"def":{"name":"backtracer","visibility":"Public","body":"@backtracer"}},{"html_id":"backtracer=(backtracer:Backtracer::Configuration)-instance-method","name":"backtracer=","abstract":false,"args":[{"name":"backtracer","external_name":"backtracer","restriction":"::Backtracer::Configuration"}],"args_string":"(backtracer : Backtracer::Configuration)","args_html":"(backtracer : Backtracer::Configuration)","location":{"filename":"src/raven/configuration.cr","line_number":66,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L66"},"def":{"name":"backtracer=","args":[{"name":"backtracer","external_name":"backtracer","restriction":"::Backtracer::Configuration"}],"visibility":"Public","body":"@backtracer = backtracer"}},{"html_id":"before_send(&block:Event,Event::Hint|Nil->_)-instance-method","name":"before_send","doc":"Optional `Proc`, called before sending an event to the server:\n\n```\n->(event : Raven::Event, hint : Raven::Event::Hint?) {\n if hint.try(&.exception).try(&.message) =~ /database unavailable/i\n event.fingerprint << \"database-unavailable\"\n end\n event\n}\n```","summary":"

Optional Proc, called before sending an event to the server:

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":253,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L253"},"def":{"name":"before_send","yields":2,"block_arity":2,"block_arg":{"name":"block","external_name":"block","restriction":"(Event, Event::Hint | ::Nil -> _)"},"visibility":"Public","body":"self.before_send = block"}},{"html_id":"before_send:Proc(Event,Event::Hint|Nil,Event|Nil)|Nil-instance-method","name":"before_send","doc":"Optional `Proc`, called before sending an event to the server:\n\n```\n->(event : Raven::Event, hint : Raven::Event::Hint?) {\n if hint.try(&.exception).try(&.message) =~ /database unavailable/i\n event.fingerprint << \"database-unavailable\"\n end\n event\n}\n```","summary":"

Optional Proc, called before sending an event to the server:

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":258,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L258"},"def":{"name":"before_send","return_type":"Proc(Event, Event::Hint | ::Nil, Event | ::Nil) | ::Nil","visibility":"Public","body":"@before_send"}},{"html_id":"before_send=(block:Event,Event::Hint|Nil->_)-instance-method","name":"before_send=","doc":"Optional `Proc`, called before sending an event to the server:\n\n```\n->(event : Raven::Event, hint : Raven::Event::Hint?) {\n if hint.try(&.exception).try(&.message) =~ /database unavailable/i\n event.fingerprint << \"database-unavailable\"\n end\n event\n}\n```","summary":"

Optional Proc, called before sending an event to the server:

","abstract":false,"args":[{"name":"block","external_name":"block","restriction":"(Event, Event::Hint | ::Nil -> _)"}],"args_string":"(block : Event, Event::Hint | Nil -> _)","args_html":"(block : Event, Event::Hint | Nil -> _)","location":{"filename":"src/raven/configuration.cr","line_number":246,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L246"},"def":{"name":"before_send=","args":[{"name":"block","external_name":"block","restriction":"(Event, Event::Hint | ::Nil -> _)"}],"visibility":"Public","body":"@before_send = ->(event : Event, hint : Event::Hint | ::Nil) do\n (block.call(event, hint)).as(Event | ::Nil)\nend"}},{"html_id":"before_send=(before_send:Proc(Event,Event::Hint|Nil,Event|Nil)|Nil)-instance-method","name":"before_send=","doc":"Optional `Proc`, called before sending an event to the server:\n\n```\n->(event : Raven::Event, hint : Raven::Event::Hint?) {\n if hint.try(&.exception).try(&.message) =~ /database unavailable/i\n event.fingerprint << \"database-unavailable\"\n end\n event\n}\n```","summary":"

Optional Proc, called before sending an event to the server:

","abstract":false,"args":[{"name":"before_send","external_name":"before_send","restriction":"Proc(Event, Event::Hint | ::Nil, Event | ::Nil) | ::Nil"}],"args_string":"(before_send : Proc(Event, Event::Hint | Nil, Event | Nil) | Nil)","args_html":"(before_send : Proc(Event, Event::Hint | Nil, Event | Nil) | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":258,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L258"},"def":{"name":"before_send=","args":[{"name":"before_send","external_name":"before_send","restriction":"Proc(Event, Event::Hint | ::Nil, Event | ::Nil) | ::Nil"}],"visibility":"Public","body":"@before_send = before_send"}},{"html_id":"capture_allowed!(message_or_ex):ValidationError|Nil-instance-method","name":"capture_allowed!","abstract":false,"args":[{"name":"message_or_ex","external_name":"message_or_ex","restriction":""}],"args_string":"(message_or_ex) : ValidationError | Nil","args_html":"(message_or_ex) : ValidationError | Nil","location":{"filename":"src/raven/configuration.cr","line_number":437,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L437"},"def":{"name":"capture_allowed!","args":[{"name":"message_or_ex","external_name":"message_or_ex","restriction":""}],"return_type":"ValidationError | ::Nil","visibility":"Public","body":"errors = capture_allowed(message_or_ex)\nif errors.empty?\nelse\n ValidationError.new(errors)\nend\n"}},{"html_id":"capture_allowed!:ValidationError|Nil-instance-method","name":"capture_allowed!","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":412,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L412"},"def":{"name":"capture_allowed!","return_type":"ValidationError | ::Nil","visibility":"Public","body":"errors = capture_allowed\nif errors.empty?\nelse\n ValidationError.new(errors)\nend\n"}},{"html_id":"capture_allowed?(message_or_ex):Bool-instance-method","name":"capture_allowed?","abstract":false,"args":[{"name":"message_or_ex","external_name":"message_or_ex","restriction":""}],"args_string":"(message_or_ex) : Bool","args_html":"(message_or_ex) : Bool","location":{"filename":"src/raven/configuration.cr","line_number":442,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L442"},"def":{"name":"capture_allowed?","args":[{"name":"message_or_ex","external_name":"message_or_ex","restriction":""}],"return_type":"Bool","visibility":"Public","body":"(capture_allowed(message_or_ex)).empty?"}},{"html_id":"capture_allowed?:Bool-instance-method","name":"capture_allowed?","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":417,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L417"},"def":{"name":"capture_allowed?","return_type":"Bool","visibility":"Public","body":"capture_allowed.empty?"}},{"html_id":"connect_timeout:Time::Span-instance-method","name":"connect_timeout","doc":"Timeout waiting for the Sentry server connection to open in seconds.","summary":"

Timeout waiting for the Sentry server connection to open in seconds.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":109,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L109"},"def":{"name":"connect_timeout","return_type":"Time::Span","visibility":"Public","body":"@connect_timeout"}},{"html_id":"connect_timeout=(connect_timeout:Time::Span)-instance-method","name":"connect_timeout=","doc":"Timeout waiting for the Sentry server connection to open in seconds.","summary":"

Timeout waiting for the Sentry server connection to open in seconds.

","abstract":false,"args":[{"name":"connect_timeout","external_name":"connect_timeout","restriction":"Time::Span"}],"args_string":"(connect_timeout : Time::Span)","args_html":"(connect_timeout : Time::Span)","location":{"filename":"src/raven/configuration.cr","line_number":109,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L109"},"def":{"name":"connect_timeout=","args":[{"name":"connect_timeout","external_name":"connect_timeout","restriction":"Time::Span"}],"visibility":"Public","body":"@connect_timeout = connect_timeout"}},{"html_id":"context_lines(*args,**options)-instance-method","name":"context_lines","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L68"},"def":{"name":"context_lines","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"backtracer.context_lines(*args, **options)"}},{"html_id":"context_lines(*args,**options,&)-instance-method","name":"context_lines","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L68"},"def":{"name":"context_lines","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"backtracer.context_lines(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"context_lines=(arg)-instance-method","name":"context_lines=","abstract":false,"args":[{"name":"arg","external_name":"arg","restriction":""}],"args_string":"(arg)","args_html":"(arg)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L68"},"def":{"name":"context_lines=","args":[{"name":"arg","external_name":"arg","restriction":""}],"visibility":"Public","body":"backtracer.context_lines = arg"}},{"html_id":"current_environment:String|Nil-instance-method","name":"current_environment","doc":"Defaults to `SENTRY_ENVIRONMENT` variable if set,\n`\"default\"` otherwise.","summary":"

Defaults to SENTRY_ENVIRONMENT variable if set, "default" otherwise.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":77,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L77"},"def":{"name":"current_environment","return_type":"String | ::Nil","visibility":"Public","body":"@current_environment"}},{"html_id":"current_environment=(current_environment:String|Nil)-instance-method","name":"current_environment=","doc":"Defaults to `SENTRY_ENVIRONMENT` variable if set,\n`\"default\"` otherwise.","summary":"

Defaults to SENTRY_ENVIRONMENT variable if set, "default" otherwise.

","abstract":false,"args":[{"name":"current_environment","external_name":"current_environment","restriction":"String | ::Nil"}],"args_string":"(current_environment : String | Nil)","args_html":"(current_environment : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":77,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L77"},"def":{"name":"current_environment=","args":[{"name":"current_environment","external_name":"current_environment","restriction":"String | ::Nil"}],"visibility":"Public","body":"@current_environment = current_environment"}},{"html_id":"dsn:String|Nil-instance-method","name":"dsn","doc":"Simple server string - set this to the DSN found on your Sentry settings.","summary":"

Simple server string - set this to the DSN found on your Sentry settings.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":202,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L202"},"def":{"name":"dsn","return_type":"String | ::Nil","visibility":"Public","body":"@dsn"}},{"html_id":"dsn=(uri:URI)-instance-method","name":"dsn=","abstract":false,"args":[{"name":"uri","external_name":"uri","restriction":"URI"}],"args_string":"(uri : URI)","args_html":"(uri : URI)","location":{"filename":"src/raven/configuration.cr","line_number":280,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L280"},"def":{"name":"dsn=","args":[{"name":"uri","external_name":"uri","restriction":"URI"}],"visibility":"Public","body":"uri_path = uri.path.try(&.split('/'))\nif uri.user\n @public_key = uri.user\n @secret_key = uri.password\n @project_id = uri_path.try(&.pop?).try(&.to_u64)\nelse\n @public_key = @secret_key = @project_id = nil\nend\n@scheme = uri.scheme\n@host = uri.host\nstandard_ports = {http: 80, https: 443}\n@port = uri.port\nif scheme = @scheme\n if @port == standard_ports[scheme]?\n @port = nil\n end\nend\n@path = uri_path.try(&.join('/'))\nif @path.try(&.empty?)\n @path = nil\nend\n@dsn = String.build do |str|\n (str << @scheme) << \"://\"\n if @public_key\n (str << @public_key) << '@'\n end\n str << @host\n if @port\n (str << ':') << @port\n end\n if @path\n str << @path\n end\n if @project_id\n (str << '/') << @project_id\n end\nend\n"}},{"html_id":"dsn=(value:String)-instance-method","name":"dsn=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/raven/configuration.cr","line_number":314,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L314"},"def":{"name":"dsn=","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"self.dsn = URI.parse(value)"}},{"html_id":"encoding:Encoding-instance-method","name":"encoding","doc":"Encoding type for event bodies.","summary":"

Encoding type for event bodies.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":86,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L86"},"def":{"name":"encoding","return_type":"Encoding","visibility":"Public","body":"@encoding"}},{"html_id":"encoding=(encoding:Encoding)-instance-method","name":"encoding=","doc":"Encoding type for event bodies.","summary":"

Encoding type for event bodies.

","abstract":false,"args":[{"name":"encoding","external_name":"encoding","restriction":"Encoding"}],"args_string":"(encoding : Encoding)","args_html":"(encoding : Encoding)","location":{"filename":"src/raven/configuration.cr","line_number":86,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L86"},"def":{"name":"encoding=","args":[{"name":"encoding","external_name":"encoding","restriction":"Encoding"}],"visibility":"Public","body":"@encoding = encoding"}},{"html_id":"environments:Array(String)-instance-method","name":"environments","doc":"Whitelist of environments that will send notifications to Sentry.","summary":"

Whitelist of environments that will send notifications to Sentry.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":89,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L89"},"def":{"name":"environments","visibility":"Public","body":"@environments"}},{"html_id":"environments=(environments:Array(String))-instance-method","name":"environments=","doc":"Whitelist of environments that will send notifications to Sentry.","summary":"

Whitelist of environments that will send notifications to Sentry.

","abstract":false,"args":[{"name":"environments","external_name":"environments","restriction":"::Array(::String)"}],"args_string":"(environments : Array(String))","args_html":"(environments : Array(String))","location":{"filename":"src/raven/configuration.cr","line_number":89,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L89"},"def":{"name":"environments=","args":[{"name":"environments","external_name":"environments","restriction":"::Array(::String)"}],"visibility":"Public","body":"@environments = environments"}},{"html_id":"exclude_loggers:Array(String)-instance-method","name":"exclude_loggers","doc":"`::Log#source` patterns excluded from breadcrumb recording.\n\nDefaults to `raven.*`.\n\nNOTE: You should probably append to this rather than overwrite it.","summary":"

::Log#source patterns excluded from breadcrumb recording.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":96,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L96"},"def":{"name":"exclude_loggers","return_type":"Array(String)","visibility":"Public","body":"@exclude_loggers"}},{"html_id":"exclude_loggers=(exclude_loggers:Array(String))-instance-method","name":"exclude_loggers=","doc":"`::Log#source` patterns excluded from breadcrumb recording.\n\nDefaults to `raven.*`.\n\nNOTE: You should probably append to this rather than overwrite it.","summary":"

::Log#source patterns excluded from breadcrumb recording.

","abstract":false,"args":[{"name":"exclude_loggers","external_name":"exclude_loggers","restriction":"Array(String)"}],"args_string":"(exclude_loggers : Array(String))","args_html":"(exclude_loggers : Array(String))","location":{"filename":"src/raven/configuration.cr","line_number":96,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L96"},"def":{"name":"exclude_loggers=","args":[{"name":"exclude_loggers","external_name":"exclude_loggers","restriction":"Array(String)"}],"visibility":"Public","body":"@exclude_loggers = exclude_loggers"}},{"html_id":"excluded_exceptions:Array(Exception.class|String)-instance-method","name":"excluded_exceptions","doc":"Array of exception classes that should never be sent.\n\nSee `IGNORE_DEFAULT`.\n\nNOTE: You should probably append to this rather than overwrite it.","summary":"

Array of exception classes that should never be sent.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":103,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L103"},"def":{"name":"excluded_exceptions","return_type":"Array(Exception.class | String)","visibility":"Public","body":"@excluded_exceptions"}},{"html_id":"excluded_exceptions=(excluded_exceptions:Array(Exception.class|String))-instance-method","name":"excluded_exceptions=","doc":"Array of exception classes that should never be sent.\n\nSee `IGNORE_DEFAULT`.\n\nNOTE: You should probably append to this rather than overwrite it.","summary":"

Array of exception classes that should never be sent.

","abstract":false,"args":[{"name":"excluded_exceptions","external_name":"excluded_exceptions","restriction":"Array(Exception.class | String)"}],"args_string":"(excluded_exceptions : Array(Exception.class | String))","args_html":"(excluded_exceptions : Array(Exception.class | String))","location":{"filename":"src/raven/configuration.cr","line_number":103,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L103"},"def":{"name":"excluded_exceptions=","args":[{"name":"excluded_exceptions","external_name":"excluded_exceptions","restriction":"Array(Exception.class | String)"}],"visibility":"Public","body":"@excluded_exceptions = excluded_exceptions"}},{"html_id":"host:String|Nil-instance-method","name":"host","doc":"NOTE: DSN component - set automatically if DSN provided.","summary":"

NOTE DSN component - set automatically if DSN provided.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":106,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L106"},"def":{"name":"host","return_type":"String | ::Nil","visibility":"Public","body":"@host"}},{"html_id":"host=(host:String|Nil)-instance-method","name":"host=","doc":"NOTE: DSN component - set automatically if DSN provided.","summary":"

NOTE DSN component - set automatically if DSN provided.

","abstract":false,"args":[{"name":"host","external_name":"host","restriction":"String | ::Nil"}],"args_string":"(host : String | Nil)","args_html":"(host : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":106,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L106"},"def":{"name":"host=","args":[{"name":"host","external_name":"host","restriction":"String | ::Nil"}],"visibility":"Public","body":"@host = host"}},{"html_id":"ignored_logger?(source)-instance-method","name":"ignored_logger?","abstract":false,"args":[{"name":"source","external_name":"source","restriction":""}],"args_string":"(source)","args_html":"(source)","location":{"filename":"src/raven/configuration.cr","line_number":370,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L370"},"def":{"name":"ignored_logger?","args":[{"name":"source","external_name":"source","restriction":""}],"visibility":"Public","body":"exclude_loggers.any? do |pattern|\n ::Log::Builder.matches(source, pattern)\nend"}},{"html_id":"modules_path_pattern(*args,**options)-instance-method","name":"modules_path_pattern","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L68"},"def":{"name":"modules_path_pattern","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"backtracer.modules_path_pattern(*args, **options)"}},{"html_id":"modules_path_pattern(*args,**options,&)-instance-method","name":"modules_path_pattern","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L68"},"def":{"name":"modules_path_pattern","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"backtracer.modules_path_pattern(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"modules_path_pattern=(arg)-instance-method","name":"modules_path_pattern=","abstract":false,"args":[{"name":"arg","external_name":"arg","restriction":""}],"args_string":"(arg)","args_html":"(arg)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L68"},"def":{"name":"modules_path_pattern=","args":[{"name":"arg","external_name":"arg","restriction":""}],"visibility":"Public","body":"backtracer.modules_path_pattern = arg"}},{"html_id":"path:String|Nil-instance-method","name":"path","doc":"NOTE: DSN component - set automatically if DSN provided.","summary":"

NOTE DSN component - set automatically if DSN provided.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":112,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L112"},"def":{"name":"path","return_type":"String | ::Nil","visibility":"Public","body":"@path"}},{"html_id":"path=(path:String|Nil)-instance-method","name":"path=","doc":"NOTE: DSN component - set automatically if DSN provided.","summary":"

NOTE DSN component - set automatically if DSN provided.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String | ::Nil"}],"args_string":"(path : String | Nil)","args_html":"(path : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":112,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L112"},"def":{"name":"path=","args":[{"name":"path","external_name":"path","restriction":"String | ::Nil"}],"visibility":"Public","body":"@path = path"}},{"html_id":"port:Int32|Nil-instance-method","name":"port","doc":"NOTE: DSN component - set automatically if DSN provided.","summary":"

NOTE DSN component - set automatically if DSN provided.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":115,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L115"},"def":{"name":"port","return_type":"Int32 | ::Nil","visibility":"Public","body":"@port"}},{"html_id":"port=(port:Int32|Nil)-instance-method","name":"port=","doc":"NOTE: DSN component - set automatically if DSN provided.","summary":"

NOTE DSN component - set automatically if DSN provided.

","abstract":false,"args":[{"name":"port","external_name":"port","restriction":"Int32 | ::Nil"}],"args_string":"(port : Int32 | Nil)","args_html":"(port : Int32 | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":115,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L115"},"def":{"name":"port=","args":[{"name":"port","external_name":"port","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@port = port"}},{"html_id":"processors:Array(Processor.class)-instance-method","name":"processors","doc":"Processors to run on data before sending upstream. See `DEFAULT_PROCESSORS`.\nYou should probably append to this rather than overwrite it.","summary":"

Processors to run on data before sending upstream.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":119,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L119"},"def":{"name":"processors","return_type":"Array(Processor.class)","visibility":"Public","body":"@processors"}},{"html_id":"processors=(processors:Array(Processor.class))-instance-method","name":"processors=","doc":"Processors to run on data before sending upstream. See `DEFAULT_PROCESSORS`.\nYou should probably append to this rather than overwrite it.","summary":"

Processors to run on data before sending upstream.

","abstract":false,"args":[{"name":"processors","external_name":"processors","restriction":"Array(Processor.class)"}],"args_string":"(processors : Array(Processor.class))","args_html":"(processors : Array(Processor.class))","location":{"filename":"src/raven/configuration.cr","line_number":119,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L119"},"def":{"name":"processors=","args":[{"name":"processors","external_name":"processors","restriction":"Array(Processor.class)"}],"visibility":"Public","body":"@processors = processors"}},{"html_id":"project_id:UInt64|Nil-instance-method","name":"project_id","doc":"Project ID number to send to the Sentry server\n\nNOTE: If you provide a DSN, this will be set automatically.","summary":"

Project ID number to send to the Sentry server

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":124,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L124"},"def":{"name":"project_id","return_type":"UInt64 | ::Nil","visibility":"Public","body":"@project_id"}},{"html_id":"project_id=(project_id:UInt64|Nil)-instance-method","name":"project_id=","doc":"Project ID number to send to the Sentry server\n\nNOTE: If you provide a DSN, this will be set automatically.","summary":"

Project ID number to send to the Sentry server

","abstract":false,"args":[{"name":"project_id","external_name":"project_id","restriction":"UInt64 | ::Nil"}],"args_string":"(project_id : UInt64 | Nil)","args_html":"(project_id : UInt64 | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":124,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L124"},"def":{"name":"project_id=","args":[{"name":"project_id","external_name":"project_id","restriction":"UInt64 | ::Nil"}],"visibility":"Public","body":"@project_id = project_id"}},{"html_id":"project_root:String-instance-method","name":"project_root","doc":"Project directory root for revision detection. Could be Kemal root, etc.","summary":"

Project directory root for revision detection.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":127,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L127"},"def":{"name":"project_root","return_type":"String","visibility":"Public","body":"if (value = @project_root).nil?\n @project_root = (if path = Process.executable_path\n File.dirname(path)\n else\n Dir.current\n end)\nelse\n value\nend"}},{"html_id":"project_root=(project_root:String)-instance-method","name":"project_root=","doc":"Project directory root for revision detection. Could be Kemal root, etc.","summary":"

Project directory root for revision detection.

","abstract":false,"args":[{"name":"project_root","external_name":"project_root","restriction":"String"}],"args_string":"(project_root : String)","args_html":"(project_root : String)","location":{"filename":"src/raven/configuration.cr","line_number":127,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L127"},"def":{"name":"project_root=","args":[{"name":"project_root","external_name":"project_root","restriction":"String"}],"visibility":"Public","body":"@project_root = project_root"}},{"html_id":"public_key:String|Nil-instance-method","name":"public_key","doc":"Public key for authentication with the Sentry server.\n\nNOTE: If you provide a DSN, this will be set automatically.","summary":"

Public key for authentication with the Sentry server.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":138,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L138"},"def":{"name":"public_key","return_type":"String | ::Nil","visibility":"Public","body":"@public_key"}},{"html_id":"public_key=(public_key:String|Nil)-instance-method","name":"public_key=","doc":"Public key for authentication with the Sentry server.\n\nNOTE: If you provide a DSN, this will be set automatically.","summary":"

Public key for authentication with the Sentry server.

","abstract":false,"args":[{"name":"public_key","external_name":"public_key","restriction":"String | ::Nil"}],"args_string":"(public_key : String | Nil)","args_html":"(public_key : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":138,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L138"},"def":{"name":"public_key=","args":[{"name":"public_key","external_name":"public_key","restriction":"String | ::Nil"}],"visibility":"Public","body":"@public_key = public_key"}},{"html_id":"random:Random-instance-method","name":"random","doc":"`Random` instance used when `sample_rate` is set.","summary":"

Random instance used when #sample_rate is set.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":149,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L149"},"def":{"name":"random","return_type":"Random","visibility":"Public","body":"if (value = @random).nil?\n @random = (Random::DEFAULT)\nelse\n value\nend"}},{"html_id":"random=(random:Random)-instance-method","name":"random=","doc":"`Random` instance used when `sample_rate` is set.","summary":"

Random instance used when #sample_rate is set.

","abstract":false,"args":[{"name":"random","external_name":"random","restriction":"Random"}],"args_string":"(random : Random)","args_html":"(random : Random)","location":{"filename":"src/raven/configuration.cr","line_number":149,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L149"},"def":{"name":"random=","args":[{"name":"random","external_name":"random","restriction":"Random"}],"visibility":"Public","body":"@random = random"}},{"html_id":"read_timeout:Time::Span-instance-method","name":"read_timeout","doc":"Timeout when waiting for the server to return data.","summary":"

Timeout when waiting for the server to return data.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":224,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L224"},"def":{"name":"read_timeout","return_type":"Time::Span","visibility":"Public","body":"@read_timeout"}},{"html_id":"read_timeout=(read_timeout:Time::Span)-instance-method","name":"read_timeout=","doc":"Timeout when waiting for the server to return data.","summary":"

Timeout when waiting for the server to return data.

","abstract":false,"args":[{"name":"read_timeout","external_name":"read_timeout","restriction":"Time::Span"}],"args_string":"(read_timeout : Time::Span)","args_html":"(read_timeout : Time::Span)","location":{"filename":"src/raven/configuration.cr","line_number":224,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L224"},"def":{"name":"read_timeout=","args":[{"name":"read_timeout","external_name":"read_timeout","restriction":"Time::Span"}],"visibility":"Public","body":"@read_timeout = read_timeout"}},{"html_id":"release:String|Nil-instance-method","name":"release","doc":"Release tag to be passed with every event sent to Sentry.\nWe automatically try to set this to a git SHA or Capistrano release.","summary":"

Release tag to be passed with every event sent to Sentry.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":142,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L142"},"def":{"name":"release","return_type":"String | ::Nil","visibility":"Public","body":"@release"}},{"html_id":"release=(release:String|Nil)-instance-method","name":"release=","doc":"Release tag to be passed with every event sent to Sentry.\nWe automatically try to set this to a git SHA or Capistrano release.","summary":"

Release tag to be passed with every event sent to Sentry.

","abstract":false,"args":[{"name":"release","external_name":"release","restriction":"String | ::Nil"}],"args_string":"(release : String | Nil)","args_html":"(release : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":142,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L142"},"def":{"name":"release=","args":[{"name":"release","external_name":"release","restriction":"String | ::Nil"}],"visibility":"Public","body":"@release = release"}},{"html_id":"sample_rate:Float64-instance-method","name":"sample_rate","doc":"The sampling factor to apply to events. A value of `0.0` will not send\nany events, and a value of `1.0` will send 100% of events.","summary":"

The sampling factor to apply to events.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":146,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L146"},"def":{"name":"sample_rate","return_type":"Float64","visibility":"Public","body":"@sample_rate"}},{"html_id":"sample_rate=(sample_rate:Float64)-instance-method","name":"sample_rate=","doc":"The sampling factor to apply to events. A value of `0.0` will not send\nany events, and a value of `1.0` will send 100% of events.","summary":"

The sampling factor to apply to events.

","abstract":false,"args":[{"name":"sample_rate","external_name":"sample_rate","restriction":"Float64"}],"args_string":"(sample_rate : Float64)","args_html":"(sample_rate : Float64)","location":{"filename":"src/raven/configuration.cr","line_number":146,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L146"},"def":{"name":"sample_rate=","args":[{"name":"sample_rate","external_name":"sample_rate","restriction":"Float64"}],"visibility":"Public","body":"@sample_rate = sample_rate"}},{"html_id":"sanitize_credit_cards=(sanitize_credit_cards:Bool)-instance-method","name":"sanitize_credit_cards=","doc":"Should sanitize values that look like credit card numbers?\n\nSee `Processor::SanitizeData::CREDIT_CARD_PATTERN`.","summary":"

Should sanitize values that look like credit card numbers?

","abstract":false,"args":[{"name":"sanitize_credit_cards","external_name":"sanitize_credit_cards","restriction":"::Bool"}],"args_string":"(sanitize_credit_cards : Bool)","args_html":"(sanitize_credit_cards : Bool)","location":{"filename":"src/raven/configuration.cr","line_number":154,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L154"},"def":{"name":"sanitize_credit_cards=","args":[{"name":"sanitize_credit_cards","external_name":"sanitize_credit_cards","restriction":"::Bool"}],"visibility":"Public","body":"@sanitize_credit_cards = sanitize_credit_cards"}},{"html_id":"sanitize_credit_cards?:Bool-instance-method","name":"sanitize_credit_cards?","doc":"Should sanitize values that look like credit card numbers?\n\nSee `Processor::SanitizeData::CREDIT_CARD_PATTERN`.","summary":"

Should sanitize values that look like credit card numbers?

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":154,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L154"},"def":{"name":"sanitize_credit_cards?","visibility":"Public","body":"@sanitize_credit_cards"}},{"html_id":"sanitize_data_for_request_methods:Array(String)-instance-method","name":"sanitize_data_for_request_methods","doc":"Request methods for which data should be removed.\n\nSee `DEFAULT_REQUEST_METHODS_FOR_DATA_SANITIZATION`.","summary":"

Request methods for which data should be removed.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":175,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L175"},"def":{"name":"sanitize_data_for_request_methods","return_type":"Array(String)","visibility":"Public","body":"@sanitize_data_for_request_methods"}},{"html_id":"sanitize_data_for_request_methods=(sanitize_data_for_request_methods:Array(String))-instance-method","name":"sanitize_data_for_request_methods=","doc":"Request methods for which data should be removed.\n\nSee `DEFAULT_REQUEST_METHODS_FOR_DATA_SANITIZATION`.","summary":"

Request methods for which data should be removed.

","abstract":false,"args":[{"name":"sanitize_data_for_request_methods","external_name":"sanitize_data_for_request_methods","restriction":"Array(String)"}],"args_string":"(sanitize_data_for_request_methods : Array(String))","args_html":"(sanitize_data_for_request_methods : Array(String))","location":{"filename":"src/raven/configuration.cr","line_number":175,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L175"},"def":{"name":"sanitize_data_for_request_methods=","args":[{"name":"sanitize_data_for_request_methods","external_name":"sanitize_data_for_request_methods","restriction":"Array(String)"}],"visibility":"Public","body":"@sanitize_data_for_request_methods = sanitize_data_for_request_methods"}},{"html_id":"sanitize_fields:Array(Regex|String)-instance-method","name":"sanitize_fields","doc":"By default, Sentry censors `Hash` values when their keys match things like\n`\"secret\"`, `\"password\"`, etc. Provide an `Array` of `String`s that,\nwhen matched in a hash key, will be censored and not sent to Sentry.\n\nSee `Processor::SanitizeData::DEFAULT_FIELDS`.","summary":"

By default, Sentry censors Hash values when their keys match things like "secret", "password", etc.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":161,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L161"},"def":{"name":"sanitize_fields","visibility":"Public","body":"@sanitize_fields"}},{"html_id":"sanitize_fields=(sanitize_fields:Array(Regex|String))-instance-method","name":"sanitize_fields=","doc":"By default, Sentry censors `Hash` values when their keys match things like\n`\"secret\"`, `\"password\"`, etc. Provide an `Array` of `String`s that,\nwhen matched in a hash key, will be censored and not sent to Sentry.\n\nSee `Processor::SanitizeData::DEFAULT_FIELDS`.","summary":"

By default, Sentry censors Hash values when their keys match things like "secret", "password", etc.

","abstract":false,"args":[{"name":"sanitize_fields","external_name":"sanitize_fields","restriction":"::Array(::Regex | ::String)"}],"args_string":"(sanitize_fields : Array(Regex | String))","args_html":"(sanitize_fields : Array(Regex | String))","location":{"filename":"src/raven/configuration.cr","line_number":161,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L161"},"def":{"name":"sanitize_fields=","args":[{"name":"sanitize_fields","external_name":"sanitize_fields","restriction":"::Array(::Regex | ::String)"}],"visibility":"Public","body":"@sanitize_fields = sanitize_fields"}},{"html_id":"sanitize_fields_excluded:Array(Regex|String)-instance-method","name":"sanitize_fields_excluded","doc":"If you're sure you want to override the default sanitization values, you can\nadd to them to an array of `String`s here, e.g. `%w(authorization password)`.","summary":"

If you're sure you want to override the default sanitization values, you can add to them to an array of Strings here, e.g.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":165,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L165"},"def":{"name":"sanitize_fields_excluded","visibility":"Public","body":"@sanitize_fields_excluded"}},{"html_id":"sanitize_fields_excluded=(sanitize_fields_excluded:Array(Regex|String))-instance-method","name":"sanitize_fields_excluded=","doc":"If you're sure you want to override the default sanitization values, you can\nadd to them to an array of `String`s here, e.g. `%w(authorization password)`.","summary":"

If you're sure you want to override the default sanitization values, you can add to them to an array of Strings here, e.g.

","abstract":false,"args":[{"name":"sanitize_fields_excluded","external_name":"sanitize_fields_excluded","restriction":"::Array(::Regex | ::String)"}],"args_string":"(sanitize_fields_excluded : Array(Regex | String))","args_html":"(sanitize_fields_excluded : Array(Regex | String))","location":{"filename":"src/raven/configuration.cr","line_number":165,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L165"},"def":{"name":"sanitize_fields_excluded=","args":[{"name":"sanitize_fields_excluded","external_name":"sanitize_fields_excluded","restriction":"::Array(::Regex | ::String)"}],"visibility":"Public","body":"@sanitize_fields_excluded = sanitize_fields_excluded"}},{"html_id":"sanitize_http_headers:Array(Regex|String)-instance-method","name":"sanitize_http_headers","doc":"Sanitize additional HTTP headers - only `Authorization` is removed by default.\n\nSee `Processor::HTTPHeaders::DEFAULT_FIELDS`.","summary":"

Sanitize additional HTTP headers - only Authorization is removed by default.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":170,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L170"},"def":{"name":"sanitize_http_headers","visibility":"Public","body":"@sanitize_http_headers"}},{"html_id":"sanitize_http_headers=(sanitize_http_headers:Array(Regex|String))-instance-method","name":"sanitize_http_headers=","doc":"Sanitize additional HTTP headers - only `Authorization` is removed by default.\n\nSee `Processor::HTTPHeaders::DEFAULT_FIELDS`.","summary":"

Sanitize additional HTTP headers - only Authorization is removed by default.

","abstract":false,"args":[{"name":"sanitize_http_headers","external_name":"sanitize_http_headers","restriction":"::Array(::Regex | ::String)"}],"args_string":"(sanitize_http_headers : Array(Regex | String))","args_html":"(sanitize_http_headers : Array(Regex | String))","location":{"filename":"src/raven/configuration.cr","line_number":170,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L170"},"def":{"name":"sanitize_http_headers=","args":[{"name":"sanitize_http_headers","external_name":"sanitize_http_headers","restriction":"::Array(::Regex | ::String)"}],"visibility":"Public","body":"@sanitize_http_headers = sanitize_http_headers"}},{"html_id":"scheme:String|Nil-instance-method","name":"scheme","doc":"Can be one of `\"http\"`, `\"https\"`, or `\"dummy\"`.\n\nNOTE: DSN component - set automatically if DSN provided.","summary":"

Can be one of "http", "https", or "dummy".

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":180,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L180"},"def":{"name":"scheme","return_type":"String | ::Nil","visibility":"Public","body":"@scheme"}},{"html_id":"scheme=(scheme:String|Nil)-instance-method","name":"scheme=","doc":"Can be one of `\"http\"`, `\"https\"`, or `\"dummy\"`.\n\nNOTE: DSN component - set automatically if DSN provided.","summary":"

Can be one of "http", "https", or "dummy".

","abstract":false,"args":[{"name":"scheme","external_name":"scheme","restriction":"String | ::Nil"}],"args_string":"(scheme : String | Nil)","args_html":"(scheme : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":180,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L180"},"def":{"name":"scheme=","args":[{"name":"scheme","external_name":"scheme","restriction":"String | ::Nil"}],"visibility":"Public","body":"@scheme = scheme"}},{"html_id":"secret_key:String|Nil-instance-method","name":"secret_key","doc":"Secret key for authentication with the Sentry server.\n\nDEPRECATED: This is deprecated and not necessary for newer Sentry\ninstallations any more.\n\nNOTE: If you provide a DSN, this will be set automatically.","summary":"

Secret key for authentication with the Sentry server.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":196,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L196"},"def":{"name":"secret_key","return_type":"String | ::Nil","visibility":"Public","body":"@secret_key"}},{"html_id":"secret_key=(secret_key:String|Nil)-instance-method","name":"secret_key=","doc":"Secret key for authentication with the Sentry server.\n\nDEPRECATED: This is deprecated and not necessary for newer Sentry\ninstallations any more.\n\nNOTE: If you provide a DSN, this will be set automatically.","summary":"

Secret key for authentication with the Sentry server.

","abstract":false,"args":[{"name":"secret_key","external_name":"secret_key","restriction":"String | ::Nil"}],"args_string":"(secret_key : String | Nil)","args_html":"(secret_key : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":196,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L196"},"def":{"name":"secret_key=","args":[{"name":"secret_key","external_name":"secret_key","restriction":"String | ::Nil"}],"visibility":"Public","body":"@secret_key = secret_key"}},{"html_id":"send_modules=(send_modules:Bool)-instance-method","name":"send_modules=","doc":"Include module versions in reports.","summary":"

Include module versions in reports.

","abstract":false,"args":[{"name":"send_modules","external_name":"send_modules","restriction":"::Bool"}],"args_string":"(send_modules : Bool)","args_html":"(send_modules : Bool)","location":{"filename":"src/raven/configuration.cr","line_number":199,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L199"},"def":{"name":"send_modules=","args":[{"name":"send_modules","external_name":"send_modules","restriction":"::Bool"}],"visibility":"Public","body":"@send_modules = send_modules"}},{"html_id":"send_modules?:Bool-instance-method","name":"send_modules?","doc":"Include module versions in reports.","summary":"

Include module versions in reports.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":199,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L199"},"def":{"name":"send_modules?","visibility":"Public","body":"@send_modules"}},{"html_id":"server_name:String|Nil-instance-method","name":"server_name","doc":"Hostname as an FQDN.","summary":"

Hostname as an FQDN.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":205,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L205"},"def":{"name":"server_name","return_type":"String | ::Nil","visibility":"Public","body":"@server_name"}},{"html_id":"server_name=(server_name:String|Nil)-instance-method","name":"server_name=","doc":"Hostname as an FQDN.","summary":"

Hostname as an FQDN.

","abstract":false,"args":[{"name":"server_name","external_name":"server_name","restriction":"String | ::Nil"}],"args_string":"(server_name : String | Nil)","args_html":"(server_name : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":205,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L205"},"def":{"name":"server_name=","args":[{"name":"server_name","external_name":"server_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@server_name = server_name"}},{"html_id":"should_capture:Proc(Exception|String,Bool)|Nil-instance-method","name":"should_capture","doc":"Provide a configurable `Proc` callback to determine event capture.\n\nNOTE: Object passed into the block will be a `String` (messages)\nor an `Exception`.\n\n```\n->(obj : Exception | String) { obj.some_attr == false }\n```","summary":"

Provide a configurable Proc callback to determine event capture.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":215,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L215"},"def":{"name":"should_capture","return_type":"Proc(Exception | String, Bool) | ::Nil","visibility":"Public","body":"@should_capture"}},{"html_id":"should_capture=(should_capture:Proc(Exception|String,Bool)|Nil)-instance-method","name":"should_capture=","doc":"Provide a configurable `Proc` callback to determine event capture.\n\nNOTE: Object passed into the block will be a `String` (messages)\nor an `Exception`.\n\n```\n->(obj : Exception | String) { obj.some_attr == false }\n```","summary":"

Provide a configurable Proc callback to determine event capture.

","abstract":false,"args":[{"name":"should_capture","external_name":"should_capture","restriction":"Proc(Exception | String, Bool) | ::Nil"}],"args_string":"(should_capture : Proc(Exception | String, Bool) | Nil)","args_html":"(should_capture : Proc(Exception | String, Bool) | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":215,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L215"},"def":{"name":"should_capture=","args":[{"name":"should_capture","external_name":"should_capture","restriction":"Proc(Exception | String, Bool) | ::Nil"}],"visibility":"Public","body":"@should_capture = should_capture"}},{"html_id":"silence_ready=(silence_ready:Bool)-instance-method","name":"silence_ready=","doc":"Silences ready message when `true`.","summary":"

Silences ready message when true.

","abstract":false,"args":[{"name":"silence_ready","external_name":"silence_ready","restriction":"::Bool"}],"args_string":"(silence_ready : Bool)","args_html":"(silence_ready : Bool)","location":{"filename":"src/raven/configuration.cr","line_number":218,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L218"},"def":{"name":"silence_ready=","args":[{"name":"silence_ready","external_name":"silence_ready","restriction":"::Bool"}],"visibility":"Public","body":"@silence_ready = silence_ready"}},{"html_id":"silence_ready?:Bool-instance-method","name":"silence_ready?","doc":"Silences ready message when `true`.","summary":"

Silences ready message when true.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":218,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L218"},"def":{"name":"silence_ready?","visibility":"Public","body":"@silence_ready"}},{"html_id":"src_path(*args,**options)-instance-method","name":"src_path","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L68"},"def":{"name":"src_path","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"backtracer.src_path(*args, **options)"}},{"html_id":"src_path(*args,**options,&)-instance-method","name":"src_path","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L68"},"def":{"name":"src_path","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"backtracer.src_path(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"src_path=(arg)-instance-method","name":"src_path=","abstract":false,"args":[{"name":"arg","external_name":"arg","restriction":""}],"args_string":"(arg)","args_html":"(arg)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L68"},"def":{"name":"src_path=","args":[{"name":"arg","external_name":"arg","restriction":""}],"visibility":"Public","body":"backtracer.src_path = arg"}},{"html_id":"ssl:OpenSSL::SSL::Context::Client|Nil-instance-method","name":"ssl","doc":"SSL context passed to `Raven::Client`.","summary":"

SSL context passed to Raven::Client.

","abstract":false,"def":{"name":"ssl","return_type":"OpenSSL::SSL::Context::Client | ::Nil","visibility":"Public","body":"@ssl"}},{"html_id":"ssl=(ssl:OpenSSL::SSL::Context::Client|Nil)-instance-method","name":"ssl=","doc":"SSL context passed to `Raven::Client`.","summary":"

SSL context passed to Raven::Client.

","abstract":false,"args":[{"name":"ssl","external_name":"ssl","restriction":"OpenSSL::SSL::Context::Client | ::Nil"}],"args_string":"(ssl : OpenSSL::SSL::Context::Client | Nil)","args_html":"(ssl : OpenSSL::SSL::Context::Client | Nil)","def":{"name":"ssl=","args":[{"name":"ssl","external_name":"ssl","restriction":"OpenSSL::SSL::Context::Client | ::Nil"}],"visibility":"Public","body":"@ssl = ssl"}},{"html_id":"tags:AnyHash::JSON-instance-method","name":"tags","doc":"Default tags for events.","summary":"

Default tags for events.

","abstract":false,"def":{"name":"tags","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @tags).nil?\n @tags = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"tags=(tags:AnyHash::JSON)-instance-method","name":"tags=","doc":"Default tags for events.","summary":"

Default tags for events.

","abstract":false,"args":[{"name":"tags","external_name":"tags","restriction":"AnyHash::JSON"}],"args_string":"(tags : AnyHash::JSON)","args_html":"(tags : AnyHash::JSON)","def":{"name":"tags=","args":[{"name":"tags","external_name":"tags","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@tags = tags"}},{"html_id":"tags=(hash:Hash|NamedTuple|Nil)-instance-method","name":"tags=","doc":"Default tags for events.","summary":"

Default tags for events.

","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":221,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L221"},"def":{"name":"tags=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"tags.replace(hash)"}},{"html_id":"transport_failure_callback:Proc(Event::HashType,Nil)|Nil-instance-method","name":"transport_failure_callback","doc":"Optional `Proc`, called when the Sentry server cannot be contacted\nfor any reason.\n\n```\n->(event : Raven::Event::HashType) {\n spawn { MyJobProcessor.send_email(event) }\n}\n```","summary":"

Optional Proc, called when the Sentry server cannot be contacted for any reason.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":234,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L234"},"def":{"name":"transport_failure_callback","return_type":"Proc(Event::HashType, Nil) | ::Nil","visibility":"Public","body":"@transport_failure_callback"}},{"html_id":"transport_failure_callback=(transport_failure_callback:Proc(Event::HashType,Nil)|Nil)-instance-method","name":"transport_failure_callback=","doc":"Optional `Proc`, called when the Sentry server cannot be contacted\nfor any reason.\n\n```\n->(event : Raven::Event::HashType) {\n spawn { MyJobProcessor.send_email(event) }\n}\n```","summary":"

Optional Proc, called when the Sentry server cannot be contacted for any reason.

","abstract":false,"args":[{"name":"transport_failure_callback","external_name":"transport_failure_callback","restriction":"Proc(Event::HashType, Nil) | ::Nil"}],"args_string":"(transport_failure_callback : Proc(Event::HashType, Nil) | Nil)","args_html":"(transport_failure_callback : Proc(Event::HashType, Nil) | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":234,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L234"},"def":{"name":"transport_failure_callback=","args":[{"name":"transport_failure_callback","external_name":"transport_failure_callback","restriction":"Proc(Event::HashType, Nil) | ::Nil"}],"visibility":"Public","body":"@transport_failure_callback = transport_failure_callback"}},{"html_id":"valid?:Bool-instance-method","name":"valid?","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":395,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L395"},"def":{"name":"valid?","return_type":"Bool","visibility":"Public","body":"validate.empty?"}},{"html_id":"validate!:ValidationError|Nil-instance-method","name":"validate!","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":390,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L390"},"def":{"name":"validate!","return_type":"ValidationError | ::Nil","visibility":"Public","body":"errors = validate\nif errors.empty?\nelse\n ValidationError.new(errors)\nend\n"}}],"types":[{"html_id":"raven/Raven/Configuration/Encoding","path":"Raven/Configuration/Encoding.html","kind":"enum","full_name":"Raven::Configuration::Encoding","name":"Encoding","abstract":false,"ancestors":[{"html_id":"raven/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"raven/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"raven/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/configuration.cr","line_number":80,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L80"}],"repository_name":"raven","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"JSON","name":"JSON","value":"0"},{"id":"GZIP","name":"GZIP","value":"1"}],"namespace":{"html_id":"raven/Raven/Configuration","kind":"class","full_name":"Raven::Configuration","name":"Configuration"},"doc":"Encoding type for event bodies.","summary":"

Encoding type for event bodies.

","instance_methods":[{"html_id":"gzip?-instance-method","name":"gzip?","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":82,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L82"},"def":{"name":"gzip?","visibility":"Public","body":"self == GZIP"}},{"html_id":"json?-instance-method","name":"json?","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":81,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L81"},"def":{"name":"json?","visibility":"Public","body":"self == JSON"}}]},{"html_id":"raven/Raven/Configuration/ValidationError","path":"Raven/Configuration/ValidationError.html","kind":"class","full_name":"Raven::Configuration::ValidationError","name":"ValidationError","abstract":false,"superclass":{"html_id":"raven/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"raven/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/configuration.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L6"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Configuration","kind":"class","full_name":"Raven::Configuration","name":"Configuration"},"constructors":[{"html_id":"new(errors:Array(String))-class-method","name":"new","abstract":false,"args":[{"name":"errors","external_name":"errors","restriction":"::Array(::String)"}],"args_string":"(errors : Array(String))","args_html":"(errors : Array(String))","location":{"filename":"src/raven/configuration.cr","line_number":9,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L9"},"def":{"name":"new","args":[{"name":"errors","external_name":"errors","restriction":"::Array(::String)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(errors)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"error_messages:String-instance-method","name":"error_messages","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":12,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L12"},"def":{"name":"error_messages","return_type":"String","visibility":"Public","body":"errors.map_with_index do |e, i|\n i > 0 ? e.downcase : e\nend.join(\", \")"}},{"html_id":"errors:Array(String)-instance-method","name":"errors","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":7,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/configuration.cr#L7"},"def":{"name":"errors","return_type":"Array(String)","visibility":"Public","body":"@errors"}}]}]},{"html_id":"raven/Raven/Context","path":"Raven/Context.html","kind":"class","full_name":"Raven::Context","name":"Context","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/context.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/context.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"class_methods":[{"html_id":"clear!-class-method","name":"clear!","abstract":false,"location":{"filename":"src/raven/context.cr","line_number":12,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/context.cr#L12"},"def":{"name":"clear!","visibility":"Public","body":"@@mutex.synchronize do\n @@current = nil\nend"}},{"html_id":"current-class-method","name":"current","abstract":false,"location":{"filename":"src/raven/context.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/context.cr#L6"},"def":{"name":"current","visibility":"Public","body":"@@mutex.synchronize do\n @@current || (@@current = new)\nend"}},{"html_id":"os_context:AnyHash::JSON-class-method","name":"os_context","abstract":false,"location":{"filename":"src/raven/context.cr","line_number":18,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/context.cr#L18"},"def":{"name":"os_context","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @@os_context).nil?\n @@os_context = ({name: Raven.sys_command(\"uname -s\"), version: Raven.sys_command(\"uname -v\"), build: Raven.sys_command(\"uname -r\"), kernel_version: (Raven.sys_command(\"uname -a\")) || (Raven.sys_command(\"ver\"))}.to_any_json)\nelse\n value\nend"}},{"html_id":"runtime_context:AnyHash::JSON-class-method","name":"runtime_context","abstract":false,"location":{"filename":"src/raven/context.cr","line_number":27,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/context.cr#L27"},"def":{"name":"runtime_context","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @@runtime_context).nil?\n @@runtime_context = (begin\n version_pattern = /^(.+?) (\\d+[^\\n]+)\\n+LLVM: (\\d+[^\\n]+)\\nDefault target: (.+?)$/m\n if match = Crystal::DESCRIPTION.match(version_pattern)\n else\n raise(Raven::Error.new(\"Couldn't parse runtime version\"))\n end\n _, name, version, _llvm_version, _target = match\n {name: name, version: version}.to_any_json\n end)\nelse\n value\nend"}}],"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/context.cr","line_number":43,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/context.cr#L43"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"contexts:AnyHash::JSON-instance-method","name":"contexts","abstract":false,"def":{"name":"contexts","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @contexts).nil?\n @contexts = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"contexts=(contexts:AnyHash::JSON)-instance-method","name":"contexts=","abstract":false,"args":[{"name":"contexts","external_name":"contexts","restriction":"AnyHash::JSON"}],"args_string":"(contexts : AnyHash::JSON)","args_html":"(contexts : AnyHash::JSON)","def":{"name":"contexts=","args":[{"name":"contexts","external_name":"contexts","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@contexts = contexts"}},{"html_id":"contexts=(hash:Hash|NamedTuple|Nil)-instance-method","name":"contexts=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/context.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/context.cr#L41"},"def":{"name":"contexts=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"contexts.replace(hash)"}},{"html_id":"extra:AnyHash::JSON-instance-method","name":"extra","abstract":false,"def":{"name":"extra","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @extra).nil?\n @extra = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"extra=(extra:AnyHash::JSON)-instance-method","name":"extra=","abstract":false,"args":[{"name":"extra","external_name":"extra","restriction":"AnyHash::JSON"}],"args_string":"(extra : AnyHash::JSON)","args_html":"(extra : AnyHash::JSON)","def":{"name":"extra=","args":[{"name":"extra","external_name":"extra","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@extra = extra"}},{"html_id":"extra=(hash:Hash|NamedTuple|Nil)-instance-method","name":"extra=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/context.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/context.cr#L41"},"def":{"name":"extra=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"extra.replace(hash)"}},{"html_id":"tags:AnyHash::JSON-instance-method","name":"tags","abstract":false,"def":{"name":"tags","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @tags).nil?\n @tags = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"tags=(tags:AnyHash::JSON)-instance-method","name":"tags=","abstract":false,"args":[{"name":"tags","external_name":"tags","restriction":"AnyHash::JSON"}],"args_string":"(tags : AnyHash::JSON)","args_html":"(tags : AnyHash::JSON)","def":{"name":"tags=","args":[{"name":"tags","external_name":"tags","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@tags = tags"}},{"html_id":"tags=(hash:Hash|NamedTuple|Nil)-instance-method","name":"tags=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/context.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/context.cr#L41"},"def":{"name":"tags=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"tags.replace(hash)"}},{"html_id":"user:AnyHash::JSON-instance-method","name":"user","abstract":false,"def":{"name":"user","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @user).nil?\n @user = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"user=(user:AnyHash::JSON)-instance-method","name":"user=","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"AnyHash::JSON"}],"args_string":"(user : AnyHash::JSON)","args_html":"(user : AnyHash::JSON)","def":{"name":"user=","args":[{"name":"user","external_name":"user","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@user = user"}},{"html_id":"user=(hash:Hash|NamedTuple|Nil)-instance-method","name":"user=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/context.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/context.cr#L41"},"def":{"name":"user=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"user.replace(hash)"}}]},{"html_id":"raven/Raven/Delegators","path":"Raven/Delegators.html","kind":"module","full_name":"Raven::Delegators","name":"Delegators","abstract":false,"locations":[{"filename":"src/raven.cr","line_number":10,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L10"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"doc":"`Raven.instance` delegators.","summary":"

Raven.instance delegators.

","instance_methods":[{"html_id":"annotate_exception(*args,**options)-instance-method","name":"annotate_exception","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"annotate_exception","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.annotate_exception(*args, **options)"}},{"html_id":"annotate_exception(*args,**options,&)-instance-method","name":"annotate_exception","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"annotate_exception","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.annotate_exception(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"breadcrumbs(*args,**options)-instance-method","name":"breadcrumbs","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"breadcrumbs","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.breadcrumbs(*args, **options)"}},{"html_id":"breadcrumbs(*args,**options,&)-instance-method","name":"breadcrumbs","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"breadcrumbs","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.breadcrumbs(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"capture(*args,**options)-instance-method","name":"capture","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"capture","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.capture(*args, **options)"}},{"html_id":"capture(*args,**options,&)-instance-method","name":"capture","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"capture","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.capture(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"captured_exception?(*args,**options)-instance-method","name":"captured_exception?","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"captured_exception?","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.captured_exception?(*args, **options)"}},{"html_id":"captured_exception?(*args,**options,&)-instance-method","name":"captured_exception?","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"captured_exception?","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.captured_exception?(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"client(*args,**options)-instance-method","name":"client","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"client","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.client(*args, **options)"}},{"html_id":"client(*args,**options,&)-instance-method","name":"client","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"client","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.client(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"configuration(*args,**options)-instance-method","name":"configuration","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"configuration","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.configuration(*args, **options)"}},{"html_id":"configuration(*args,**options,&)-instance-method","name":"configuration","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"configuration","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.configuration(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"configure(*args,**options)-instance-method","name":"configure","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"configure","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.configure(*args, **options)"}},{"html_id":"configure(*args,**options,&)-instance-method","name":"configure","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"configure","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.configure(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"context(*args,**options)-instance-method","name":"context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.context(*args, **options)"}},{"html_id":"context(*args,**options,&)-instance-method","name":"context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.context(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"extra_context(*args,**options)-instance-method","name":"extra_context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"extra_context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.extra_context(*args, **options)"}},{"html_id":"extra_context(*args,**options,&)-instance-method","name":"extra_context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"extra_context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.extra_context(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"last_event_id(*args,**options)-instance-method","name":"last_event_id","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"last_event_id","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.last_event_id(*args, **options)"}},{"html_id":"last_event_id(*args,**options,&)-instance-method","name":"last_event_id","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"last_event_id","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.last_event_id(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"report_status(*args,**options)-instance-method","name":"report_status","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"report_status","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.report_status(*args, **options)"}},{"html_id":"report_status(*args,**options,&)-instance-method","name":"report_status","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"report_status","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.report_status(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"send_event(*args,**options)-instance-method","name":"send_event","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"send_event","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.send_event(*args, **options)"}},{"html_id":"send_event(*args,**options,&)-instance-method","name":"send_event","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"send_event","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.send_event(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"send_feedback(*args,**options)-instance-method","name":"send_feedback","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"send_feedback","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.send_feedback(*args, **options)"}},{"html_id":"send_feedback(*args,**options,&)-instance-method","name":"send_feedback","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"send_feedback","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.send_feedback(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"tags_context(*args,**options)-instance-method","name":"tags_context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"tags_context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.tags_context(*args, **options)"}},{"html_id":"tags_context(*args,**options,&)-instance-method","name":"tags_context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"tags_context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.tags_context(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"user_context(*args,**options)-instance-method","name":"user_context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"user_context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.user_context(*args, **options)"}},{"html_id":"user_context(*args,**options,&)-instance-method","name":"user_context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven.cr#L11"},"def":{"name":"user_context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.user_context(*args, **options) do |*yield_args|\n yield *yield_args\nend"}}]},{"html_id":"raven/Raven/Error","path":"Raven/Error.html","kind":"class","full_name":"Raven::Error","name":"Error","abstract":false,"superclass":{"html_id":"raven/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"raven/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/error.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/error.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"raven/Raven/Transport/HTTP/Error","kind":"class","full_name":"Raven::Transport::HTTP::Error","name":"Error"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"}},{"html_id":"raven/Raven/Event","path":"Raven/Event.html","kind":"class","full_name":"Raven::Event","name":"Event","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/event.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L4"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"MAX_MESSAGE_SIZE_IN_BYTES","name":"MAX_MESSAGE_SIZE_IN_BYTES","value":"1024 * 8","doc":"See Sentry server default limits at\nhttps://github.com/getsentry/sentry/blob/master/src/sentry/conf/server.py","summary":"

See Sentry server default limits at https://github.com/getsentry/sentry/blob/master/src/sentry/conf/server.py

"},{"id":"PLATFORM","name":"PLATFORM","value":"\"crystal\"","doc":"A string representing the platform the SDK is submitting from.\n\nThis will be used by the Sentry interface to customize\nvarious components in the interface.","summary":"

A string representing the platform the SDK is submitting from.

"},{"id":"SDK","name":"SDK","value":"{name: \"raven.cr\", version: Raven::VERSION}","doc":"Information about the SDK sending the event.","summary":"

Information about the SDK sending the event.

"}],"included_modules":[{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"class_methods":[{"html_id":"from(ex:Exception,**options)-class-method","name":"from","abstract":false,"args":[{"name":"ex","external_name":"ex","restriction":"Exception"}],"args_string":"(ex : Exception, **options)","args_html":"(ex : Exception, **options)","location":{"filename":"src/raven/event.cr","line_number":89,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L89"},"def":{"name":"from","args":[{"name":"ex","external_name":"ex","restriction":"Exception"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"{% for key in [:user, :tags, :extra] of ::Symbol %}\n ex_context = ex.@__raven_{{ key.id }}\n if options_context = options[{{ key }}]?\n options = options.merge({\n {{ key.id }}: ex_context.try(&.merge(options_context)) || options_context\n })\n else\n options = options.merge({\n {{ key.id }}: ex_context\n })\n end\n {% end %}\n(new(**options)).tap do |event|\n ex.callstack || (ex.callstack = Exception::CallStack.new)\n add_exception_interface(event, ex)\nend\n"}},{"html_id":"from(message:String,**options)-class-method","name":"from","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"String"}],"args_string":"(message : String, **options)","args_html":"(message : String, **options)","location":{"filename":"src/raven/event.cr","line_number":109,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L109"},"def":{"name":"from","args":[{"name":"message","external_name":"message","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"(new(**options)).tap do |event|\n event.message = {message, options[:message_params]?}\nend"}}],"constructors":[{"html_id":"new(**options)-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":159,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L159"},"def":{"name":"new","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**options)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"backtrace=(backtrace)-instance-method","name":"backtrace=","abstract":false,"args":[{"name":"backtrace","external_name":"backtrace","restriction":""}],"args_string":"(backtrace)","args_html":"(backtrace)","location":{"filename":"src/raven/event.cr","line_number":217,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L217"},"def":{"name":"backtrace=","args":[{"name":"backtrace","external_name":"backtrace","restriction":""}],"visibility":"Public","body":"backtrace = Backtracer.parse(backtrace, configuration: configuration.backtracer)\n(interface(:stacktrace, backtrace: backtrace)).tap do |stacktrace|\n self.culprit || (self.culprit = (stacktrace.as(Interface::Stacktrace)).culprit)\nend\n"}},{"html_id":"breadcrumbs:BreadcrumbBuffer-instance-method","name":"breadcrumbs","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":85,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L85"},"def":{"name":"breadcrumbs","return_type":"BreadcrumbBuffer","visibility":"Public","body":"@breadcrumbs"}},{"html_id":"breadcrumbs=(breadcrumbs:BreadcrumbBuffer)-instance-method","name":"breadcrumbs=","abstract":false,"args":[{"name":"breadcrumbs","external_name":"breadcrumbs","restriction":"BreadcrumbBuffer"}],"args_string":"(breadcrumbs : BreadcrumbBuffer)","args_html":"(breadcrumbs : BreadcrumbBuffer)","location":{"filename":"src/raven/event.cr","line_number":85,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L85"},"def":{"name":"breadcrumbs=","args":[{"name":"breadcrumbs","external_name":"breadcrumbs","restriction":"BreadcrumbBuffer"}],"visibility":"Public","body":"@breadcrumbs = breadcrumbs"}},{"html_id":"configuration:Configuration-instance-method","name":"configuration","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":84,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L84"},"def":{"name":"configuration","return_type":"Configuration","visibility":"Public","body":"@configuration"}},{"html_id":"configuration=(configuration:Configuration)-instance-method","name":"configuration=","abstract":false,"args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"args_string":"(configuration : Configuration)","args_html":"(configuration : Configuration)","location":{"filename":"src/raven/event.cr","line_number":84,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L84"},"def":{"name":"configuration=","args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"visibility":"Public","body":"@configuration = configuration"}},{"html_id":"context:Context-instance-method","name":"context","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":83,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L83"},"def":{"name":"context","return_type":"Context","visibility":"Public","body":"@context"}},{"html_id":"context=(context:Context)-instance-method","name":"context=","abstract":false,"args":[{"name":"context","external_name":"context","restriction":"Context"}],"args_string":"(context : Context)","args_html":"(context : Context)","location":{"filename":"src/raven/event.cr","line_number":83,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L83"},"def":{"name":"context=","args":[{"name":"context","external_name":"context","restriction":"Context"}],"visibility":"Public","body":"@context = context"}},{"html_id":"contexts:AnyHash::JSON-instance-method","name":"contexts","abstract":false,"def":{"name":"contexts","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @contexts).nil?\n @contexts = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"contexts=(contexts:AnyHash::JSON)-instance-method","name":"contexts=","abstract":false,"args":[{"name":"contexts","external_name":"contexts","restriction":"AnyHash::JSON"}],"args_string":"(contexts : AnyHash::JSON)","args_html":"(contexts : AnyHash::JSON)","def":{"name":"contexts=","args":[{"name":"contexts","external_name":"contexts","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@contexts = contexts"}},{"html_id":"contexts=(hash:Hash|NamedTuple|Nil)-instance-method","name":"contexts=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/event.cr","line_number":87,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L87"},"def":{"name":"contexts=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"contexts.replace(hash)"}},{"html_id":"culprit:String|Nil-instance-method","name":"culprit","doc":"The name of the transaction (or culprit) which caused this exception.","summary":"

The name of the transaction (or culprit) which caused this exception.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":55,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L55"},"def":{"name":"culprit","return_type":"String | ::Nil","visibility":"Public","body":"@culprit"}},{"html_id":"culprit=(culprit:String|Nil)-instance-method","name":"culprit=","doc":"The name of the transaction (or culprit) which caused this exception.","summary":"

The name of the transaction (or culprit) which caused this exception.

","abstract":false,"args":[{"name":"culprit","external_name":"culprit","restriction":"String | ::Nil"}],"args_string":"(culprit : String | Nil)","args_html":"(culprit : String | Nil)","location":{"filename":"src/raven/event.cr","line_number":55,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L55"},"def":{"name":"culprit=","args":[{"name":"culprit","external_name":"culprit","restriction":"String | ::Nil"}],"visibility":"Public","body":"@culprit = culprit"}},{"html_id":"environment:String|Nil-instance-method","name":"environment","doc":"The environment name, such as `production` or `staging`.","summary":"

The environment name, such as production or staging.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":78,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L78"},"def":{"name":"environment","return_type":"String | ::Nil","visibility":"Public","body":"@environment"}},{"html_id":"environment=(environment:String|Nil)-instance-method","name":"environment=","doc":"The environment name, such as `production` or `staging`.","summary":"

The environment name, such as production or staging.

","abstract":false,"args":[{"name":"environment","external_name":"environment","restriction":"String | ::Nil"}],"args_string":"(environment : String | Nil)","args_html":"(environment : String | Nil)","location":{"filename":"src/raven/event.cr","line_number":78,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L78"},"def":{"name":"environment=","args":[{"name":"environment","external_name":"environment","restriction":"String | ::Nil"}],"visibility":"Public","body":"@environment = environment"}},{"html_id":"extra:AnyHash::JSON-instance-method","name":"extra","abstract":false,"def":{"name":"extra","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @extra).nil?\n @extra = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"extra=(extra:AnyHash::JSON)-instance-method","name":"extra=","abstract":false,"args":[{"name":"extra","external_name":"extra","restriction":"AnyHash::JSON"}],"args_string":"(extra : AnyHash::JSON)","args_html":"(extra : AnyHash::JSON)","def":{"name":"extra=","args":[{"name":"extra","external_name":"extra","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@extra = extra"}},{"html_id":"extra=(hash:Hash|NamedTuple|Nil)-instance-method","name":"extra=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/event.cr","line_number":87,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L87"},"def":{"name":"extra=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"extra.replace(hash)"}},{"html_id":"fingerprint:Array(String)-instance-method","name":"fingerprint","doc":"An array of strings used to dictate the deduplication of this event.\n\nNOTE: A value of `{{ default }}` will be replaced with the built-in behavior,\nthus allowing you to extend it, or completely replace it.","summary":"

An array of strings used to dictate the deduplication of this event.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":75,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L75"},"def":{"name":"fingerprint","return_type":"Array(String)","visibility":"Public","body":"if (value = @fingerprint).nil?\n @fingerprint = ([] of String)\nelse\n value\nend"}},{"html_id":"fingerprint=(fingerprint:Array(String))-instance-method","name":"fingerprint=","doc":"An array of strings used to dictate the deduplication of this event.\n\nNOTE: A value of `{{ default }}` will be replaced with the built-in behavior,\nthus allowing you to extend it, or completely replace it.","summary":"

An array of strings used to dictate the deduplication of this event.

","abstract":false,"args":[{"name":"fingerprint","external_name":"fingerprint","restriction":"Array(String)"}],"args_string":"(fingerprint : Array(String))","args_html":"(fingerprint : Array(String))","location":{"filename":"src/raven/event.cr","line_number":75,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L75"},"def":{"name":"fingerprint=","args":[{"name":"fingerprint","external_name":"fingerprint","restriction":"Array(String)"}],"visibility":"Public","body":"@fingerprint = fingerprint"}},{"html_id":"id:String-instance-method","name":"id","doc":"Hexadecimal string representing a uuid4 value.\n\nNOTE: The length is exactly 32 characters (no dashes!)","summary":"

Hexadecimal string representing a uuid4 value.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":38,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L38"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","doc":"Hexadecimal string representing a uuid4 value.\n\nNOTE: The length is exactly 32 characters (no dashes!)","summary":"

Hexadecimal string representing a uuid4 value.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/raven/event.cr","line_number":38,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L38"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"interface(name:Symbol,options:NamedTuple)-instance-method","name":"interface","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"},{"name":"options","external_name":"options","restriction":"NamedTuple"}],"args_string":"(name : Symbol, options : NamedTuple)","args_html":"(name : Symbol, options : NamedTuple)","location":{"filename":"src/raven/event.cr","line_number":188,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L188"},"def":{"name":"interface","args":[{"name":"name","external_name":"name","restriction":"Symbol"},{"name":"options","external_name":"options","restriction":"NamedTuple"}],"visibility":"Public","body":"interface(name, **options)"}},{"html_id":"interface(name:Symbol)-instance-method","name":"interface","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"args_string":"(name : Symbol)","args_html":"(name : Symbol)","location":{"filename":"src/raven/event.cr","line_number":178,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L178"},"def":{"name":"interface","args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"visibility":"Public","body":"interface = Interface[name]\n@interfaces[interface.sentry_alias]?\n"}},{"html_id":"interface(name:Symbol,**options:Object)-instance-method","name":"interface","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"args_string":"(name : Symbol, **options : Object)","args_html":"(name : Symbol, **options : Object)","location":{"filename":"src/raven/event.cr","line_number":183,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L183"},"def":{"name":"interface","args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"double_splat":{"name":"options","external_name":"options","restriction":"Object"},"visibility":"Public","body":"interface = Interface[name]\n@interfaces[interface.sentry_alias] = interface.new(**options)\n"}},{"html_id":"level:Severity|Nil-instance-method","name":"level","doc":"The record severity. Defaults to `:error`.","summary":"

The record severity.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":44,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L44"},"def":{"name":"level","return_type":"Severity | ::Nil","visibility":"Public","body":"@level"}},{"html_id":"level=(level:Severity|Nil)-instance-method","name":"level=","doc":"The record severity. Defaults to `:error`.","summary":"

The record severity.

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Severity | ::Nil"}],"args_string":"(level : Severity | Nil)","args_html":"(level : Severity | Nil)","location":{"filename":"src/raven/event.cr","line_number":44,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L44"},"def":{"name":"level=","args":[{"name":"level","external_name":"level","restriction":"Severity | ::Nil"}],"visibility":"Public","body":"@level = level"}},{"html_id":"level=(severity:Symbol)-instance-method","name":"level=","doc":"The record severity. Defaults to `:error`.","summary":"

The record severity.

","abstract":false,"args":[{"name":"severity","external_name":"severity","restriction":"Symbol"}],"args_string":"(severity : Symbol)","args_html":"(severity : Symbol)","location":{"filename":"src/raven/event.cr","line_number":47,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L47"},"def":{"name":"level=","args":[{"name":"severity","external_name":"severity","restriction":"Symbol"}],"visibility":"Public","body":"@level = Severity.parse(severity.to_s)"}},{"html_id":"list_shard_specs-instance-method","name":"list_shard_specs","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":226,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L226"},"def":{"name":"list_shard_specs","visibility":"Public","body":"shards_list = Raven.sys_command_compiled(\"shards list\")\nif shards_list\nelse\n return\nend\ndeps = shards_list.scan(/\\* (?.+?) \\((?.+?)\\)/m)\nif deps.empty?\nelse\n deps.to_h do |match|\n {match[\"name\"], match[\"version\"]}\n end\nend\n"}},{"html_id":"logger:String|Nil-instance-method","name":"logger","doc":"The name of the logger which created the record.","summary":"

The name of the logger which created the record.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":52,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L52"},"def":{"name":"logger","return_type":"String | ::Nil","visibility":"Public","body":"@logger"}},{"html_id":"logger=(logger:String|Nil)-instance-method","name":"logger=","doc":"The name of the logger which created the record.","summary":"

The name of the logger which created the record.

","abstract":false,"args":[{"name":"logger","external_name":"logger","restriction":"String | ::Nil"}],"args_string":"(logger : String | Nil)","args_html":"(logger : String | Nil)","location":{"filename":"src/raven/event.cr","line_number":52,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L52"},"def":{"name":"logger=","args":[{"name":"logger","external_name":"logger","restriction":"String | ::Nil"}],"visibility":"Public","body":"@logger = logger"}},{"html_id":"message-instance-method","name":"message","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":192,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L192"},"def":{"name":"message","visibility":"Public","body":"(interface(:message)).try do |__arg1|\n (__arg1.as(Interface::Message)).unformatted_message\nend"}},{"html_id":"message=(message:String)-instance-method","name":"message=","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"String"}],"args_string":"(message : String)","args_html":"(message : String)","location":{"filename":"src/raven/event.cr","line_number":196,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L196"},"def":{"name":"message=","args":[{"name":"message","external_name":"message","restriction":"String"}],"visibility":"Public","body":"interface(:message, message: trim_message(message))"}},{"html_id":"message=(message_with_params:Enumerable|Indexable)-instance-method","name":"message=","abstract":false,"args":[{"name":"message_with_params","external_name":"message_with_params","restriction":"Enumerable | Indexable"}],"args_string":"(message_with_params : Enumerable | Indexable)","args_html":"(message_with_params : Enumerable | Indexable)","location":{"filename":"src/raven/event.cr","line_number":200,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L200"},"def":{"name":"message=","args":[{"name":"message_with_params","external_name":"message_with_params","restriction":"Enumerable | Indexable"}],"visibility":"Public","body":"message, params = message_with_params\noptions = {message: trim_message(message), params: params}\ninterface(:message, **options)\n"}},{"html_id":"modules:Hash(String,String)|Nil-instance-method","name":"modules","doc":"A list of relevant modules and their versions.","summary":"

A list of relevant modules and their versions.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":81,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L81"},"def":{"name":"modules","return_type":"Hash(String, String) | ::Nil","visibility":"Public","body":"@modules"}},{"html_id":"modules=(modules:Hash(String,String)|Nil)-instance-method","name":"modules=","doc":"A list of relevant modules and their versions.","summary":"

A list of relevant modules and their versions.

","abstract":false,"args":[{"name":"modules","external_name":"modules","restriction":"Hash(String, String) | ::Nil"}],"args_string":"(modules : Hash(String, String) | Nil)","args_html":"(modules : Hash(String, String) | Nil)","location":{"filename":"src/raven/event.cr","line_number":81,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L81"},"def":{"name":"modules=","args":[{"name":"modules","external_name":"modules","restriction":"Hash(String, String) | ::Nil"}],"visibility":"Public","body":"@modules = modules"}},{"html_id":"release:String|Nil-instance-method","name":"release","doc":"The release version of the application.\n\nNOTE: This value will generally be something along the lines of\nthe git SHA for the given project.","summary":"

The release version of the application.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":69,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L69"},"def":{"name":"release","return_type":"String | ::Nil","visibility":"Public","body":"@release"}},{"html_id":"release=(release:String|Nil)-instance-method","name":"release=","doc":"The release version of the application.\n\nNOTE: This value will generally be something along the lines of\nthe git SHA for the given project.","summary":"

The release version of the application.

","abstract":false,"args":[{"name":"release","external_name":"release","restriction":"String | ::Nil"}],"args_string":"(release : String | Nil)","args_html":"(release : String | Nil)","location":{"filename":"src/raven/event.cr","line_number":69,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L69"},"def":{"name":"release=","args":[{"name":"release","external_name":"release","restriction":"String | ::Nil"}],"visibility":"Public","body":"@release = release"}},{"html_id":"server_name:String|Nil-instance-method","name":"server_name","doc":"Identifies the host SDK from which the event was recorded.","summary":"

Identifies the host SDK from which the event was recorded.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":63,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L63"},"def":{"name":"server_name","return_type":"String | ::Nil","visibility":"Public","body":"@server_name"}},{"html_id":"server_name=(server_name:String|Nil)-instance-method","name":"server_name=","doc":"Identifies the host SDK from which the event was recorded.","summary":"

Identifies the host SDK from which the event was recorded.

","abstract":false,"args":[{"name":"server_name","external_name":"server_name","restriction":"String | ::Nil"}],"args_string":"(server_name : String | Nil)","args_html":"(server_name : String | Nil)","location":{"filename":"src/raven/event.cr","line_number":63,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L63"},"def":{"name":"server_name=","args":[{"name":"server_name","external_name":"server_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@server_name = server_name"}},{"html_id":"tags:AnyHash::JSON-instance-method","name":"tags","abstract":false,"def":{"name":"tags","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @tags).nil?\n @tags = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"tags=(tags:AnyHash::JSON)-instance-method","name":"tags=","abstract":false,"args":[{"name":"tags","external_name":"tags","restriction":"AnyHash::JSON"}],"args_string":"(tags : AnyHash::JSON)","args_html":"(tags : AnyHash::JSON)","def":{"name":"tags=","args":[{"name":"tags","external_name":"tags","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@tags = tags"}},{"html_id":"tags=(hash:Hash|NamedTuple|Nil)-instance-method","name":"tags=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/event.cr","line_number":87,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L87"},"def":{"name":"tags=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"tags.replace(hash)"}},{"html_id":"timestamp:Time-instance-method","name":"timestamp","doc":"Indicates when the logging record was created (in the Sentry SDK).","summary":"

Indicates when the logging record was created (in the Sentry SDK).

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L41"},"def":{"name":"timestamp","return_type":"Time","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Time)-instance-method","name":"timestamp=","doc":"Indicates when the logging record was created (in the Sentry SDK).","summary":"

Indicates when the logging record was created (in the Sentry SDK).

","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"args_string":"(timestamp : Time)","args_html":"(timestamp : Time)","location":{"filename":"src/raven/event.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L41"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"visibility":"Public","body":"@timestamp = timestamp"}},{"html_id":"to_hash:HashType-instance-method","name":"to_hash","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":235,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L235"},"def":{"name":"to_hash","return_type":"HashType","visibility":"Public","body":"data = {event_id: @id, timestamp: @timestamp.to_utc.to_s(\"%FT%X\"), level: @level.try() do |__arg2|\n __arg2.to_s.downcase\nend, platform: PLATFORM, sdk: SDK, logger: @logger, culprit: @culprit, server_name: @server_name, release: @release, environment: @environment, fingerprint: @fingerprint, modules: @modules, extra: @extra, tags: @tags, user: @user, contexts: @contexts, breadcrumbs: @breadcrumbs.empty? ? nil : @breadcrumbs.to_hash, message: message}.to_any_json\n@interfaces.each do |name, interface|\n data[name] = interface.to_hash\nend\ndata.to_h\n"}},{"html_id":"to_json(*args,**options)-instance-method","name":"to_json","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven/event.cr","line_number":264,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L264"},"def":{"name":"to_json","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"to_hash.to_json(*args, **options)"}},{"html_id":"to_json(*args,**options,&)-instance-method","name":"to_json","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven/event.cr","line_number":264,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L264"},"def":{"name":"to_json","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"to_hash.to_json(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"user:AnyHash::JSON-instance-method","name":"user","abstract":false,"def":{"name":"user","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @user).nil?\n @user = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"user=(user:AnyHash::JSON)-instance-method","name":"user=","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"AnyHash::JSON"}],"args_string":"(user : AnyHash::JSON)","args_html":"(user : AnyHash::JSON)","def":{"name":"user=","args":[{"name":"user","external_name":"user","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@user = user"}},{"html_id":"user=(hash:Hash|NamedTuple|Nil)-instance-method","name":"user=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/event.cr","line_number":87,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L87"},"def":{"name":"user=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"user.replace(hash)"}}],"types":[{"html_id":"raven/Raven/Event/HashType","path":"Raven/Event/HashType.html","kind":"alias","full_name":"Raven::Event::HashType","name":"HashType","abstract":false,"locations":[{"filename":"src/raven/event.cr","line_number":33,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L33"}],"repository_name":"raven","program":false,"enum":false,"alias":true,"aliased":"Hash(String | Symbol, AnyHash::JSONTypes::Value)","aliased_html":"Hash(String | Symbol, AnyHash::JSONTypes::Value)","const":false,"namespace":{"html_id":"raven/Raven/Event","kind":"class","full_name":"Raven::Event","name":"Event"},"doc":"`Hash` type returned by `#to_hash`.","summary":"

Hash type returned by #to_hash.

"},{"html_id":"raven/Raven/Event/Hint","path":"Raven/Event/Hint.html","kind":"struct","full_name":"Raven::Event::Hint","name":"Hint","abstract":false,"superclass":{"html_id":"raven/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"raven/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"raven/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/event.cr","line_number":17,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L17"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Event","kind":"class","full_name":"Raven::Event","name":"Event"},"doc":"Structure passed to `Configuration#before_send` callback.","summary":"

Structure passed to Configuration#before_send callback.

","constructors":[{"html_id":"new(exception:Exception|Nil,message:String|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"exception","external_name":"exception","restriction":"Exception | ::Nil"},{"name":"message","external_name":"message","restriction":"String | ::Nil"}],"args_string":"(exception : Exception | Nil, message : String | Nil)","args_html":"(exception : Exception | Nil, message : String | Nil)","location":{"filename":"src/raven/event.cr","line_number":17,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L17"},"def":{"name":"new","args":[{"name":"exception","external_name":"exception","restriction":"Exception | ::Nil"},{"name":"message","external_name":"message","restriction":"String | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(exception, message)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":17,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L17"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@exception.clone, @message.clone)"}},{"html_id":"copy_with(exception_exception=@exception,message_message=@message)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_exception","default_value":"@exception","external_name":"exception","restriction":""},{"name":"_message","default_value":"@message","external_name":"message","restriction":""}],"args_string":"(exception _exception = @exception, message _message = @message)","args_html":"(exception _exception = @exception, message _message = @message)","location":{"filename":"src/raven/event.cr","line_number":17,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L17"},"def":{"name":"copy_with","args":[{"name":"_exception","default_value":"@exception","external_name":"exception","restriction":""},{"name":"_message","default_value":"@message","external_name":"message","restriction":""}],"visibility":"Public","body":"self.class.new(_exception, _message)"}},{"html_id":"exception:Exception|Nil-instance-method","name":"exception","abstract":false,"def":{"name":"exception","return_type":"Exception | ::Nil","visibility":"Public","body":"@exception"}},{"html_id":"message:String|Nil-instance-method","name":"message","abstract":false,"def":{"name":"message","return_type":"String | ::Nil","visibility":"Public","body":"@message"}}]},{"html_id":"raven/Raven/Event/Severity","path":"Raven/Event/Severity.html","kind":"enum","full_name":"Raven::Event::Severity","name":"Severity","abstract":false,"ancestors":[{"html_id":"raven/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"raven/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"raven/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/event.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L8"}],"repository_name":"raven","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"DEBUG","name":"DEBUG","value":"0"},{"id":"INFO","name":"INFO","value":"1"},{"id":"WARNING","name":"WARNING","value":"2"},{"id":"ERROR","name":"ERROR","value":"3"},{"id":"FATAL","name":"FATAL","value":"4"}],"namespace":{"html_id":"raven/Raven/Event","kind":"class","full_name":"Raven::Event","name":"Event"},"doc":"Event severity.","summary":"

Event severity.

","instance_methods":[{"html_id":"debug?-instance-method","name":"debug?","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":9,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L9"},"def":{"name":"debug?","visibility":"Public","body":"self == DEBUG"}},{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":12,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L12"},"def":{"name":"error?","visibility":"Public","body":"self == ERROR"}},{"html_id":"fatal?-instance-method","name":"fatal?","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":13,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L13"},"def":{"name":"fatal?","visibility":"Public","body":"self == FATAL"}},{"html_id":"info?-instance-method","name":"info?","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":10,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L10"},"def":{"name":"info?","visibility":"Public","body":"self == INFO"}},{"html_id":"warning?-instance-method","name":"warning?","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/event.cr#L11"},"def":{"name":"warning?","visibility":"Public","body":"self == WARNING"}}]}]},{"html_id":"raven/Raven/Instance","path":"Raven/Instance.html","kind":"class","full_name":"Raven::Instance","name":"Instance","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/instance.cr","line_number":24,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L24"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"doc":"A copy of Raven's base module class methods, minus some of the integration\nand global hooks since it's meant to be used explicitly. Useful for\nsending errors to multiple sentry projects in a large application.\n\n```\nclass Foo\n def initialize\n @other_raven = Raven::Instance.new\n @other_raven.configure do |config|\n config.dsn = \"http://...\"\n end\n end\n\n def foo\n # ...\n\n\n rescue ex\n @other_raven.capture(ex)\n end\nend\n```","summary":"

A copy of Raven's base module class methods, minus some of the integration and global hooks since it's meant to be used explicitly.

","constructors":[{"html_id":"new(context=nil,config:Nil|Raven::Configuration=nil)-class-method","name":"new","abstract":false,"args":[{"name":"context","default_value":"nil","external_name":"context","restriction":""},{"name":"config","default_value":"nil","external_name":"config","restriction":"::Nil | ::Raven::Configuration"}],"args_string":"(context = nil, config : Nil | Raven::Configuration = nil)","args_html":"(context = nil, config : Nil | Raven::Configuration = nil)","location":{"filename":"src/raven/instance.cr","line_number":35,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L35"},"def":{"name":"new","args":[{"name":"context","default_value":"nil","external_name":"context","restriction":""},{"name":"config","default_value":"nil","external_name":"config","restriction":"::Nil | ::Raven::Configuration"}],"visibility":"Public","body":"_ = allocate\n_.initialize(context, config)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"annotate_exception(ex:Exception,**options)-instance-method","name":"annotate_exception","doc":"Provides extra context to the exception prior to it being handled by\nRaven. An exception can have multiple annotations, which are merged\ntogether.\n\nThe options (annotation) is treated the same as the *options*\nparameter to `capture` or `Event.from`, and\ncan contain the same `:user`, `:tags`, etc. options as these methods.\n\nThese will be merged with the *options* parameter to\n`Event.from` at the top of execution.\n\n```\nbegin\n raise \"Hello\"\nrescue ex\n Raven.annotate_exception(ex, user: {id: 1, email: \"foo@example.com\"})\n raise ex\nend\n```","summary":"

Provides extra context to the exception prior to it being handled by Raven.

","abstract":false,"args":[{"name":"ex","external_name":"ex","restriction":"Exception"}],"args_string":"(ex : Exception, **options)","args_html":"(ex : Exception, **options)","location":{"filename":"src/raven/instance.cr","line_number":250,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L250"},"def":{"name":"annotate_exception","args":[{"name":"ex","external_name":"ex","restriction":"Exception"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"{% for key in [:user, :tags, :extra] of ::Symbol %}\n if v = options[{{ key }}]?\n ex.__raven_{{ key.id }}.merge!(v)\n end\n {% end %}\nex\n"}},{"html_id":"breadcrumbs-instance-method","name":"breadcrumbs","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":326,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L326"},"def":{"name":"breadcrumbs","visibility":"Public","body":"BreadcrumbBuffer.current"}},{"html_id":"capture(klass:String,message:String,backtrace:String|Nil=nil,**options,&)-instance-method","name":"capture","doc":"Captures an exception with given *klass*, *message*\nand optional *backtrace*.\n\n```\nRaven.capture \"FooBarError\", \"Foo got bar!\"\n```\n\nNOTE: Useful in scenarios where you need to reconstruct the error\n(usually along with a backtrace from external source), while\nhaving no access to the actual Exception object.","summary":"

Captures an exception with given klass, message and optional backtrace.

","abstract":false,"args":[{"name":"klass","external_name":"klass","restriction":"String"},{"name":"message","external_name":"message","restriction":"String"},{"name":"backtrace","default_value":"nil","external_name":"backtrace","restriction":"String | ::Nil"}],"args_string":"(klass : String, message : String, backtrace : String | Nil = nil, **options, &)","args_html":"(klass : String, message : String, backtrace : String | Nil = nil, **options, &)","location":{"filename":"src/raven/instance.cr","line_number":193,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L193"},"def":{"name":"capture","args":[{"name":"klass","external_name":"klass","restriction":"String"},{"name":"message","external_name":"message","restriction":"String"},{"name":"backtrace","default_value":"nil","external_name":"backtrace","restriction":"String | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"yields":1,"block_arity":1,"visibility":"Public","body":"formatted_message = \"#{klass}: #{message}\"\ncapture(formatted_message, **options) do |event|\n ex = Interface::SingleException.new.tap do |iface|\n iface.module = (klass.split(\"::\"))[0...-1].join(\"::\")\n iface.type = klass\n iface.value = message\n if backtrace\n parsed = Backtracer.parse(backtrace, configuration: configuration.backtracer)\n iface.stacktrace = Interface::Stacktrace.new(backtrace: parsed).tap do |stacktrace|\n event.culprit = stacktrace.culprit\n end\n end\n end\n event.interface(:exception, values: [ex])\n yield event\nend\n"}},{"html_id":"capture(obj:Exception|String,**options,&)-instance-method","name":"capture","doc":"Captures given `Exception` or `String` object and yields\ncreated `Raven::Event` before sending to Sentry.\n\n```\nRaven.capture(\"boo!\") do |event|\n event.extra.merge! foo: \"bar\"\nend\n```","summary":"

Captures given Exception or String object and yields created Raven::Event before sending to Sentry.

","abstract":false,"args":[{"name":"obj","external_name":"obj","restriction":"Exception | String"}],"args_string":"(obj : Exception | String, **options, &)","args_html":"(obj : Exception | String, **options, &)","location":{"filename":"src/raven/instance.cr","line_number":130,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L130"},"def":{"name":"capture","args":[{"name":"obj","external_name":"obj","restriction":"Exception | String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"yields":2,"block_arity":2,"visibility":"Public","body":"if ex = configuration.capture_allowed!(obj)\n Log.debug do\n \"'#{obj}' excluded from capture: #{ex.error_messages}\"\n end\n return false\nend\ndefault_options = {configuration: configuration, context: context}\noptions = default_options.merge(options)\n(Event.from(obj, **options)).tap do |event|\n hint = if obj.is_a?(String)\n Event::Hint.new(exception: nil, message: obj)\n else\n Event::Hint.new(exception: obj, message: nil)\n end\n yield event, hint\n if async = configuration.async\n begin\n async.call(event)\n rescue ex\n Log.error(exception: ex) do\n \"Async event sending failed\"\n end\n send_event(event, hint)\n end\n else\n send_event(event, hint)\n end\n @last_event_id_mutex.synchronize do\n @last_event_id = event.id\n end\n (obj.as?(Exception)).try(&.__raven_event_id = event.id)\nend\n"}},{"html_id":"capture(obj:Exception|String,**options)-instance-method","name":"capture","doc":"Captures given `Exception` or `String` object.\n\n```\nbegin\n # ...\nrescue ex\n Raven.capture ex\nend\n\nRaven.capture \"boo!\"\n```","summary":"

Captures given Exception or String object.

","abstract":false,"args":[{"name":"obj","external_name":"obj","restriction":"Exception | String"}],"args_string":"(obj : Exception | String, **options)","args_html":"(obj : Exception | String, **options)","location":{"filename":"src/raven/instance.cr","line_number":179,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L179"},"def":{"name":"capture","args":[{"name":"obj","external_name":"obj","restriction":"Exception | String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"capture(obj, **options) do\nend"}},{"html_id":"capture(**options,&)-instance-method","name":"capture","doc":"Capture and process any exceptions from the given block.\n\n```\nRaven.capture do\n MyApp.run\nend\n```","summary":"

Capture and process any exceptions from the given block.

","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":222,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L222"},"def":{"name":"capture","double_splat":{"name":"options","external_name":"options","restriction":""},"yields":0,"block_arity":0,"visibility":"Public","body":"begin\n yield\nrescue ex : Raven::Error\n raise(ex)\nrescue ex : Exception\n capture(ex, **options)\n raise(ex)\nend"}},{"html_id":"captured_exception?(ex:Exception)-instance-method","name":"captured_exception?","doc":"Returns `true` in case given *ex* was already captured,\n`false` otherwise.\n\n```\nex = Exception.new(\"boo!\")\n\nRaven.captured_exception?(ex) # => false\nRaven.capture(ex)\nRaven.captured_exception?(ex) # => true\n```","summary":"

Returns true in case given ex was already captured, false otherwise.

","abstract":false,"args":[{"name":"ex","external_name":"ex","restriction":"Exception"}],"args_string":"(ex : Exception)","args_html":"(ex : Exception)","location":{"filename":"src/raven/instance.cr","line_number":269,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L269"},"def":{"name":"captured_exception?","args":[{"name":"ex","external_name":"ex","restriction":"Exception"}],"visibility":"Public","body":"!(!ex.__raven_event_id)"}},{"html_id":"client:Client-instance-method","name":"client","doc":"The client object is responsible for delivering formatted data to the\nSentry server.","summary":"

The client object is responsible for delivering formatted data to the Sentry server.

","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":30,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L30"},"def":{"name":"client","return_type":"Client","visibility":"Public","body":"if (value = @client).nil?\n @client = (Client.new(configuration))\nelse\n value\nend"}},{"html_id":"client=(client:Client)-instance-method","name":"client=","doc":"The client object is responsible for delivering formatted data to the\nSentry server.","summary":"

The client object is responsible for delivering formatted data to the Sentry server.

","abstract":false,"args":[{"name":"client","external_name":"client","restriction":"Client"}],"args_string":"(client : Client)","args_html":"(client : Client)","location":{"filename":"src/raven/instance.cr","line_number":30,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L30"},"def":{"name":"client=","args":[{"name":"client","external_name":"client","restriction":"Client"}],"visibility":"Public","body":"@client = client"}},{"html_id":"configuration:Configuration-instance-method","name":"configuration","doc":"See `Raven::Configuration`.","summary":"

See Raven::Configuration.

","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":26,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L26"},"def":{"name":"configuration","return_type":"Configuration","visibility":"Public","body":"if (value = @configuration).nil?\n @configuration = (Configuration.new)\nelse\n value\nend"}},{"html_id":"configuration=(configuration:Configuration)-instance-method","name":"configuration=","doc":"See `Raven::Configuration`.","summary":"

See Raven::Configuration.

","abstract":false,"args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"args_string":"(configuration : Configuration)","args_html":"(configuration : Configuration)","location":{"filename":"src/raven/instance.cr","line_number":26,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L26"},"def":{"name":"configuration=","args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"visibility":"Public","body":"@configuration = configuration"}},{"html_id":"configure-instance-method","name":"configure","doc":"Call this method to modify defaults in your initializers.\n\n```\nRaven.configure do |config|\n config.dsn = \"http://...\"\nend\n```","summary":"

Call this method to modify defaults in your initializers.

","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":67,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L67"},"def":{"name":"configure","visibility":"Public","body":"self.client = (Client.new(configuration)).tap do\n report_status\nend"}},{"html_id":"configure(&)-instance-method","name":"configure","doc":"Call this method to modify defaults in your initializers.\n\n```\nRaven.configure do |config|\n config.dsn = \"http://...\"\nend\n```","summary":"

Call this method to modify defaults in your initializers.

","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":72,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L72"},"def":{"name":"configure","yields":1,"block_arity":1,"visibility":"Public","body":"yield configuration\nconfigure\n"}},{"html_id":"context-instance-method","name":"context","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":40,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L40"},"def":{"name":"context","visibility":"Public","body":"if @explicit_context\n @context || (@context = Context.new)\nelse\n Context.current\nend"}},{"html_id":"extra_context(hash=nil,**options)-instance-method","name":"extra_context","doc":"Bind extra context. Merges with existing context (if any).\n\nExtra context shows up as *Additional Data* within Sentry,\nand is completely arbitrary.\n\n```\nRaven.extra_context(my_custom_data: \"value\")\n```","summary":"

Bind extra context.

","abstract":false,"args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"args_string":"(hash = nil, **options)","args_html":"(hash = nil, **options)","location":{"filename":"src/raven/instance.cr","line_number":305,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L305"},"def":{"name":"extra_context","args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"context.extra.merge!(hash, options)"}},{"html_id":"extra_context(hash=nil,**options,&)-instance-method","name":"extra_context","doc":"Bind extra context.\nMerges with existing context (if any).\n\nSee `#extra_context`","summary":"

Bind extra context.

","abstract":false,"args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"args_string":"(hash = nil, **options, &)","args_html":"(hash = nil, **options, &)","location":{"filename":"src/raven/instance.cr","line_number":309,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L309"},"def":{"name":"extra_context","args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"yields":0,"block_arity":0,"visibility":"Public","body":"prev_context = context.extra.clone\nbegin\n context.extra.merge!(hash, options)\n yield\nensure\n context.extra = prev_context\nend\ncontext.extra\n"}},{"html_id":"last_event_id-instance-method","name":"last_event_id","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":116,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L116"},"def":{"name":"last_event_id","visibility":"Public","body":"@last_event_id_mutex.synchronize do\n @last_event_id\nend"}},{"html_id":"report_status-instance-method","name":"report_status","doc":"Tell the log that the client is good to go.","summary":"

Tell the log that the client is good to go.

","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":49,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L49"},"def":{"name":"report_status","visibility":"Public","body":"if configuration.silence_ready?\n return\nend\nif ex = configuration.capture_allowed!\n Log.info do\n \"Raven #{VERSION} configured not to capture errors: #{ex.error_messages}\"\n end\nelse\n Log.info do\n \"Raven #{VERSION} ready to catch errors\"\n end\nend\n"}},{"html_id":"send_event(event,hint=nil)-instance-method","name":"send_event","doc":"Send an event to the configured Sentry server.\n\n```\nevent = Raven::Event.new(message: \"An error\")\nRaven.send_event(event)\n```","summary":"

Send an event to the configured Sentry server.

","abstract":false,"args":[{"name":"event","external_name":"event","restriction":""},{"name":"hint","default_value":"nil","external_name":"hint","restriction":""}],"args_string":"(event, hint = nil)","args_html":"(event, hint = nil)","location":{"filename":"src/raven/instance.cr","line_number":109,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L109"},"def":{"name":"send_event","args":[{"name":"event","external_name":"event","restriction":""},{"name":"hint","default_value":"nil","external_name":"hint","restriction":""}],"visibility":"Public","body":"client.send_event(event, hint)"}},{"html_id":"send_feedback(event_id:String,data:Hash)-instance-method","name":"send_feedback","doc":"Sends User Feedback to Sentry server.\n\n*data* should be a `Hash(String, String)` with following keys:\n- *name* (populated from `context.user[:username]` if left empty)\n- *email* (populated from `context.user[:email]` if left empty)\n- *comments*\n\n```\nRaven.send_feedback(Raven.last_event_id, {\n \"name\" => \"...\",\n \"email\" => \"...\",\n \"comments\" => \"...\",\n})\n```\n\nNOTE: Sentry server records single (last) feedback for a given *event_id*.","summary":"

Sends User Feedback to Sentry server.

","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"data","external_name":"data","restriction":"Hash"}],"args_string":"(event_id : String, data : Hash)","args_html":"(event_id : String, data : Hash)","location":{"filename":"src/raven/instance.cr","line_number":93,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L93"},"def":{"name":"send_feedback","args":[{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"data","external_name":"data","restriction":"Hash"}],"visibility":"Public","body":"if username = context.user[:username]?\n data[\"name\"]? || (data[\"name\"] = username.to_s)\nend\nif email = context.user[:email]?\n data[\"email\"]? || (data[\"email\"] = email.to_s)\nend\nclient.send_feedback(event_id, data)\n"}},{"html_id":"tags_context(hash=nil,**options)-instance-method","name":"tags_context","doc":"Bind tags context. Merges with existing context (if any).\n\nTags are key / value pairs which generally represent things like\napplication version, environment, role, and server names.\n\n```\nRaven.tags_context(my_custom_tag: \"tag_value\")\n```","summary":"

Bind tags context.

","abstract":false,"args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"args_string":"(hash = nil, **options)","args_html":"(hash = nil, **options)","location":{"filename":"src/raven/instance.cr","line_number":293,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L293"},"def":{"name":"tags_context","args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"context.tags.merge!(hash, options)"}},{"html_id":"tags_context(hash=nil,**options,&)-instance-method","name":"tags_context","doc":"Bind tags context.\nMerges with existing context (if any).\n\nSee `#tags_context`","summary":"

Bind tags context.

","abstract":false,"args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"args_string":"(hash = nil, **options, &)","args_html":"(hash = nil, **options, &)","location":{"filename":"src/raven/instance.cr","line_number":309,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L309"},"def":{"name":"tags_context","args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"yields":0,"block_arity":0,"visibility":"Public","body":"prev_context = context.tags.clone\nbegin\n context.tags.merge!(hash, options)\n yield\nensure\n context.tags = prev_context\nend\ncontext.tags\n"}},{"html_id":"user_context(hash=nil,**options)-instance-method","name":"user_context","doc":"Bind user context. Merges with existing context (if any).\n\nIt is recommending that you send at least the `:id` and `:email`\nvalues. All other values are arbitrary.\n\n```\nRaven.user_context(id: 1, email: \"foo@example.com\")\n```","summary":"

Bind user context.

","abstract":false,"args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"args_string":"(hash = nil, **options)","args_html":"(hash = nil, **options)","location":{"filename":"src/raven/instance.cr","line_number":281,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L281"},"def":{"name":"user_context","args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"context.user.merge!(hash, options)"}},{"html_id":"user_context(hash=nil,**options,&)-instance-method","name":"user_context","doc":"Bind user context.\nMerges with existing context (if any).\n\nSee `#user_context`","summary":"

Bind user context.

","abstract":false,"args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"args_string":"(hash = nil, **options, &)","args_html":"(hash = nil, **options, &)","location":{"filename":"src/raven/instance.cr","line_number":309,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/instance.cr#L309"},"def":{"name":"user_context","args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"yields":0,"block_arity":0,"visibility":"Public","body":"prev_context = context.user.clone\nbegin\n context.user.merge!(hash, options)\n yield\nensure\n context.user = prev_context\nend\ncontext.user\n"}}]},{"html_id":"raven/Raven/Interface","path":"Raven/Interface.html","kind":"class","full_name":"Raven::Interface","name":"Interface","abstract":true,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/interface.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interface.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"}],"subclasses":[{"html_id":"raven/Raven/Interface/Exception","kind":"class","full_name":"Raven::Interface::Exception","name":"Exception"},{"html_id":"raven/Raven/Interface/HTTP","kind":"class","full_name":"Raven::Interface::HTTP","name":"HTTP"},{"html_id":"raven/Raven/Interface/Message","kind":"class","full_name":"Raven::Interface::Message","name":"Message"},{"html_id":"raven/Raven/Interface/SingleException","kind":"class","full_name":"Raven::Interface::SingleException","name":"SingleException"},{"html_id":"raven/Raven/Interface/Stacktrace","kind":"class","full_name":"Raven::Interface::Stacktrace","name":"Stacktrace"},{"html_id":"raven/Raven/Interface/Stacktrace/Frame","kind":"class","full_name":"Raven::Interface::Stacktrace::Frame","name":"Frame"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"class_methods":[{"html_id":"[](name:Symbol):Interface.class-class-method","name":"[]","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"args_string":"(name : Symbol) : Interface.class","args_html":"(name : Symbol) : Interface.class","location":{"filename":"src/raven/interface.cr","line_number":15,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interface.cr#L15"},"def":{"name":"[]","args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"return_type":"Interface.class","visibility":"Public","body":"self[name]? || (raise(ArgumentError.new(\"Unknown interface: #{name}\")))"}},{"html_id":"[]=(name:Symbol,klass:Interface.class)-class-method","name":"[]=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"},{"name":"klass","external_name":"klass","restriction":"Interface.class"}],"args_string":"(name : Symbol, klass : Interface.class)","args_html":"(name : Symbol, klass : Interface.class)","location":{"filename":"src/raven/interface.cr","line_number":7,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interface.cr#L7"},"def":{"name":"[]=","args":[{"name":"name","external_name":"name","restriction":"Symbol"},{"name":"klass","external_name":"klass","restriction":"Interface.class"}],"visibility":"Public","body":"registered[name] = klass"}},{"html_id":"[]?(name:Symbol):Interface.class|Nil-class-method","name":"[]?","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"args_string":"(name : Symbol) : Interface.class | Nil","args_html":"(name : Symbol) : Interface.class | Nil","location":{"filename":"src/raven/interface.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interface.cr#L11"},"def":{"name":"[]?","args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"return_type":"Interface.class | Nil","visibility":"Public","body":"registered[name]?"}},{"html_id":"registered-class-method","name":"registered","abstract":false,"location":{"filename":"src/raven/interface.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interface.cr#L5"},"def":{"name":"registered","visibility":"Public","body":"@@registered"}},{"html_id":"sentry_alias:Symbol-class-method","name":"sentry_alias","abstract":false,"location":{"filename":"src/raven/interface.cr","line_number":19,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interface.cr#L19"},"def":{"name":"sentry_alias","return_type":"Symbol","visibility":"Public","body":"{% if true %}\n raise \"Undefined {{ @type.id }}.sentry_alias\"\n {% end %}"}}],"instance_methods":[{"html_id":"to_hash-instance-method","name":"to_hash","abstract":false,"location":{"filename":"src/raven/interface.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interface.cr#L41"},"def":{"name":"to_hash","visibility":"Public","body":"{% if @type.instance_vars.empty? %}{% else %}\n {\n {% for var in @type.instance_vars %}\n {{ var.name.id.symbolize }} => ((v = @{{ var.name.id }}) \\\n .responds_to?(:to_hash) \\\n ? v.try(&.to_hash)\n : v.is_a?(Array) \\\n ? v.map { |i| i.responds_to?(:to_hash) ? i.to_hash : i }\n : v\n ),\n {% end %}\n }\n {% end %}"}},{"html_id":"to_json(*args,**options)-instance-method","name":"to_json","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven/interface.cr","line_number":57,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interface.cr#L57"},"def":{"name":"to_json","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"to_hash.to_json(*args, **options)"}},{"html_id":"to_json(*args,**options,&)-instance-method","name":"to_json","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven/interface.cr","line_number":57,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interface.cr#L57"},"def":{"name":"to_json","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"to_hash.to_json(*args, **options) do |*yield_args|\n yield *yield_args\nend"}}],"types":[{"html_id":"raven/Raven/Interface/Exception","path":"Raven/Interface/Exception.html","kind":"class","full_name":"Raven::Interface::Exception","name":"Exception","abstract":false,"superclass":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"ancestors":[{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/interfaces/exception.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/exception.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"class_methods":[{"html_id":"sentry_alias-class-method","name":"sentry_alias","abstract":false,"location":{"filename":"src/raven/interfaces/exception.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/exception.cr#L5"},"def":{"name":"sentry_alias","visibility":"Public","body":":exception"}}],"constructors":[{"html_id":"new(**attributes)-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/interfaces/exception.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/exception.cr#L2"},"def":{"name":"new","double_splat":{"name":"attributes","external_name":"attributes","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**attributes)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"values:Array(SingleException)|Nil-instance-method","name":"values","abstract":false,"location":{"filename":"src/raven/interfaces/exception.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/exception.cr#L3"},"def":{"name":"values","return_type":"Array(SingleException) | ::Nil","visibility":"Public","body":"@values"}},{"html_id":"values=(values:Array(SingleException)|Nil)-instance-method","name":"values=","abstract":false,"args":[{"name":"values","external_name":"values","restriction":"Array(SingleException) | ::Nil"}],"args_string":"(values : Array(SingleException) | Nil)","args_html":"(values : Array(SingleException) | Nil)","location":{"filename":"src/raven/interfaces/exception.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/exception.cr#L3"},"def":{"name":"values=","args":[{"name":"values","external_name":"values","restriction":"Array(SingleException) | ::Nil"}],"visibility":"Public","body":"@values = values"}}]},{"html_id":"raven/Raven/Interface/HTTP","path":"Raven/Interface/HTTP.html","kind":"class","full_name":"Raven::Interface::HTTP","name":"HTTP","abstract":false,"superclass":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"ancestors":[{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/interfaces/http.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/http.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"class_methods":[{"html_id":"sentry_alias-class-method","name":"sentry_alias","abstract":false,"location":{"filename":"src/raven/interfaces/http.cr","line_number":10,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/http.cr#L10"},"def":{"name":"sentry_alias","visibility":"Public","body":":request"}}],"constructors":[{"html_id":"new(**attributes)-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/interfaces/http.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/http.cr#L2"},"def":{"name":"new","double_splat":{"name":"attributes","external_name":"attributes","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**attributes)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"cookies:String|Nil-instance-method","name":"cookies","abstract":false,"location":{"filename":"src/raven/interfaces/http.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/http.cr#L6"},"def":{"name":"cookies","return_type":"String | ::Nil","visibility":"Public","body":"@cookies"}},{"html_id":"cookies=(cookies:String|Nil)-instance-method","name":"cookies=","abstract":false,"args":[{"name":"cookies","external_name":"cookies","restriction":"String | ::Nil"}],"args_string":"(cookies : String | Nil)","args_html":"(cookies : String | Nil)","location":{"filename":"src/raven/interfaces/http.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/http.cr#L6"},"def":{"name":"cookies=","args":[{"name":"cookies","external_name":"cookies","restriction":"String | ::Nil"}],"visibility":"Public","body":"@cookies = cookies"}},{"html_id":"data:AnyHash::JSON-instance-method","name":"data","abstract":false,"def":{"name":"data","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @data).nil?\n @data = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"data=(data:AnyHash::JSON)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"AnyHash::JSON"}],"args_string":"(data : AnyHash::JSON)","args_html":"(data : AnyHash::JSON)","def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@data = data"}},{"html_id":"data=(hash:Hash|NamedTuple|Nil)-instance-method","name":"data=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/interfaces/http.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/http.cr#L8"},"def":{"name":"data=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"data.replace(hash)"}},{"html_id":"env:AnyHash::JSON-instance-method","name":"env","abstract":false,"def":{"name":"env","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @env).nil?\n @env = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"env=(env:AnyHash::JSON)-instance-method","name":"env=","abstract":false,"args":[{"name":"env","external_name":"env","restriction":"AnyHash::JSON"}],"args_string":"(env : AnyHash::JSON)","args_html":"(env : AnyHash::JSON)","def":{"name":"env=","args":[{"name":"env","external_name":"env","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@env = env"}},{"html_id":"env=(hash:Hash|NamedTuple|Nil)-instance-method","name":"env=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/interfaces/http.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/http.cr#L8"},"def":{"name":"env=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"env.replace(hash)"}},{"html_id":"headers:AnyHash::JSON-instance-method","name":"headers","abstract":false,"def":{"name":"headers","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @headers).nil?\n @headers = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"headers=(headers:AnyHash::JSON)-instance-method","name":"headers=","abstract":false,"args":[{"name":"headers","external_name":"headers","restriction":"AnyHash::JSON"}],"args_string":"(headers : AnyHash::JSON)","args_html":"(headers : AnyHash::JSON)","def":{"name":"headers=","args":[{"name":"headers","external_name":"headers","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@headers = headers"}},{"html_id":"headers=(hash:Hash|NamedTuple|Nil)-instance-method","name":"headers=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/interfaces/http.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/http.cr#L8"},"def":{"name":"headers=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"headers.replace(hash)"}},{"html_id":"method:String-instance-method","name":"method","abstract":false,"def":{"name":"method","return_type":"String","visibility":"Public","body":"if (value = @method).nil?\n ::raise(::NilAssertionError.new(\"Raven::Interface::HTTP#method cannot be nil\"))\nelse\n value\nend"}},{"html_id":"method=(method:String)-instance-method","name":"method=","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"}],"args_string":"(method : String)","args_html":"(method : String)","location":{"filename":"src/raven/interfaces/http.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/http.cr#L4"},"def":{"name":"method=","args":[{"name":"method","external_name":"method","restriction":"String"}],"visibility":"Public","body":"@method = method"}},{"html_id":"method?:String|Nil-instance-method","name":"method?","abstract":false,"def":{"name":"method?","return_type":"String | ::Nil","visibility":"Public","body":"@method"}},{"html_id":"query_string:String|Nil-instance-method","name":"query_string","abstract":false,"location":{"filename":"src/raven/interfaces/http.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/http.cr#L5"},"def":{"name":"query_string","return_type":"String | ::Nil","visibility":"Public","body":"@query_string"}},{"html_id":"query_string=(query_string:String|Nil)-instance-method","name":"query_string=","abstract":false,"args":[{"name":"query_string","external_name":"query_string","restriction":"String | ::Nil"}],"args_string":"(query_string : String | Nil)","args_html":"(query_string : String | Nil)","location":{"filename":"src/raven/interfaces/http.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/http.cr#L5"},"def":{"name":"query_string=","args":[{"name":"query_string","external_name":"query_string","restriction":"String | ::Nil"}],"visibility":"Public","body":"@query_string = query_string"}},{"html_id":"url:String-instance-method","name":"url","abstract":false,"def":{"name":"url","return_type":"String","visibility":"Public","body":"if (value = @url).nil?\n ::raise(::NilAssertionError.new(\"Raven::Interface::HTTP#url cannot be nil\"))\nelse\n value\nend"}},{"html_id":"url=(url:String)-instance-method","name":"url=","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/raven/interfaces/http.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/http.cr#L3"},"def":{"name":"url=","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@url = url"}},{"html_id":"url?:String|Nil-instance-method","name":"url?","abstract":false,"def":{"name":"url?","return_type":"String | ::Nil","visibility":"Public","body":"@url"}}]},{"html_id":"raven/Raven/Interface/Message","path":"Raven/Interface/Message.html","kind":"class","full_name":"Raven::Interface::Message","name":"Message","abstract":false,"superclass":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"ancestors":[{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/interfaces/message.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/message.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"class_methods":[{"html_id":"sentry_alias-class-method","name":"sentry_alias","abstract":false,"location":{"filename":"src/raven/interfaces/message.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/message.cr#L6"},"def":{"name":"sentry_alias","visibility":"Public","body":":logentry"}}],"constructors":[{"html_id":"new(**attributes)-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/interfaces/message.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/message.cr#L2"},"def":{"name":"new","double_splat":{"name":"attributes","external_name":"attributes","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**attributes)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"message:String-instance-method","name":"message","abstract":false,"def":{"name":"message","return_type":"String","visibility":"Public","body":"if (value = @message).nil?\n ::raise(::NilAssertionError.new(\"Raven::Interface::Message#message cannot be nil\"))\nelse\n value\nend"}},{"html_id":"message=(message:String)-instance-method","name":"message=","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"String"}],"args_string":"(message : String)","args_html":"(message : String)","location":{"filename":"src/raven/interfaces/message.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/message.cr#L3"},"def":{"name":"message=","args":[{"name":"message","external_name":"message","restriction":"String"}],"visibility":"Public","body":"@message = message"}},{"html_id":"message?:String|Nil-instance-method","name":"message?","abstract":false,"def":{"name":"message?","return_type":"String | ::Nil","visibility":"Public","body":"@message"}},{"html_id":"params:Array(String)|Nil-instance-method","name":"params","abstract":false,"location":{"filename":"src/raven/interfaces/message.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/message.cr#L4"},"def":{"name":"params","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@params"}},{"html_id":"params=(params:Array(String)|Nil)-instance-method","name":"params=","abstract":false,"args":[{"name":"params","external_name":"params","restriction":"Array(String) | ::Nil"}],"args_string":"(params : Array(String) | Nil)","args_html":"(params : Array(String) | Nil)","location":{"filename":"src/raven/interfaces/message.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/message.cr#L4"},"def":{"name":"params=","args":[{"name":"params","external_name":"params","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@params = params"}},{"html_id":"unformatted_message-instance-method","name":"unformatted_message","abstract":false,"location":{"filename":"src/raven/interfaces/message.cr","line_number":10,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/message.cr#L10"},"def":{"name":"unformatted_message","visibility":"Public","body":"if (params = @params) && (!params.empty?)\n message?.try(&.%(params))\nelse\n message?\nend"}}]},{"html_id":"raven/Raven/Interface/SingleException","path":"Raven/Interface/SingleException.html","kind":"class","full_name":"Raven::Interface::SingleException","name":"SingleException","abstract":false,"superclass":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"ancestors":[{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/interfaces/single_exception.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/single_exception.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"constructors":[{"html_id":"new(**attributes)-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/interfaces/single_exception.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/single_exception.cr#L2"},"def":{"name":"new","double_splat":{"name":"attributes","external_name":"attributes","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**attributes)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"module:String|Nil-instance-method","name":"module","abstract":false,"location":{"filename":"src/raven/interfaces/single_exception.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/single_exception.cr#L5"},"def":{"name":"module","return_type":"String | ::Nil","visibility":"Public","body":"@module"}},{"html_id":"module=(module__arg0:String|Nil)-instance-method","name":"module=","abstract":false,"args":[{"name":"__arg0","external_name":"module","restriction":"String | ::Nil"}],"args_string":"(module __arg0 : String | Nil)","args_html":"(module __arg0 : String | Nil)","location":{"filename":"src/raven/interfaces/single_exception.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/single_exception.cr#L5"},"def":{"name":"module=","args":[{"name":"__arg0","external_name":"module","restriction":"String | ::Nil"}],"visibility":"Public","body":"@module = __arg0"}},{"html_id":"stacktrace:Stacktrace|Nil-instance-method","name":"stacktrace","abstract":false,"location":{"filename":"src/raven/interfaces/single_exception.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/single_exception.cr#L6"},"def":{"name":"stacktrace","return_type":"Stacktrace | ::Nil","visibility":"Public","body":"@stacktrace"}},{"html_id":"stacktrace=(stacktrace:Stacktrace|Nil)-instance-method","name":"stacktrace=","abstract":false,"args":[{"name":"stacktrace","external_name":"stacktrace","restriction":"Stacktrace | ::Nil"}],"args_string":"(stacktrace : Stacktrace | Nil)","args_html":"(stacktrace : Stacktrace | Nil)","location":{"filename":"src/raven/interfaces/single_exception.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/single_exception.cr#L6"},"def":{"name":"stacktrace=","args":[{"name":"stacktrace","external_name":"stacktrace","restriction":"Stacktrace | ::Nil"}],"visibility":"Public","body":"@stacktrace = stacktrace"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"def":{"name":"type","return_type":"String","visibility":"Public","body":"if (value = @type).nil?\n ::raise(::NilAssertionError.new(\"Raven::Interface::SingleException#type cannot be nil\"))\nelse\n value\nend"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/raven/interfaces/single_exception.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/single_exception.cr#L3"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}},{"html_id":"type?:String|Nil-instance-method","name":"type?","abstract":false,"def":{"name":"type?","return_type":"String | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"value:String-instance-method","name":"value","abstract":false,"def":{"name":"value","return_type":"String","visibility":"Public","body":"if (value = @value).nil?\n ::raise(::NilAssertionError.new(\"Raven::Interface::SingleException#value cannot be nil\"))\nelse\n value\nend"}},{"html_id":"value=(value:String)-instance-method","name":"value=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/raven/interfaces/single_exception.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/single_exception.cr#L4"},"def":{"name":"value=","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"@value = value"}},{"html_id":"value?:String|Nil-instance-method","name":"value?","abstract":false,"def":{"name":"value?","return_type":"String | ::Nil","visibility":"Public","body":"@value"}}]},{"html_id":"raven/Raven/Interface/Stacktrace","path":"Raven/Interface/Stacktrace.html","kind":"class","full_name":"Raven::Interface::Stacktrace","name":"Stacktrace","abstract":false,"superclass":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"ancestors":[{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/interfaces/stacktrace.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"class_methods":[{"html_id":"sentry_alias-class-method","name":"sentry_alias","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L5"},"def":{"name":"sentry_alias","visibility":"Public","body":":stacktrace"}}],"constructors":[{"html_id":"new(**attributes)-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L2"},"def":{"name":"new","double_splat":{"name":"attributes","external_name":"attributes","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**attributes)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"backtrace=(backtrace:Backtracer::Backtrace)-instance-method","name":"backtrace=","abstract":false,"args":[{"name":"backtrace","external_name":"backtrace","restriction":"Backtracer::Backtrace"}],"args_string":"(backtrace : Backtracer::Backtrace)","args_html":"(backtrace : Backtracer::Backtrace)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":9,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L9"},"def":{"name":"backtrace=","args":[{"name":"backtrace","external_name":"backtrace","restriction":"Backtracer::Backtrace"}],"visibility":"Public","body":"@frames.clear\nbacktrace.frames.reverse_each do |frame|\n @frames << (Frame.from_backtrace_frame(frame))\nend\n"}},{"html_id":"culprit:Frame|Nil-instance-method","name":"culprit","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":17,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L17"},"def":{"name":"culprit","return_type":"Frame | ::Nil","visibility":"Public","body":"frames.reverse.find(&.in_app?) || frames.last?"}},{"html_id":"frames:Array(Frame)-instance-method","name":"frames","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L3"},"def":{"name":"frames","return_type":"Array(Frame)","visibility":"Public","body":"@frames"}},{"html_id":"frames=(frames:Array(Frame))-instance-method","name":"frames=","abstract":false,"args":[{"name":"frames","external_name":"frames","restriction":"Array(Frame)"}],"args_string":"(frames : Array(Frame))","args_html":"(frames : Array(Frame))","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L3"},"def":{"name":"frames=","args":[{"name":"frames","external_name":"frames","restriction":"Array(Frame)"}],"visibility":"Public","body":"@frames = frames"}}],"types":[{"html_id":"raven/Raven/Interface/Stacktrace/Frame","path":"Raven/Interface/Stacktrace/Frame.html","kind":"class","full_name":"Raven::Interface::Stacktrace::Frame","name":"Frame","abstract":false,"superclass":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"ancestors":[{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/interfaces/stacktrace.cr","line_number":22,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L22"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Interface/Stacktrace","kind":"class","full_name":"Raven::Interface::Stacktrace","name":"Stacktrace"},"doc":"Not actually an interface, but I want to use the same style","summary":"

Not actually an interface, but I want to use the same style

","class_methods":[{"html_id":"from_backtrace_frame(line)-class-method","name":"from_backtrace_frame","abstract":false,"args":[{"name":"line","external_name":"line","restriction":""}],"args_string":"(line)","args_html":"(line)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":34,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L34"},"def":{"name":"from_backtrace_frame","args":[{"name":"line","external_name":"line","restriction":""}],"visibility":"Public","body":"new.tap do |frame|\n frame.abs_path = line.absolute_path || line.path\n frame.filename = line.relative_path\n frame.function = line.method\n frame.package = line.shard_name\n frame.lineno = line.lineno\n frame.colno = line.column\n frame.in_app = line.in_app?\n if context = line.context\n frame.pre_context, frame.context_line, frame.post_context = context.pre, context.line, context.post\n end\nend"}}],"constructors":[{"html_id":"new(**attributes)-class-method","name":"new","doc":"Not actually an interface, but I want to use the same style","summary":"

Not actually an interface, but I want to use the same style

","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":22,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L22"},"def":{"name":"new","double_splat":{"name":"attributes","external_name":"attributes","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**attributes)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"abs_path:String|Nil-instance-method","name":"abs_path","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":23,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L23"},"def":{"name":"abs_path","return_type":"String | ::Nil","visibility":"Public","body":"@abs_path"}},{"html_id":"abs_path=(abs_path:String|Nil)-instance-method","name":"abs_path=","abstract":false,"args":[{"name":"abs_path","external_name":"abs_path","restriction":"String | ::Nil"}],"args_string":"(abs_path : String | Nil)","args_html":"(abs_path : String | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":23,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L23"},"def":{"name":"abs_path=","args":[{"name":"abs_path","external_name":"abs_path","restriction":"String | ::Nil"}],"visibility":"Public","body":"@abs_path = abs_path"}},{"html_id":"colno:Int32|Nil-instance-method","name":"colno","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":31,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L31"},"def":{"name":"colno","return_type":"Int32 | ::Nil","visibility":"Public","body":"@colno"}},{"html_id":"colno=(colno:Int32|Nil)-instance-method","name":"colno=","abstract":false,"args":[{"name":"colno","external_name":"colno","restriction":"Int32 | ::Nil"}],"args_string":"(colno : Int32 | Nil)","args_html":"(colno : Int32 | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":31,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L31"},"def":{"name":"colno=","args":[{"name":"colno","external_name":"colno","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@colno = colno"}},{"html_id":"context_line:String|Nil-instance-method","name":"context_line","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":27,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L27"},"def":{"name":"context_line","return_type":"String | ::Nil","visibility":"Public","body":"@context_line"}},{"html_id":"context_line=(context_line:String|Nil)-instance-method","name":"context_line=","abstract":false,"args":[{"name":"context_line","external_name":"context_line","restriction":"String | ::Nil"}],"args_string":"(context_line : String | Nil)","args_html":"(context_line : String | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":27,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L27"},"def":{"name":"context_line=","args":[{"name":"context_line","external_name":"context_line","restriction":"String | ::Nil"}],"visibility":"Public","body":"@context_line = context_line"}},{"html_id":"filename:String|Nil-instance-method","name":"filename","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":24,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L24"},"def":{"name":"filename","return_type":"String | ::Nil","visibility":"Public","body":"@filename"}},{"html_id":"filename=(filename:String|Nil)-instance-method","name":"filename=","abstract":false,"args":[{"name":"filename","external_name":"filename","restriction":"String | ::Nil"}],"args_string":"(filename : String | Nil)","args_html":"(filename : String | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":24,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L24"},"def":{"name":"filename=","args":[{"name":"filename","external_name":"filename","restriction":"String | ::Nil"}],"visibility":"Public","body":"@filename = filename"}},{"html_id":"function:String|Nil-instance-method","name":"function","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":25,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L25"},"def":{"name":"function","return_type":"String | ::Nil","visibility":"Public","body":"@function"}},{"html_id":"function=(function:String|Nil)-instance-method","name":"function=","abstract":false,"args":[{"name":"function","external_name":"function","restriction":"String | ::Nil"}],"args_string":"(function : String | Nil)","args_html":"(function : String | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":25,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L25"},"def":{"name":"function=","args":[{"name":"function","external_name":"function","restriction":"String | ::Nil"}],"visibility":"Public","body":"@function = function"}},{"html_id":"in_app=(in_app:Bool|Nil)-instance-method","name":"in_app=","abstract":false,"args":[{"name":"in_app","external_name":"in_app","restriction":"Bool | ::Nil"}],"args_string":"(in_app : Bool | Nil)","args_html":"(in_app : Bool | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":32,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L32"},"def":{"name":"in_app=","args":[{"name":"in_app","external_name":"in_app","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@in_app = in_app"}},{"html_id":"in_app?:Bool|Nil-instance-method","name":"in_app?","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":32,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L32"},"def":{"name":"in_app?","return_type":"Bool | ::Nil","visibility":"Public","body":"@in_app"}},{"html_id":"lineno:Int32|Nil-instance-method","name":"lineno","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":30,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L30"},"def":{"name":"lineno","return_type":"Int32 | ::Nil","visibility":"Public","body":"@lineno"}},{"html_id":"lineno=(lineno:Int32|Nil)-instance-method","name":"lineno=","abstract":false,"args":[{"name":"lineno","external_name":"lineno","restriction":"Int32 | ::Nil"}],"args_string":"(lineno : Int32 | Nil)","args_html":"(lineno : Int32 | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":30,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L30"},"def":{"name":"lineno=","args":[{"name":"lineno","external_name":"lineno","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@lineno = lineno"}},{"html_id":"package:String|Nil-instance-method","name":"package","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":26,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L26"},"def":{"name":"package","return_type":"String | ::Nil","visibility":"Public","body":"@package"}},{"html_id":"package=(package:String|Nil)-instance-method","name":"package=","abstract":false,"args":[{"name":"package","external_name":"package","restriction":"String | ::Nil"}],"args_string":"(package : String | Nil)","args_html":"(package : String | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":26,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L26"},"def":{"name":"package=","args":[{"name":"package","external_name":"package","restriction":"String | ::Nil"}],"visibility":"Public","body":"@package = package"}},{"html_id":"post_context:Array(String)|Nil-instance-method","name":"post_context","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":29,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L29"},"def":{"name":"post_context","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@post_context"}},{"html_id":"post_context=(post_context:Array(String)|Nil)-instance-method","name":"post_context=","abstract":false,"args":[{"name":"post_context","external_name":"post_context","restriction":"Array(String) | ::Nil"}],"args_string":"(post_context : Array(String) | Nil)","args_html":"(post_context : Array(String) | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":29,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L29"},"def":{"name":"post_context=","args":[{"name":"post_context","external_name":"post_context","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@post_context = post_context"}},{"html_id":"pre_context:Array(String)|Nil-instance-method","name":"pre_context","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":28,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L28"},"def":{"name":"pre_context","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@pre_context"}},{"html_id":"pre_context=(pre_context:Array(String)|Nil)-instance-method","name":"pre_context=","abstract":false,"args":[{"name":"pre_context","external_name":"pre_context","restriction":"Array(String) | ::Nil"}],"args_string":"(pre_context : Array(String) | Nil)","args_html":"(pre_context : Array(String) | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":28,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/interfaces/stacktrace.cr#L28"},"def":{"name":"pre_context=","args":[{"name":"pre_context","external_name":"pre_context","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@pre_context = pre_context"}}]}]}]},{"html_id":"raven/Raven/LogBackend","path":"Raven/LogBackend.html","kind":"class","full_name":"Raven::LogBackend","name":"LogBackend","abstract":false,"superclass":{"html_id":"raven/Log/Backend","kind":"class","full_name":"Log::Backend","name":"Backend"},"ancestors":[{"html_id":"raven/Log/Backend","kind":"class","full_name":"Log::Backend","name":"Backend"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/log_backend.cr","line_number":15,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log_backend.cr#L15"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"doc":"`::Log::Backend` recording logged messages.\n\n```\nLog.setup do |c|\n c.bind \"*\", :info, Log::IOBackend.new\n c.bind \"*\", :info, Raven::LogBackend.new(record_breadcrumbs: true)\n c.bind \"*\", :warn, Raven::LogBackend.new(capture_exceptions: true)\n c.bind \"*\", :fatal, Raven::LogBackend.new(capture_all: true)\nend\n```","summary":"

::Log::Backend recording logged messages.

","constructors":[{"html_id":"new(dispatch_mode:::Log::DispatchMode=:sync,*,record_breadcrumbs:Bool=false,capture_exceptions:Bool=false,capture_all:Bool=false,default_logger:String=\"logger\")-class-method","name":"new","abstract":false,"args":[{"name":"dispatch_mode","default_value":":sync","external_name":"dispatch_mode","restriction":"::Log::DispatchMode"},{"name":"","external_name":"","restriction":""},{"name":"record_breadcrumbs","default_value":"false","external_name":"record_breadcrumbs","restriction":"::Bool"},{"name":"capture_exceptions","default_value":"false","external_name":"capture_exceptions","restriction":"::Bool"},{"name":"capture_all","default_value":"false","external_name":"capture_all","restriction":"::Bool"},{"name":"default_logger","default_value":"\"logger\"","external_name":"default_logger","restriction":"::String"}],"args_string":"(dispatch_mode : ::Log::DispatchMode = :sync, *, record_breadcrumbs : Bool = false, capture_exceptions : Bool = false, capture_all : Bool = false, default_logger : String = \"logger\")","args_html":"(dispatch_mode : ::Log::DispatchMode = :sync, *, record_breadcrumbs : Bool = false, capture_exceptions : Bool = false, capture_all : Bool = false, default_logger : String = "logger")","location":{"filename":"src/raven/log_backend.cr","line_number":56,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log_backend.cr#L56"},"def":{"name":"new","args":[{"name":"dispatch_mode","default_value":":sync","external_name":"dispatch_mode","restriction":"::Log::DispatchMode"},{"name":"","external_name":"","restriction":""},{"name":"record_breadcrumbs","default_value":"false","external_name":"record_breadcrumbs","restriction":"::Bool"},{"name":"capture_exceptions","default_value":"false","external_name":"capture_exceptions","restriction":"::Bool"},{"name":"capture_all","default_value":"false","external_name":"capture_all","restriction":"::Bool"},{"name":"default_logger","default_value":"\"logger\"","external_name":"default_logger","restriction":"::String"}],"splat_index":1,"visibility":"Public","body":"_ = allocate\n_.initialize(dispatch_mode, record_breadcrumbs: record_breadcrumbs, capture_exceptions: capture_exceptions, capture_all: capture_all, default_logger: default_logger)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"active?-instance-method","name":"active?","abstract":false,"location":{"filename":"src/raven/log_backend.cr","line_number":111,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log_backend.cr#L111"},"def":{"name":"active?","visibility":"Public","body":"record_breadcrumbs? || capture?"}},{"html_id":"capture?-instance-method","name":"capture?","abstract":false,"location":{"filename":"src/raven/log_backend.cr","line_number":115,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log_backend.cr#L115"},"def":{"name":"capture?","visibility":"Public","body":"capture_exceptions? || capture_all?"}},{"html_id":"capture_all=(capture_all:Bool)-instance-method","name":"capture_all=","doc":"Captures each logged entry.\n\nSee `Raven.capture`","summary":"

Captures each logged entry.

","abstract":false,"args":[{"name":"capture_all","external_name":"capture_all","restriction":"Bool"}],"args_string":"(capture_all : Bool)","args_html":"(capture_all : Bool)","location":{"filename":"src/raven/log_backend.cr","line_number":49,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log_backend.cr#L49"},"def":{"name":"capture_all=","args":[{"name":"capture_all","external_name":"capture_all","restriction":"Bool"}],"visibility":"Public","body":"@capture_all = capture_all"}},{"html_id":"capture_all?:Bool-instance-method","name":"capture_all?","doc":"Captures each logged entry.\n\nSee `Raven.capture`","summary":"

Captures each logged entry.

","abstract":false,"location":{"filename":"src/raven/log_backend.cr","line_number":49,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log_backend.cr#L49"},"def":{"name":"capture_all?","return_type":"Bool","visibility":"Public","body":"@capture_all"}},{"html_id":"capture_exceptions=(capture_exceptions:Bool)-instance-method","name":"capture_exceptions=","doc":"Captures `Exception` attached to the logged entry, if present.\n\nSee `Raven.capture`","summary":"

Captures Exception attached to the logged entry, if present.

","abstract":false,"args":[{"name":"capture_exceptions","external_name":"capture_exceptions","restriction":"Bool"}],"args_string":"(capture_exceptions : Bool)","args_html":"(capture_exceptions : Bool)","location":{"filename":"src/raven/log_backend.cr","line_number":44,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log_backend.cr#L44"},"def":{"name":"capture_exceptions=","args":[{"name":"capture_exceptions","external_name":"capture_exceptions","restriction":"Bool"}],"visibility":"Public","body":"@capture_exceptions = capture_exceptions"}},{"html_id":"capture_exceptions?:Bool-instance-method","name":"capture_exceptions?","doc":"Captures `Exception` attached to the logged entry, if present.\n\nSee `Raven.capture`","summary":"

Captures Exception attached to the logged entry, if present.

","abstract":false,"location":{"filename":"src/raven/log_backend.cr","line_number":44,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log_backend.cr#L44"},"def":{"name":"capture_exceptions?","return_type":"Bool","visibility":"Public","body":"@capture_exceptions"}},{"html_id":"default_logger:String-instance-method","name":"default_logger","doc":"Default name of the root logger.\n\nSee `Event#logger`, `Breadcrumb#category`","summary":"

Default name of the root logger.

","abstract":false,"location":{"filename":"src/raven/log_backend.cr","line_number":54,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log_backend.cr#L54"},"def":{"name":"default_logger","return_type":"String","visibility":"Public","body":"@default_logger"}},{"html_id":"default_logger=(default_logger:String)-instance-method","name":"default_logger=","doc":"Default name of the root logger.\n\nSee `Event#logger`, `Breadcrumb#category`","summary":"

Default name of the root logger.

","abstract":false,"args":[{"name":"default_logger","external_name":"default_logger","restriction":"String"}],"args_string":"(default_logger : String)","args_html":"(default_logger : String)","location":{"filename":"src/raven/log_backend.cr","line_number":54,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log_backend.cr#L54"},"def":{"name":"default_logger=","args":[{"name":"default_logger","external_name":"default_logger","restriction":"String"}],"visibility":"Public","body":"@default_logger = default_logger"}},{"html_id":"record_breadcrumbs=(record_breadcrumbs:Bool)-instance-method","name":"record_breadcrumbs=","doc":"Records each logged entry as a breadcrumb.\n\nSee `Raven.breadcrumbs`","summary":"

Records each logged entry as a breadcrumb.

","abstract":false,"args":[{"name":"record_breadcrumbs","external_name":"record_breadcrumbs","restriction":"Bool"}],"args_string":"(record_breadcrumbs : Bool)","args_html":"(record_breadcrumbs : Bool)","location":{"filename":"src/raven/log_backend.cr","line_number":39,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log_backend.cr#L39"},"def":{"name":"record_breadcrumbs=","args":[{"name":"record_breadcrumbs","external_name":"record_breadcrumbs","restriction":"Bool"}],"visibility":"Public","body":"@record_breadcrumbs = record_breadcrumbs"}},{"html_id":"record_breadcrumbs?:Bool-instance-method","name":"record_breadcrumbs?","doc":"Records each logged entry as a breadcrumb.\n\nSee `Raven.breadcrumbs`","summary":"

Records each logged entry as a breadcrumb.

","abstract":false,"location":{"filename":"src/raven/log_backend.cr","line_number":39,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log_backend.cr#L39"},"def":{"name":"record_breadcrumbs?","return_type":"Bool","visibility":"Public","body":"@record_breadcrumbs"}},{"html_id":"write(entry:::Log::Entry)-instance-method","name":"write","doc":"Writes the *entry* to this backend.","summary":"

Writes the entry to this backend.

","abstract":false,"args":[{"name":"entry","external_name":"entry","restriction":"::Log::Entry"}],"args_string":"(entry : ::Log::Entry)","args_html":"(entry : ::Log::Entry)","location":{"filename":"src/raven/log_backend.cr","line_number":119,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/log_backend.cr#L119"},"def":{"name":"write","args":[{"name":"entry","external_name":"entry","restriction":"::Log::Entry"}],"visibility":"Public","body":"if (!active?) || (ignored_logger?(entry.source))\n return\nend\ndata = entry.context.extend(entry.data.to_h)\ndata = data.empty? ? nil : (JSON.parse(data.to_json)).as_h\nmessage = entry.message\nex = entry.exception\nif capture?\n if ex || capture_all?\n capture_exception(ex, message, entry.severity, entry.timestamp, entry.source, data)\n end\nend\nif record_breadcrumbs?\n if ex\n message = message + \" -- (#{ex.class}): #{ex.message || \"n/a\"}\"\n end\n record_breadcrumb(message, entry.severity, entry.timestamp, entry.source, data)\nend\n"}}]},{"html_id":"raven/Raven/Mixin","path":"Raven/Mixin.html","kind":"module","full_name":"Raven::Mixin","name":"Mixin","abstract":false,"locations":[{"filename":"src/raven/mixins/initialize_with.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/mixins/initialize_with.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"types":[{"html_id":"raven/Raven/Mixin/InitializeWith","path":"Raven/Mixin/InitializeWith.html","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith","abstract":false,"locations":[{"filename":"src/raven/mixins/initialize_with.cr","line_number":26,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/mixins/initialize_with.cr#L26"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"raven/Raven/Breadcrumb","kind":"class","full_name":"Raven::Breadcrumb","name":"Breadcrumb"},{"html_id":"raven/Raven/Event","kind":"class","full_name":"Raven::Event","name":"Event"},{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"}],"namespace":{"html_id":"raven/Raven/Mixin","kind":"module","full_name":"Raven::Mixin","name":"Mixin"},"doc":"Maps passed *attributes* to `@ivar_variables` and `self.property_setters=`.\n\n```\nclass Foo\n include Raven::Mixin::InitializeWith\n\n @logger : String?\n property message : String?\n\n def backtrace=(backtrace)\n # ...\n end\nend\n\nfoo = Foo.new\nfoo.initialize_with({\n logger: \"my-logger\",\n message: \"boo!\",\n backtrace: caller,\n})\n```\n\nNOTE: Magic inside!","summary":"

Maps passed attributes to @ivar_variables and self.property_setters=.

","instance_methods":[{"html_id":"initialize_with(attributes)-instance-method","name":"initialize_with","abstract":false,"args":[{"name":"attributes","external_name":"attributes","restriction":""}],"args_string":"(attributes)","args_html":"(attributes)","location":{"filename":"src/raven/mixins/initialize_with.cr","line_number":27,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/mixins/initialize_with.cr#L27"},"def":{"name":"initialize_with","args":[{"name":"attributes","external_name":"attributes","restriction":""}],"visibility":"Public","body":"{% if true %}\n {% properties = @type.methods.select do |method|\n (method.name.ends_with?('=')) && (method.args.size == 1)\nend.map() do |__arg0|\n __arg0.name[0...-1].symbolize\nend.uniq %}\n\n {% for name in properties %}\n if arg = attributes[{{ name }}]?\n self.{{ name.id }} = arg\n end\n {% end %}\n\n {% ivars = @type.instance_vars.map() do |__arg1|\n __arg1.name.symbolize\nend.uniq %}\n\n {% for name in ivars %}\n {% if properties.includes?(name) %}{% else %}\n if arg = attributes[{{ name }}]?\n @{{ name.id }} = arg\n end\n {% end %}\n {% end %}\n {% end %}\nself\n"}},{"html_id":"initialize_with(**attributes)-instance-method","name":"initialize_with","abstract":false,"location":{"filename":"src/raven/mixins/initialize_with.cr","line_number":60,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/mixins/initialize_with.cr#L60"},"def":{"name":"initialize_with","double_splat":{"name":"attributes","external_name":"attributes","restriction":""},"visibility":"Public","body":"initialize_with(attributes)"}}]}]},{"html_id":"raven/Raven/Processor","path":"Raven/Processor.html","kind":"class","full_name":"Raven::Processor","name":"Processor","abstract":true,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processor.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processor.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"INT_MASK","name":"INT_MASK","value":"0"},{"id":"STRING_MASK","name":"STRING_MASK","value":"\"********\""}],"subclasses":[{"html_id":"raven/Raven/Processor/Compact","kind":"class","full_name":"Raven::Processor::Compact","name":"Compact"},{"html_id":"raven/Raven/Processor/Cookies","kind":"class","full_name":"Raven::Processor::Cookies","name":"Cookies"},{"html_id":"raven/Raven/Processor/HTTPHeaders","kind":"class","full_name":"Raven::Processor::HTTPHeaders","name":"HTTPHeaders"},{"html_id":"raven/Raven/Processor/RemoveCircularReferences","kind":"class","full_name":"Raven::Processor::RemoveCircularReferences","name":"RemoveCircularReferences"},{"html_id":"raven/Raven/Processor/RemoveStacktrace","kind":"class","full_name":"Raven::Processor::RemoveStacktrace","name":"RemoveStacktrace"},{"html_id":"raven/Raven/Processor/RequestMethodData","kind":"class","full_name":"Raven::Processor::RequestMethodData","name":"RequestMethodData"},{"html_id":"raven/Raven/Processor/SanitizeData","kind":"class","full_name":"Raven::Processor::SanitizeData","name":"SanitizeData"},{"html_id":"raven/Raven/Processor/UTF8Conversion","kind":"class","full_name":"Raven::Processor::UTF8Conversion","name":"UTF8Conversion"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"constructors":[{"html_id":"new(client:Client)-class-method","name":"new","abstract":false,"args":[{"name":"client","external_name":"client","restriction":"Client"}],"args_string":"(client : Client)","args_html":"(client : Client)","location":{"filename":"src/raven/processor.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processor.cr#L6"},"def":{"name":"new","args":[{"name":"client","external_name":"client","restriction":"Client"}],"visibility":"Public","body":"_ = allocate\n_.initialize(client)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"process(data)-instance-method","name":"process","abstract":true,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processor.cr","line_number":9,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processor.cr#L9"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":""}}],"types":[{"html_id":"raven/Raven/Processor/Compact","path":"Raven/Processor/Compact.html","kind":"class","full_name":"Raven::Processor::Compact","name":"Compact","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/compact.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/compact.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"instance_methods":[{"html_id":"process(data)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processors/compact.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/compact.cr#L3"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"if (data.responds_to?(:\"empty?\")) && data.empty?\n return\nend\ncase data\nwhen Hash\n data.each do |k, v|\n data[k] = process(v)\n end\n data.compact!\n data.to_h\nwhen Array\n data.map! do |v|\n (process(v)).as(typeof(v))\n end\nelse\n data\nend\n"}}]},{"html_id":"raven/Raven/Processor/Cookies","path":"Raven/Processor/Cookies.html","kind":"class","full_name":"Raven::Processor::Cookies","name":"Cookies","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/cookies.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/cookies.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"instance_methods":[{"html_id":"process(data)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processors/cookies.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/cookies.cr#L3"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"if data.is_a?(Hash)\nelse\n return data\nend\ndata = data.to_any_json\nif req = (data[:request]?.as?(Hash)).try(&.to_any_json)\n if req[:cookies]?\n req[:cookies] = nil\n end\n if req[:headers, \"Cookie\"]?\n req[:headers, \"Cookie\"] = nil\n end\nend\ndata.to_h\n"}}]},{"html_id":"raven/Raven/Processor/HTTPHeaders","path":"Raven/Processor/HTTPHeaders.html","kind":"class","full_name":"Raven::Processor::HTTPHeaders","name":"HTTPHeaders","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/http_headers.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/http_headers.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DEFAULT_FIELDS","name":"DEFAULT_FIELDS","value":"[\"Authorization\"] of String | Regex"}],"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"constructors":[{"html_id":"new(client)-class-method","name":"new","abstract":false,"args":[{"name":"client","external_name":"client","restriction":""}],"args_string":"(client)","args_html":"(client)","location":{"filename":"src/raven/processors/http_headers.cr","line_number":17,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/http_headers.cr#L17"},"def":{"name":"new","args":[{"name":"client","external_name":"client","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(client)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"process(data)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processors/http_headers.cr","line_number":22,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/http_headers.cr#L22"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"if data.is_a?(Hash)\nelse\n return data\nend\ndata = data.to_any_json\nif headers = data[:request, :headers]?.as?(Hash)\n headers.keys.select!() do |__arg0|\n __arg0.to_s.matches?(fields_pattern)\n end.each do |key|\n headers[key] = STRING_MASK\n end\nend\ndata.to_h\n"}},{"html_id":"sanitize_http_headers:Array(String|Regex)-instance-method","name":"sanitize_http_headers","abstract":false,"location":{"filename":"src/raven/processors/http_headers.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/http_headers.cr#L5"},"def":{"name":"sanitize_http_headers","return_type":"Array(String | Regex)","visibility":"Public","body":"@sanitize_http_headers"}},{"html_id":"sanitize_http_headers=(sanitize_http_headers:Array(String|Regex))-instance-method","name":"sanitize_http_headers=","abstract":false,"args":[{"name":"sanitize_http_headers","external_name":"sanitize_http_headers","restriction":"Array(String | Regex)"}],"args_string":"(sanitize_http_headers : Array(String | Regex))","args_html":"(sanitize_http_headers : Array(String | Regex))","location":{"filename":"src/raven/processors/http_headers.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/http_headers.cr#L5"},"def":{"name":"sanitize_http_headers=","args":[{"name":"sanitize_http_headers","external_name":"sanitize_http_headers","restriction":"Array(String | Regex)"}],"visibility":"Public","body":"@sanitize_http_headers = sanitize_http_headers"}}]},{"html_id":"raven/Raven/Processor/RemoveCircularReferences","path":"Raven/Processor/RemoveCircularReferences.html","kind":"class","full_name":"Raven::Processor::RemoveCircularReferences","name":"RemoveCircularReferences","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/remove_circular_references.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/remove_circular_references.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"instance_methods":[{"html_id":"process(data,visited=[]ofUInt64)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"visited","default_value":"[] of UInt64","external_name":"visited","restriction":""}],"args_string":"(data, visited = [] of UInt64)","args_html":"(data, visited = [] of UInt64)","location":{"filename":"src/raven/processors/remove_circular_references.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/remove_circular_references.cr#L3"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""},{"name":"visited","default_value":"[] of UInt64","external_name":"visited","restriction":""}],"visibility":"Public","body":"if data.responds_to?(:object_id)\nelse\n return data\nend\nif visited.includes?(data.object_id)\n return \"(...)\"\nend\ncase data\nwhen Hash\n visited << data.object_id\n data.each do |k, v|\n begin\n data[k] = process(v, visited)\n rescue\n \"!!!\"\n end\n end\n data\nwhen Array\n visited << data.object_id\n data.map! do |v|\n (process(v, visited)).as(typeof(v))\n end\nelse\n data\nend\n"}}]},{"html_id":"raven/Raven/Processor/RemoveStacktrace","path":"Raven/Processor/RemoveStacktrace.html","kind":"class","full_name":"Raven::Processor::RemoveStacktrace","name":"RemoveStacktrace","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/remove_stacktrace.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/remove_stacktrace.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"instance_methods":[{"html_id":"process(data)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processors/remove_stacktrace.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/remove_stacktrace.cr#L3"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"if data.is_a?(Hash)\nelse\n return data\nend\ndata = data.to_any_json\n(data[:exception, :values]?.as?(Array)).try(&.each do |e|\n (e.as?(Hash)).try(&.delete(:stacktrace))\nend)\ndata.to_h\n"}}]},{"html_id":"raven/Raven/Processor/RequestMethodData","path":"Raven/Processor/RequestMethodData.html","kind":"class","full_name":"Raven::Processor::RequestMethodData","name":"RequestMethodData","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/request_method_data.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/request_method_data.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"constructors":[{"html_id":"new(client)-class-method","name":"new","abstract":false,"args":[{"name":"client","external_name":"client","restriction":""}],"args_string":"(client)","args_html":"(client)","location":{"filename":"src/raven/processors/request_method_data.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/request_method_data.cr#L5"},"def":{"name":"new","args":[{"name":"client","external_name":"client","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(client)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"process(data)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processors/request_method_data.cr","line_number":10,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/request_method_data.cr#L10"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"if data.is_a?(Hash)\nelse\n return data\nend\ndata = data.to_any_json\nif sanitize_request_method?(data[:request, :method]?)\n data[:request, :data] = nil\nend\ndata.to_h\n"}},{"html_id":"request_methods:Array(String)-instance-method","name":"request_methods","abstract":false,"location":{"filename":"src/raven/processors/request_method_data.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/request_method_data.cr#L3"},"def":{"name":"request_methods","return_type":"Array(String)","visibility":"Public","body":"@request_methods"}},{"html_id":"request_methods=(request_methods:Array(String))-instance-method","name":"request_methods=","abstract":false,"args":[{"name":"request_methods","external_name":"request_methods","restriction":"Array(String)"}],"args_string":"(request_methods : Array(String))","args_html":"(request_methods : Array(String))","location":{"filename":"src/raven/processors/request_method_data.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/request_method_data.cr#L3"},"def":{"name":"request_methods=","args":[{"name":"request_methods","external_name":"request_methods","restriction":"Array(String)"}],"visibility":"Public","body":"@request_methods = request_methods"}}]},{"html_id":"raven/Raven/Processor/SanitizeData","path":"Raven/Processor/SanitizeData.html","kind":"class","full_name":"Raven::Processor::SanitizeData","name":"SanitizeData","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/sanitize_data.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/sanitize_data.cr#L4"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"CREDIT_CARD_PATTERN","name":"CREDIT_CARD_PATTERN","value":"/\\b(?:3[47]\\d|(?:4\\d|5[1-5]|65)\\d{2}|6011)\\d{12}\\b/"},{"id":"DEFAULT_FIELDS","name":"DEFAULT_FIELDS","value":"[\"authorization\", \"password\", \"password_repeat\", \"passwd\", \"secret\", \"ssn\", /social(.*)?sec/i]"}],"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"constructors":[{"html_id":"new(client)-class-method","name":"new","abstract":false,"args":[{"name":"client","external_name":"client","restriction":""}],"args_string":"(client)","args_html":"(client)","location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":26,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/sanitize_data.cr#L26"},"def":{"name":"new","args":[{"name":"client","external_name":"client","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(client)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"process(key,value)-instance-method","name":"process","doc":"ameba:disable Metrics/CyclomaticComplexity","summary":"

ameba:disable Metrics/CyclomaticComplexity

","abstract":false,"args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":""}],"args_string":"(key, value)","args_html":"(key, value)","location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":54,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/sanitize_data.cr#L54"},"def":{"name":"process","args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":""}],"visibility":"Public","body":"case value\nwhen Hash\n process(value)\nwhen Array\n value.map do |i|\n (process(key, i)).as(AnyHash::JSONTypes::Value)\n end\nwhen String\n case\n when (value.matches?(fields_pattern)) && (json = parse_json_or_nil(value))\n (process(json)).to_json\n when matches_regexes?(key, value)\n STRING_MASK\n when (key == (:query_string)) || (key == \"query_string\")\n sanitize_query_string(value)\n else\n value\n end\nwhen Number\n matches_regexes?(key, value) ? INT_MASK : value\nelse\n value\nend"}},{"html_id":"process(data)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":33,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/sanitize_data.cr#L33"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"case data\nwhen Hash(String, JSON::Any)\n data = data.each_with_object(AnyHash::JSON.new) do |__temp_64, memo|\n k, v = __temp_64\n case v = v.raw\n when AnyHash::JSONTypes::Value\n memo[k] = process(k, v)\n end\n end\n data.to_h\nwhen Hash\n data = data.each_with_object(data.to_any_json) do |__temp_65, memo|\n k, v = __temp_65\n memo[k] = process(k, v)\n end\n data.to_h\nelse\n data\nend"}},{"html_id":"sanitize_credit_cards=(sanitize_credit_cards:Bool)-instance-method","name":"sanitize_credit_cards=","abstract":false,"args":[{"name":"sanitize_credit_cards","external_name":"sanitize_credit_cards","restriction":"Bool"}],"args_string":"(sanitize_credit_cards : Bool)","args_html":"(sanitize_credit_cards : Bool)","location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":13,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/sanitize_data.cr#L13"},"def":{"name":"sanitize_credit_cards=","args":[{"name":"sanitize_credit_cards","external_name":"sanitize_credit_cards","restriction":"Bool"}],"visibility":"Public","body":"@sanitize_credit_cards = sanitize_credit_cards"}},{"html_id":"sanitize_credit_cards?:Bool-instance-method","name":"sanitize_credit_cards?","abstract":false,"location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":13,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/sanitize_data.cr#L13"},"def":{"name":"sanitize_credit_cards?","return_type":"Bool","visibility":"Public","body":"@sanitize_credit_cards"}},{"html_id":"sanitize_fields:Array(String|Regex)-instance-method","name":"sanitize_fields","abstract":false,"location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/sanitize_data.cr#L11"},"def":{"name":"sanitize_fields","return_type":"Array(String | Regex)","visibility":"Public","body":"@sanitize_fields"}},{"html_id":"sanitize_fields=(sanitize_fields:Array(String|Regex))-instance-method","name":"sanitize_fields=","abstract":false,"args":[{"name":"sanitize_fields","external_name":"sanitize_fields","restriction":"Array(String | Regex)"}],"args_string":"(sanitize_fields : Array(String | Regex))","args_html":"(sanitize_fields : Array(String | Regex))","location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/sanitize_data.cr#L11"},"def":{"name":"sanitize_fields=","args":[{"name":"sanitize_fields","external_name":"sanitize_fields","restriction":"Array(String | Regex)"}],"visibility":"Public","body":"@sanitize_fields = sanitize_fields"}},{"html_id":"sanitize_fields_excluded:Array(String|Regex)-instance-method","name":"sanitize_fields_excluded","abstract":false,"location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":12,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/sanitize_data.cr#L12"},"def":{"name":"sanitize_fields_excluded","return_type":"Array(String | Regex)","visibility":"Public","body":"@sanitize_fields_excluded"}},{"html_id":"sanitize_fields_excluded=(sanitize_fields_excluded:Array(String|Regex))-instance-method","name":"sanitize_fields_excluded=","abstract":false,"args":[{"name":"sanitize_fields_excluded","external_name":"sanitize_fields_excluded","restriction":"Array(String | Regex)"}],"args_string":"(sanitize_fields_excluded : Array(String | Regex))","args_html":"(sanitize_fields_excluded : Array(String | Regex))","location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":12,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/sanitize_data.cr#L12"},"def":{"name":"sanitize_fields_excluded=","args":[{"name":"sanitize_fields_excluded","external_name":"sanitize_fields_excluded","restriction":"Array(String | Regex)"}],"visibility":"Public","body":"@sanitize_fields_excluded = sanitize_fields_excluded"}}]},{"html_id":"raven/Raven/Processor/UTF8Conversion","path":"Raven/Processor/UTF8Conversion.html","kind":"class","full_name":"Raven::Processor::UTF8Conversion","name":"UTF8Conversion","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/utf8_conversion.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/utf8_conversion.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"instance_methods":[{"html_id":"process(data)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processors/utf8_conversion.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/processors/utf8_conversion.cr#L3"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"case data\nwhen Hash\n data.each do |k, v|\n data[k] = process(v)\n end\n data.to_h\nwhen Array\n data.map! do |v|\n (process(v)).as(typeof(v))\n end\nwhen Exception\n if message = data.message\n else\n return data\n end\n if message.valid_encoding?\n return data\n end\n (data.class.new(clean_invalid_utf8_bytes(message), data.cause)).tap(&.callstack = data.callstack)\nwhen String\n if data.valid_encoding?\n return data\n end\n clean_invalid_utf8_bytes(data)\nelse\n data\nend"}}]}]},{"html_id":"raven/Raven/Transport","path":"Raven/Transport.html","kind":"class","full_name":"Raven::Transport","name":"Transport","abstract":true,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/transport.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transport.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"raven/Raven/Transport/Dummy","kind":"class","full_name":"Raven::Transport::Dummy","name":"Dummy"},{"html_id":"raven/Raven/Transport/HTTP","kind":"class","full_name":"Raven::Transport::HTTP","name":"HTTP"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"constructors":[{"html_id":"new(configuration:Raven::Configuration)-class-method","name":"new","abstract":false,"args":[{"name":"configuration","external_name":"configuration","restriction":"::Raven::Configuration"}],"args_string":"(configuration : Raven::Configuration)","args_html":"(configuration : Raven::Configuration)","location":{"filename":"src/raven/transport.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transport.cr#L5"},"def":{"name":"new","args":[{"name":"configuration","external_name":"configuration","restriction":"::Raven::Configuration"}],"visibility":"Public","body":"_ = allocate\n_.initialize(configuration)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"configuration:Configuration-instance-method","name":"configuration","abstract":false,"location":{"filename":"src/raven/transport.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transport.cr#L3"},"def":{"name":"configuration","return_type":"Configuration","visibility":"Public","body":"@configuration"}},{"html_id":"configuration=(configuration:Configuration)-instance-method","name":"configuration=","abstract":false,"args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"args_string":"(configuration : Configuration)","args_html":"(configuration : Configuration)","location":{"filename":"src/raven/transport.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transport.cr#L3"},"def":{"name":"configuration=","args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"visibility":"Public","body":"@configuration = configuration"}},{"html_id":"send_event(auth_header,data,**options)-instance-method","name":"send_event","abstract":true,"args":[{"name":"auth_header","external_name":"auth_header","restriction":""},{"name":"data","external_name":"data","restriction":""}],"args_string":"(auth_header, data, **options)","args_html":"(auth_header, data, **options)","location":{"filename":"src/raven/transport.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transport.cr#L8"},"def":{"name":"send_event","args":[{"name":"auth_header","external_name":"auth_header","restriction":""},{"name":"data","external_name":"data","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":""}},{"html_id":"send_feedback(event_id,data)-instance-method","name":"send_feedback","abstract":true,"args":[{"name":"event_id","external_name":"event_id","restriction":""},{"name":"data","external_name":"data","restriction":""}],"args_string":"(event_id, data)","args_html":"(event_id, data)","location":{"filename":"src/raven/transport.cr","line_number":9,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transport.cr#L9"},"def":{"name":"send_feedback","args":[{"name":"event_id","external_name":"event_id","restriction":""},{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":""}}],"types":[{"html_id":"raven/Raven/Transport/Dummy","path":"Raven/Transport/Dummy.html","kind":"class","full_name":"Raven::Transport::Dummy","name":"Dummy","abstract":false,"superclass":{"html_id":"raven/Raven/Transport","kind":"class","full_name":"Raven::Transport","name":"Transport"},"ancestors":[{"html_id":"raven/Raven/Transport","kind":"class","full_name":"Raven::Transport","name":"Transport"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/transports/dummy.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/dummy.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Transport","kind":"class","full_name":"Raven::Transport","name":"Transport"},"instance_methods":[{"html_id":"events:Array(AnyHash::JSON)-instance-method","name":"events","abstract":false,"location":{"filename":"src/raven/transports/dummy.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/dummy.cr#L3"},"def":{"name":"events","visibility":"Public","body":"@events"}},{"html_id":"events=(events:Array(AnyHash::JSON))-instance-method","name":"events=","abstract":false,"args":[{"name":"events","external_name":"events","restriction":"::Array(::AnyHash::JSON)"}],"args_string":"(events : Array(AnyHash::JSON))","args_html":"(events : Array(AnyHash::JSON))","location":{"filename":"src/raven/transports/dummy.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/dummy.cr#L3"},"def":{"name":"events=","args":[{"name":"events","external_name":"events","restriction":"::Array(::AnyHash::JSON)"}],"visibility":"Public","body":"@events = events"}},{"html_id":"feedback:Array(AnyHash::JSON)-instance-method","name":"feedback","abstract":false,"location":{"filename":"src/raven/transports/dummy.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/dummy.cr#L4"},"def":{"name":"feedback","visibility":"Public","body":"@feedback"}},{"html_id":"feedback=(feedback:Array(AnyHash::JSON))-instance-method","name":"feedback=","abstract":false,"args":[{"name":"feedback","external_name":"feedback","restriction":"::Array(::AnyHash::JSON)"}],"args_string":"(feedback : Array(AnyHash::JSON))","args_html":"(feedback : Array(AnyHash::JSON))","location":{"filename":"src/raven/transports/dummy.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/dummy.cr#L4"},"def":{"name":"feedback=","args":[{"name":"feedback","external_name":"feedback","restriction":"::Array(::AnyHash::JSON)"}],"visibility":"Public","body":"@feedback = feedback"}},{"html_id":"send_event(auth_header,data,**options)-instance-method","name":"send_event","abstract":false,"args":[{"name":"auth_header","external_name":"auth_header","restriction":""},{"name":"data","external_name":"data","restriction":""}],"args_string":"(auth_header, data, **options)","args_html":"(auth_header, data, **options)","location":{"filename":"src/raven/transports/dummy.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/dummy.cr#L6"},"def":{"name":"send_event","args":[{"name":"auth_header","external_name":"auth_header","restriction":""},{"name":"data","external_name":"data","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"events << {auth_header: auth_header, data: data.to_s, options: options}.to_any_json"}},{"html_id":"send_feedback(event_id,data)-instance-method","name":"send_feedback","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":""},{"name":"data","external_name":"data","restriction":""}],"args_string":"(event_id, data)","args_html":"(event_id, data)","location":{"filename":"src/raven/transports/dummy.cr","line_number":14,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/dummy.cr#L14"},"def":{"name":"send_feedback","args":[{"name":"event_id","external_name":"event_id","restriction":""},{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"feedback << {event_id: event_id, data: data}.to_any_json"}}]},{"html_id":"raven/Raven/Transport/HTTP","path":"Raven/Transport/HTTP.html","kind":"class","full_name":"Raven::Transport::HTTP","name":"HTTP","abstract":false,"superclass":{"html_id":"raven/Raven/Transport","kind":"class","full_name":"Raven::Transport","name":"Transport"},"ancestors":[{"html_id":"raven/Raven/Transport","kind":"class","full_name":"Raven::Transport","name":"Transport"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/transports/http.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/http.cr#L4"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Transport","kind":"class","full_name":"Raven::Transport","name":"Transport"},"instance_methods":[{"html_id":"send_event(auth_header,data,**options)-instance-method","name":"send_event","abstract":false,"args":[{"name":"auth_header","external_name":"auth_header","restriction":""},{"name":"data","external_name":"data","restriction":""}],"args_string":"(auth_header, data, **options)","args_html":"(auth_header, data, **options)","location":{"filename":"src/raven/transports/http.cr","line_number":54,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/http.cr#L54"},"def":{"name":"send_event","args":[{"name":"auth_header","external_name":"auth_header","restriction":""},{"name":"data","external_name":"data","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"if ex = configuration.capture_allowed!\n Log.debug do\n \"Event not sent: #{ex.error_messages}\"\n end\n return false\nend\nproject_id = configuration.project_id\npath = configuration.path.try(&.chomp('/'))\nheaders = ::HTTP::Headers {\"X-Sentry-Auth\" => auth_header, \"Content-Type\" => options[:content_type]}\nif configuration.encoding.gzip?\n headers[\"Content-Encoding\"] = \"gzip\"\nend\nLog.debug do\n \"HTTP Transport connecting to #{configuration.dsn}\"\nend\nclient = build_client\n(client.post(\"#{path}/api/#{project_id}/store/\", headers, data)).tap do |response|\n if response.success?\n else\n raise(Error.new(response))\n end\nend\n"}},{"html_id":"send_feedback(event_id,data)-instance-method","name":"send_feedback","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":""},{"name":"data","external_name":"data","restriction":""}],"args_string":"(event_id, data)","args_html":"(event_id, data)","location":{"filename":"src/raven/transports/http.cr","line_number":31,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/http.cr#L31"},"def":{"name":"send_feedback","args":[{"name":"event_id","external_name":"event_id","restriction":""},{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"headers = ::HTTP::Headers.new\nif origin = configuration.dsn\n headers[\"Origin\"] = origin\nend\nparams = ::HTTP::Params.build do |form|\n form.add(\"eventId\", event_id)\n form.add(\"dsn\", configuration.dsn)\nend\npath = String.build do |str|\n str << configuration.path.try(&.chomp('/'))\n str << \"/api/embed/error-page/?\"\n str << params\nend\nLog.debug do\n \"HTTP Transport connecting to #{path}\"\nend\nclient = build_client\n(client.post(path, form: data, headers: headers)).tap do |response|\n if response.success?\n else\n raise(Error.new(response))\n end\nend\n"}}],"types":[{"html_id":"raven/Raven/Transport/HTTP/Error","path":"Raven/Transport/HTTP/Error.html","kind":"class","full_name":"Raven::Transport::HTTP::Error","name":"Error","abstract":false,"superclass":{"html_id":"raven/Raven/Error","kind":"class","full_name":"Raven::Error","name":"Error"},"ancestors":[{"html_id":"raven/Raven/Error","kind":"class","full_name":"Raven::Error","name":"Error"},{"html_id":"raven/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/transports/http.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/http.cr#L5"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Transport/HTTP","kind":"class","full_name":"Raven::Transport::HTTP","name":"HTTP"},"constructors":[{"html_id":"new(response:::HTTP::Client::Response)-class-method","name":"new","abstract":false,"args":[{"name":"response","external_name":"response","restriction":"::HTTP::Client::Response"}],"args_string":"(response : ::HTTP::Client::Response)","args_html":"(response : ::HTTP::Client::Response)","location":{"filename":"src/raven/transports/http.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/http.cr#L8"},"def":{"name":"new","args":[{"name":"response","external_name":"response","restriction":"::HTTP::Client::Response"}],"visibility":"Public","body":"_ = allocate\n_.initialize(response)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"response:::HTTP::Client::Response-instance-method","name":"response","abstract":false,"location":{"filename":"src/raven/transports/http.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/http.cr#L6"},"def":{"name":"response","return_type":"::HTTP::Client::Response","visibility":"Public","body":"@response"}},{"html_id":"response=(response:::HTTP::Client::Response)-instance-method","name":"response=","abstract":false,"args":[{"name":"response","external_name":"response","restriction":"::HTTP::Client::Response"}],"args_string":"(response : ::HTTP::Client::Response)","args_html":"(response : ::HTTP::Client::Response)","location":{"filename":"src/raven/transports/http.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/4c3e137/src/raven/transports/http.cr#L6"},"def":{"name":"response=","args":[{"name":"response","external_name":"response","restriction":"::HTTP::Client::Response"}],"visibility":"Public","body":"@response = response"}}]}]}]}]}]}}) \ No newline at end of file +crystal_doc_search_index_callback({"repository_name":"raven","body":"

\n \"Bug\n

\n\n

\n raven.cr • the Crystal client for Sentry\n

\n\n

\n \"Build\n \"Codacy\n \"Releases\"\n \"License\"\n

\n\nAn unofficial Crystal-language client and integration layer for the [Sentry](https://github.com/getsentry/sentry) error reporting API.\n\nBased on fine [raven-ruby](https://github.com/getsentry/raven-ruby) gem\nfrom folks at [@getsentry](https://github.com/getsentry).\n\n### Blog posts\n\n- [Crystal error tracking with Sentry](https://sija.pl/en/notes/crystal-error-tracking-with-sentry)\n- [Sentry error tracking for Kemal](https://sija.pl/en/notes/sentry-error-tracking-for-kemal)\n\n## Features\n\n- [x] Processors (data scrubbers)\n- [x] Interfaces (Message, Exception, Stacktrace, User, HTTP, ...)\n- [x] Contexts (user, tags, extra, os, runtime)\n- [x] Breadcrumbs\n- [x] Integrations ([Kemal](https://github.com/kemalcr/kemal), [Amber](https://github.com/amberframework/amber), [Lucky](https://github.com/luckyframework/lucky), [Sidekiq.cr](https://github.com/mperham/sidekiq.cr), [action-controller](https://github.com/spider-gazelle/action-controller))\n- [x] Async support\n- [x] User Feedback\n- [x] Source code context for stack traces\n- [x] Dedicated [`Log`](https://crystal-lang.org/api/Log.html) backend\n- [x] Crash Handler\n\n## Installation\n\nAdd this to your application's `shard.yml`:\n\n```yaml\ndependencies:\n raven:\n github: Sija/raven.cr\n```\n\n## Usage\n\n```crystal\nrequire \"raven\"\n```\n\n### Raven only runs when SENTRY_DSN is set\n\nRaven will capture and send exceptions to the Sentry server whenever its DSN is set.\nThis makes environment-based configuration easy - if you don't want to send\nerrors in a certain environment, just don't set the DSN in that environment!\n\n```sh\n# Set your SENTRY_DSN environment variable.\nexport SENTRY_DSN=https://public@example.com/project-id\n```\n\n```crystal\n# Or you can configure the client in the code (not recommended - keep your DSN secret!)\nRaven.configure do |config|\n config.dsn = \"https://public@example.com/project-id\"\nend\n```\n\n### Raven doesn't report some kinds of data by default\n\nIf used with integrations, Raven ignores some exceptions by default - most of\nthese are related to 404s or controller actions not being found.\n\nRaven doesn't report `POST`, `PUT`, `PATCH` data or cookies by default.\nIn addition, it will attempt to remove any obviously sensitive data,\nsuch as credit card or Social Security numbers.\nFor more information about how Sentry processes your data, [check out the documentation on the `processors` config setting.](https://docs.sentry.io/clients/ruby/config/)\n\n### Call\n\nRaven supports two methods of capturing exceptions:\n\n```crystal\nRaven.capture do\n # capture any exceptions which happen during execution of this block\n 1 // 0\nend\n\nbegin\n 1 // 0\nrescue ex : DivisionByZeroError\n Raven.capture(ex)\nend\n```\n\n### More configuration\n\nYou're all set - but there are a few more settings you may want to know about too!\n\n#### DSN\n\nWhile we advise that you set your Sentry DSN through the `SENTRY_DSN` environment\nvariable, there are two other configuration settings for controlling Raven:\n\n```crystal\n# DSN can be configured as a config setting instead.\n# Place in config/initializers or similar.\nRaven.configure do |config|\n config.dsn = \"your_dsn\"\nend\n```\n\nAnd, while not necessary if using `SENTRY_DSN`, you can also provide an\n`environments` setting. Raven will only capture events when\n`SENTRY_ENVIRONMENT` matches an environment on the list.\n\n```crystal\nRaven.configure do |config|\n config.environments = %w(staging production)\nend\n```\n\n#### async\n\nWhen an error or message occurs, the notification is immediately sent to Sentry.\nRaven can be configured to send asynchronously:\n\n```crystal\n# define your own handler\nconfig.async = ->(event : Raven::Event) {\n spawn { Raven.send_event(event) }\n}\n# or use default implementation based on fibers (i.e. the one above)\nconfig.async = true\n```\n\nIf the `async` callback raises an exception, Raven will attempt to send synchronously.\n\nWe recommend creating a background job, using your background job processor,\nthat will send Sentry notifications in the background.\nRather than enqueuing an entire `Raven::Event` object, we recommend providing\nthe `Hash` representation of an event as a job argument.\n\nHere’s an example for *Sidekiq.cr*:\n\n```crystal\nconfig.async = ->(event : Raven::Event) {\n # enqueue the job with a hash...\n SentryJob.async.perform(event.to_hash)\n # or with JSON string\n # SentryJob.async.perform(event.to_json)\n}\n\nclass SentryJob\n include Sidekiq::Worker\n\n sidekiq_options do |job|\n job.queue = \"sentry\"\n job.retry = true\n end\n\n def perform(event : Raven::Event::HashType)\n Raven.send_event(event)\n end\nend\n```\n\n#### transport_failure_callback\n\nIf Raven fails to send an event to Sentry for any reason\n(either the Sentry server has returned a 4XX or 5XX response),\nthis `Proc` will be called.\n\n```crystal\nconfig.transport_failure_callback = ->(event : Raven::Event::HashType) {\n AdminMailer.async.perform(\"Oh god, it's on fire!\", event)\n}\n```\n\n#### Context\n\nMuch of the usefulness of Sentry comes from additional context data with the events.\nRaven makes this very convenient by providing methods to set context data that\nis then submitted automatically with all events.\n\nThere are three primary methods for providing request context:\n\n```crystal\n# bind the logged in user\nRaven.user_context email: \"foo@example.com\"\n\n# tag the request with something interesting\nRaven.tags_context interesting: \"yes\"\n\n# provide a bit of additional context\nRaven.extra_context happiness: \"very\"\n```\n\nFor more information, see [Context](https://docs.sentry.io/clients/ruby/context/).\n\n## `Log` backend\n\n`Raven::LogBackend` allows for intercepting log entries, and takes following options:\n\n- `record_breadcrumbs` - records every log entry as Breadcrumbs\n- `capture_exceptions` - captures exceptions attached to the log entry\n- `capture_all` - captures every log entry\n\nEvery captured `Exception` or a `Breadcrumb` will have corresponding fields mapped\ndirectly from the original `Log::Entry`.\n\nMetadata will be passed as `Event#tags` and `Breadcrumb#data`, respectively.\n\n### Usage\n\n```crystal\n# append it to the existing bindings\nLog.builder.bind \"*\", :info, Raven::LogBackend.new(\n record_breadcrumbs: true,\n capture_exceptions: false,\n capture_all: false,\n)\n\n# or bind it within the `Log.setup` block\nLog.setup do |c|\n # bind the regular io-based backend\n c.bind \"*\", :info, Log::IOBackend.new\n\n # bind raven's backend\n c.bind \"*\", :info, Raven::LogBackend.new(record_breadcrumbs: true)\n c.bind \"*\", :warn, Raven::LogBackend.new(capture_exceptions: true)\n c.bind \"*\", :fatal, Raven::LogBackend.new(capture_all: true)\nend\n```\n\nSee more in Crystal's `Log` [documentation](https://crystal-lang.org/api/Log.html#configure-logging-explicitly-in-the-code).\n\n## Crash Handler\n\nSince Crystal doesn't provide native handlers for unhandled exceptions\nand segfaults, *raven.cr* introduces its own crash handler compiled as\nexternal binary.\n\n### Setup\n\nThe easiest way of using it is by adding the appropriate entry to the project's `shard.yml`:\n\n```yaml\ntargets:\n # other target definitions if any...\n\n sentry.crash_handler:\n main: lib/raven/src/crash_handler.cr\n```\n\nWith the above entry defined in `targets`, running `shards build` should result in\nbinary built in `bin/sentry.crash_handler`.\n\n__NOTE__: While building you might specify `SENTRY_DSN` env variable, which will be\ncompiled into the binary (as plain-text) and used by the handler.\n\n```sh\nSENTRY_DSN= shards build sentry.crash_handler\n```\n\nPass `--release` flag to disable debug messages.\n\n### Usage\n\nYou need to run your app with previously built `bin/sentry.crash_handler` in\nfront.\n\n```sh\nbin/sentry.crash_handler bin/your_app --some arguments --passed to your program\n```\n\nAs one would expect, `STDIN` is passed to the original process, while\n`STDOUT` and `STDERR` are piped back from it.\n\n__NOTE__: You can always pass `SENTRY_DSN` env variable during execution\nin case you didn't do it while building the wrapper.\n\n## More Information\n\n- [Documentation](https://docs.sentry.io/clients/ruby)\n- [Bug Tracker](https://github.com/Sija/raven.cr/issues)\n- [Code Repository](https://github.com/Sija/raven.cr)\n\n## Contributing\n\n1. [Fork it](https://github.com/Sija/raven.cr/fork)\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create a new [Pull Request](https://github.com/Sija/raven.cr/pulls)\n\n## Contributors\n\n- [@Sija](https://github.com/Sija) Sijawusz Pur Rahnama - creator, maintainer\n","program":{"html_id":"raven/toplevel","path":"toplevel.html","kind":"module","full_name":"Top Level Namespace","name":"Top Level Namespace","abstract":false,"locations":[],"repository_name":"raven","program":true,"enum":false,"alias":false,"const":false,"types":[{"html_id":"raven/Exception","path":"Exception.html","kind":"class","full_name":"Exception","name":"Exception","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/ext/exception.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/ext/exception.cr#L4"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"raven/Raven/Configuration/ValidationError","kind":"class","full_name":"Raven::Configuration::ValidationError","name":"ValidationError"},{"html_id":"raven/Raven/Error","kind":"class","full_name":"Raven::Error","name":"Error"}],"doc":"Represents errors that occur during application execution.\n\nException and its descendants are used to communicate between raise and\nrescue statements in `begin ... end` blocks.\nException objects carry information about the exception – its type (the\nexception’s class name), an optional descriptive string, and\noptional traceback information.\nException subclasses may add additional information.","summary":"

Represents errors that occur during application execution.

","instance_methods":[{"html_id":"__raven_event_id:String|Nil-instance-method","name":"__raven_event_id","abstract":false,"location":{"filename":"src/raven/ext/exception.cr","line_number":7,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/ext/exception.cr#L7"},"def":{"name":"__raven_event_id","return_type":"String | ::Nil","visibility":"Public","body":"@__raven_event_id"}},{"html_id":"__raven_event_id=(__raven_event_id:String|Nil)-instance-method","name":"__raven_event_id=","abstract":false,"args":[{"name":"__raven_event_id","external_name":"__raven_event_id","restriction":"String | ::Nil"}],"args_string":"(__raven_event_id : String | Nil)","args_html":"(__raven_event_id : String | Nil)","location":{"filename":"src/raven/ext/exception.cr","line_number":7,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/ext/exception.cr#L7"},"def":{"name":"__raven_event_id=","args":[{"name":"__raven_event_id","external_name":"__raven_event_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@__raven_event_id = __raven_event_id"}},{"html_id":"__raven_extra:AnyHash::JSON-instance-method","name":"__raven_extra","abstract":false,"def":{"name":"__raven_extra","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @__raven_extra).nil?\n @__raven_extra = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"__raven_extra=(__raven_extra:AnyHash::JSON)-instance-method","name":"__raven_extra=","abstract":false,"args":[{"name":"__raven_extra","external_name":"__raven_extra","restriction":"AnyHash::JSON"}],"args_string":"(__raven_extra : AnyHash::JSON)","args_html":"(__raven_extra : AnyHash::JSON)","def":{"name":"__raven_extra=","args":[{"name":"__raven_extra","external_name":"__raven_extra","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@__raven_extra = __raven_extra"}},{"html_id":"__raven_extra=(hash:Hash|NamedTuple|Nil)-instance-method","name":"__raven_extra=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","def":{"name":"__raven_extra=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"__raven_extra.replace(hash)"}},{"html_id":"__raven_tags:AnyHash::JSON-instance-method","name":"__raven_tags","abstract":false,"def":{"name":"__raven_tags","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @__raven_tags).nil?\n @__raven_tags = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"__raven_tags=(__raven_tags:AnyHash::JSON)-instance-method","name":"__raven_tags=","abstract":false,"args":[{"name":"__raven_tags","external_name":"__raven_tags","restriction":"AnyHash::JSON"}],"args_string":"(__raven_tags : AnyHash::JSON)","args_html":"(__raven_tags : AnyHash::JSON)","def":{"name":"__raven_tags=","args":[{"name":"__raven_tags","external_name":"__raven_tags","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@__raven_tags = __raven_tags"}},{"html_id":"__raven_tags=(hash:Hash|NamedTuple|Nil)-instance-method","name":"__raven_tags=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","def":{"name":"__raven_tags=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"__raven_tags.replace(hash)"}},{"html_id":"__raven_user:AnyHash::JSON-instance-method","name":"__raven_user","abstract":false,"def":{"name":"__raven_user","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @__raven_user).nil?\n @__raven_user = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"__raven_user=(__raven_user:AnyHash::JSON)-instance-method","name":"__raven_user=","abstract":false,"args":[{"name":"__raven_user","external_name":"__raven_user","restriction":"AnyHash::JSON"}],"args_string":"(__raven_user : AnyHash::JSON)","args_html":"(__raven_user : AnyHash::JSON)","def":{"name":"__raven_user=","args":[{"name":"__raven_user","external_name":"__raven_user","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@__raven_user = __raven_user"}},{"html_id":"__raven_user=(hash:Hash|NamedTuple|Nil)-instance-method","name":"__raven_user=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","def":{"name":"__raven_user=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"__raven_user.replace(hash)"}}]},{"html_id":"raven/Raven","path":"Raven.html","kind":"module","full_name":"Raven","name":"Raven","abstract":false,"locations":[{"filename":"src/raven.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L8"},{"filename":"src/raven.cr","line_number":19,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L19"},{"filename":"src/raven/breadcrumb.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L1"},{"filename":"src/raven/breadcrumb_buffer.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L1"},{"filename":"src/raven/client.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client.cr#L5"},{"filename":"src/raven/client_state.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client_state.cr#L1"},{"filename":"src/raven/configuration.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L4"},{"filename":"src/raven/context.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/context.cr#L1"},{"filename":"src/raven/error.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/error.cr#L1"},{"filename":"src/raven/event.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L3"},{"filename":"src/raven/instance.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L1"},{"filename":"src/raven/interface.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interface.cr#L1"},{"filename":"src/raven/interfaces/exception.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/exception.cr#L1"},{"filename":"src/raven/interfaces/http.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/http.cr#L1"},{"filename":"src/raven/interfaces/message.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/message.cr#L1"},{"filename":"src/raven/interfaces/single_exception.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/single_exception.cr#L1"},{"filename":"src/raven/interfaces/stacktrace.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L1"},{"filename":"src/raven/log.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log.cr#L3"},{"filename":"src/raven/log_backend.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log_backend.cr#L4"},{"filename":"src/raven/mixins/initialize_with.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/mixins/initialize_with.cr#L1"},{"filename":"src/raven/processor.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processor.cr#L1"},{"filename":"src/raven/processors/compact.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/compact.cr#L1"},{"filename":"src/raven/processors/cookies.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/cookies.cr#L1"},{"filename":"src/raven/processors/http_headers.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/http_headers.cr#L1"},{"filename":"src/raven/processors/remove_circular_references.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/remove_circular_references.cr#L1"},{"filename":"src/raven/processors/remove_stacktrace.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/remove_stacktrace.cr#L1"},{"filename":"src/raven/processors/request_method_data.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/request_method_data.cr#L1"},{"filename":"src/raven/processors/sanitize_data.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/sanitize_data.cr#L3"},{"filename":"src/raven/processors/utf8_conversion.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/utf8_conversion.cr#L1"},{"filename":"src/raven/transport.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transport.cr#L1"},{"filename":"src/raven/transports/dummy.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/dummy.cr#L1"},{"filename":"src/raven/transports/http.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/http.cr#L3"},{"filename":"src/raven/version.cr","line_number":1,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/version.cr#L1"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Log","name":"Log","value":"::Log.for(self)"},{"id":"VERSION","name":"VERSION","value":"{{ (`shards version \\\"/home/runner/work/raven.cr/raven.cr/src/raven\\\"`).chomp.stringify }}"}],"extended_modules":[{"html_id":"raven/Raven/Delegators","kind":"module","full_name":"Raven::Delegators","name":"Delegators"}],"class_methods":[{"html_id":"instance:Raven::Instance-class-method","name":"instance","abstract":false,"location":{"filename":"src/raven.cr","line_number":22,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L22"},"def":{"name":"instance","return_type":"Raven::Instance","visibility":"Public","body":"if (value = @@instance).nil?\n @@instance = (Raven::Instance.new)\nelse\n value\nend"}},{"html_id":"sys_command(command)-class-method","name":"sys_command","abstract":false,"args":[{"name":"command","external_name":"command","restriction":""}],"args_string":"(command)","args_html":"(command)","location":{"filename":"src/raven.cr","line_number":29,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L29"},"def":{"name":"sys_command","args":[{"name":"command","external_name":"command","restriction":""}],"visibility":"Public","body":"result = begin\n (`(#{command}) 2>/dev/null`).strip\nrescue\n nil\nend\nif $?.success?\n result.presence\nend\n"}}],"macros":[{"html_id":"sys_command_compiled(command)-macro","name":"sys_command_compiled","abstract":false,"args":[{"name":"command","external_name":"command","restriction":""}],"args_string":"(command)","args_html":"(command)","location":{"filename":"src/raven.cr","line_number":24,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L24"},"def":{"name":"sys_command_compiled","args":[{"name":"command","external_name":"command","restriction":""}],"visibility":"Public","body":" \n%result\n = \n{{ (`(#{command.id} || true) 2>/dev/null`).stringify.strip }}\n\n \n%result\n.presence\n \n"}}],"types":[{"html_id":"raven/Raven/Breadcrumb","path":"Raven/Breadcrumb.html","kind":"class","full_name":"Raven::Breadcrumb","name":"Breadcrumb","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/breadcrumb.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"constructors":[{"html_id":"new(**options)-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":63,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L63"},"def":{"name":"new","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**options)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"category:String|Nil-instance-method","name":"category","doc":"Categories are dotted strings that indicate what the crumb is or where it comes from.\nTypically it’s a module name or a descriptive string.\nFor instance `ui.click` could be used to indicate that a click happened\nin the UI or `flask` could be used to indicate that the event originated\nin the Flask framework.","summary":"

Categories are dotted strings that indicate what the crumb is or where it comes from.

","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":47,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L47"},"def":{"name":"category","return_type":"String | ::Nil","visibility":"Public","body":"@category"}},{"html_id":"category=(category:String|Nil)-instance-method","name":"category=","doc":"Categories are dotted strings that indicate what the crumb is or where it comes from.\nTypically it’s a module name or a descriptive string.\nFor instance `ui.click` could be used to indicate that a click happened\nin the UI or `flask` could be used to indicate that the event originated\nin the Flask framework.","summary":"

Categories are dotted strings that indicate what the crumb is or where it comes from.

","abstract":false,"args":[{"name":"category","external_name":"category","restriction":"String | ::Nil"}],"args_string":"(category : String | Nil)","args_html":"(category : String | Nil)","location":{"filename":"src/raven/breadcrumb.cr","line_number":47,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L47"},"def":{"name":"category=","args":[{"name":"category","external_name":"category","restriction":"String | ::Nil"}],"visibility":"Public","body":"@category = category"}},{"html_id":"data:AnyHash::JSON-instance-method","name":"data","doc":"Data associated with this breadcrumb. Contains a sub-object whose\ncontents depend on the breadcrumb `type`. Additional parameters that\nare unsupported by the type are rendered as a key/value table.","summary":"

Data associated with this breadcrumb.

","abstract":false,"def":{"name":"data","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @data).nil?\n @data = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"data=(data:AnyHash::JSON)-instance-method","name":"data=","doc":"Data associated with this breadcrumb. Contains a sub-object whose\ncontents depend on the breadcrumb `type`. Additional parameters that\nare unsupported by the type are rendered as a key/value table.","summary":"

Data associated with this breadcrumb.

","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"AnyHash::JSON"}],"args_string":"(data : AnyHash::JSON)","args_html":"(data : AnyHash::JSON)","def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@data = data"}},{"html_id":"data=(hash:Hash|NamedTuple|Nil)-instance-method","name":"data=","doc":"Data associated with this breadcrumb. Contains a sub-object whose\ncontents depend on the breadcrumb `type`. Additional parameters that\nare unsupported by the type are rendered as a key/value table.","summary":"

Data associated with this breadcrumb.

","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/breadcrumb.cr","line_number":61,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L61"},"def":{"name":"data=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"data.replace(hash)"}},{"html_id":"level:Severity|Nil-instance-method","name":"level","doc":"This defines the level of the event. If not provided it defaults\nto `info` which is the middle level.","summary":"

This defines the level of the event.

","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":51,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L51"},"def":{"name":"level","return_type":"Severity | ::Nil","visibility":"Public","body":"@level"}},{"html_id":"level=(level:Severity|Nil)-instance-method","name":"level=","doc":"This defines the level of the event. If not provided it defaults\nto `info` which is the middle level.","summary":"

This defines the level of the event.

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Severity | ::Nil"}],"args_string":"(level : Severity | Nil)","args_html":"(level : Severity | Nil)","location":{"filename":"src/raven/breadcrumb.cr","line_number":51,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L51"},"def":{"name":"level=","args":[{"name":"level","external_name":"level","restriction":"Severity | ::Nil"}],"visibility":"Public","body":"@level = level"}},{"html_id":"level=(severity:Symbol)-instance-method","name":"level=","doc":"This defines the level of the event. If not provided it defaults\nto `info` which is the middle level.","summary":"

This defines the level of the event.

","abstract":false,"args":[{"name":"severity","external_name":"severity","restriction":"Symbol"}],"args_string":"(severity : Symbol)","args_html":"(severity : Symbol)","location":{"filename":"src/raven/breadcrumb.cr","line_number":54,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L54"},"def":{"name":"level=","args":[{"name":"severity","external_name":"severity","restriction":"Symbol"}],"visibility":"Public","body":"@level = Severity.parse(severity.to_s)"}},{"html_id":"message:String|Nil-instance-method","name":"message","doc":"If a message is provided it’s rendered as text and the whitespace is preserved.\nVery long text might be abbreviated in the UI.","summary":"

If a message is provided it’s rendered as text and the whitespace is preserved.

","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":40,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L40"},"def":{"name":"message","return_type":"String | ::Nil","visibility":"Public","body":"@message"}},{"html_id":"message=(message:String|Nil)-instance-method","name":"message=","doc":"If a message is provided it’s rendered as text and the whitespace is preserved.\nVery long text might be abbreviated in the UI.","summary":"

If a message is provided it’s rendered as text and the whitespace is preserved.

","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"String | ::Nil"}],"args_string":"(message : String | Nil)","args_html":"(message : String | Nil)","location":{"filename":"src/raven/breadcrumb.cr","line_number":40,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L40"},"def":{"name":"message=","args":[{"name":"message","external_name":"message","restriction":"String | ::Nil"}],"visibility":"Public","body":"@message = message"}},{"html_id":"timestamp:Time-instance-method","name":"timestamp","doc":"A timestamp representing when the breadcrumb occurred.","summary":"

A timestamp representing when the breadcrumb occurred.

","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":25,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L25"},"def":{"name":"timestamp","return_type":"Time","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Time)-instance-method","name":"timestamp=","doc":"A timestamp representing when the breadcrumb occurred.","summary":"

A timestamp representing when the breadcrumb occurred.

","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"args_string":"(timestamp : Time)","args_html":"(timestamp : Time)","location":{"filename":"src/raven/breadcrumb.cr","line_number":25,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L25"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"visibility":"Public","body":"@timestamp = timestamp"}},{"html_id":"to_hash-instance-method","name":"to_hash","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":67,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L67"},"def":{"name":"to_hash","visibility":"Public","body":"{\"timestamp\" => @timestamp.to_utc.to_unix, \"type\" => @type.try() do |__arg0|\n __arg0.to_s.downcase\nend, \"message\" => @message, \"data\" => data.to_h, \"category\" => @category, \"level\" => @level.try() do |__arg1|\n __arg1.to_s.downcase\nend}"}},{"html_id":"type:Type|Nil-instance-method","name":"type","doc":"The type of breadcrumb. The default type is `:default` which indicates\nno specific handling. Other types are currently:\n- `:http` for HTTP requests and\n- `:navigation` for navigation events.","summary":"

The type of breadcrumb.

","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":31,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L31"},"def":{"name":"type","return_type":"Type | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"type=(type:Type|Nil)-instance-method","name":"type=","doc":"The type of breadcrumb. The default type is `:default` which indicates\nno specific handling. Other types are currently:\n- `:http` for HTTP requests and\n- `:navigation` for navigation events.","summary":"

The type of breadcrumb.

","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"Type | ::Nil"}],"args_string":"(type : Type | Nil)","args_html":"(type : Type | Nil)","location":{"filename":"src/raven/breadcrumb.cr","line_number":31,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L31"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"Type | ::Nil"}],"visibility":"Public","body":"@type = type"}},{"html_id":"type=(type:Symbol)-instance-method","name":"type=","doc":"The type of breadcrumb. The default type is `:default` which indicates\nno specific handling. Other types are currently:\n- `:http` for HTTP requests and\n- `:navigation` for navigation events.","summary":"

The type of breadcrumb.

","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"Symbol"}],"args_string":"(type : Symbol)","args_html":"(type : Symbol)","location":{"filename":"src/raven/breadcrumb.cr","line_number":34,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L34"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"Symbol"}],"visibility":"Public","body":"@type = Type.parse(type.to_s)"}}],"types":[{"html_id":"raven/Raven/Breadcrumb/Severity","path":"Raven/Breadcrumb/Severity.html","kind":"enum","full_name":"Raven::Breadcrumb::Severity","name":"Severity","abstract":false,"ancestors":[{"html_id":"raven/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"raven/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"raven/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/breadcrumb.cr","line_number":16,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L16"}],"repository_name":"raven","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"DEBUG","name":"DEBUG","value":"0"},{"id":"INFO","name":"INFO","value":"1"},{"id":"WARNING","name":"WARNING","value":"2"},{"id":"ERROR","name":"ERROR","value":"3"},{"id":"CRITICAL","name":"CRITICAL","value":"4"}],"namespace":{"html_id":"raven/Raven/Breadcrumb","kind":"class","full_name":"Raven::Breadcrumb","name":"Breadcrumb"},"doc":"Levels are used in the UI to emphasize and deemphasize the crumb.","summary":"

Levels are used in the UI to emphasize and deemphasize the crumb.

","instance_methods":[{"html_id":"critical?-instance-method","name":"critical?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":21,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L21"},"def":{"name":"critical?","visibility":"Public","body":"self == CRITICAL"}},{"html_id":"debug?-instance-method","name":"debug?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":17,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L17"},"def":{"name":"debug?","visibility":"Public","body":"self == DEBUG"}},{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":20,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L20"},"def":{"name":"error?","visibility":"Public","body":"self == ERROR"}},{"html_id":"info?-instance-method","name":"info?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":18,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L18"},"def":{"name":"info?","visibility":"Public","body":"self == INFO"}},{"html_id":"warning?-instance-method","name":"warning?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":19,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L19"},"def":{"name":"warning?","visibility":"Public","body":"self == WARNING"}}]},{"html_id":"raven/Raven/Breadcrumb/Type","path":"Raven/Breadcrumb/Type.html","kind":"enum","full_name":"Raven::Breadcrumb::Type","name":"Type","abstract":false,"ancestors":[{"html_id":"raven/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"raven/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"raven/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/breadcrumb.cr","line_number":9,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L9"}],"repository_name":"raven","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"DEFAULT","name":"DEFAULT","value":"0"},{"id":"HTTP","name":"HTTP","value":"1"},{"id":"NAVIGATION","name":"NAVIGATION","value":"2"}],"namespace":{"html_id":"raven/Raven/Breadcrumb","kind":"class","full_name":"Raven::Breadcrumb","name":"Breadcrumb"},"doc":"The type of breadcrumb. The default type is `Type::DEFAULT` which indicates\nno specific handling. Other types are currently:\n- `Type::HTTP` for HTTP requests and\n- `Type::NAVIGATION` for navigation events.","summary":"

The type of breadcrumb.

","instance_methods":[{"html_id":"default?-instance-method","name":"default?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":10,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L10"},"def":{"name":"default?","visibility":"Public","body":"self == DEFAULT"}},{"html_id":"http?-instance-method","name":"http?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L11"},"def":{"name":"http?","visibility":"Public","body":"self == HTTP"}},{"html_id":"navigation?-instance-method","name":"navigation?","abstract":false,"location":{"filename":"src/raven/breadcrumb.cr","line_number":12,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb.cr#L12"},"def":{"name":"navigation?","visibility":"Public","body":"self == NAVIGATION"}}]}]},{"html_id":"raven/Raven/BreadcrumbBuffer","path":"Raven/BreadcrumbBuffer.html","kind":"class","full_name":"Raven::BreadcrumbBuffer","name":"BreadcrumbBuffer","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Enumerable","kind":"module","full_name":"Enumerable","name":"Enumerable"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/breadcrumb_buffer.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"raven/Enumerable","kind":"module","full_name":"Enumerable","name":"Enumerable"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"class_methods":[{"html_id":"clear!-class-method","name":"clear!","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":14,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L14"},"def":{"name":"clear!","visibility":"Public","body":"@@mutex.synchronize do\n @@current = nil\nend"}},{"html_id":"current-class-method","name":"current","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L8"},"def":{"name":"current","visibility":"Public","body":"@@mutex.synchronize do\n @@current || (@@current = new)\nend"}}],"constructors":[{"html_id":"new(size=100)-class-method","name":"new","abstract":false,"args":[{"name":"size","default_value":"100","external_name":"size","restriction":""}],"args_string":"(size = 100)","args_html":"(size = 100)","location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":22,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L22"},"def":{"name":"new","args":[{"name":"size","default_value":"100","external_name":"size","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(size)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"buffer:Array(Breadcrumb|Nil)-instance-method","name":"buffer","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":20,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L20"},"def":{"name":"buffer","return_type":"Array(Breadcrumb | ::Nil)","visibility":"Public","body":"@buffer"}},{"html_id":"each(&)-instance-method","name":"each","doc":"Must yield this collection's elements to the block.","summary":"

Must yield this collection's elements to the block.

","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":53,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L53"},"def":{"name":"each","yields":1,"block_arity":1,"visibility":"Public","body":"members.each do |breadcrumb|\n yield breadcrumb\nend"}},{"html_id":"empty?-instance-method","name":"empty?","doc":"Returns `true` if `self` does not contain any element.\n\n```\n([] of Int32).empty? # => true\n([1]).empty? # => false\n[nil, false].empty? # => false\n```\n\n* `#present?` returns the inverse.","summary":"

Returns true if self does not contain any element.

","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":59,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L59"},"def":{"name":"empty?","visibility":"Public","body":"members.empty?"}},{"html_id":"members:Array(Breadcrumb)-instance-method","name":"members","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":45,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L45"},"def":{"name":"members","return_type":"Array(Breadcrumb)","visibility":"Public","body":"@buffer.compact"}},{"html_id":"peek-instance-method","name":"peek","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":49,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L49"},"def":{"name":"peek","visibility":"Public","body":"members.last?"}},{"html_id":"record(crumb:Breadcrumb):Nil-instance-method","name":"record","abstract":false,"args":[{"name":"crumb","external_name":"crumb","restriction":"Breadcrumb"}],"args_string":"(crumb : Breadcrumb) : Nil","args_html":"(crumb : Breadcrumb) : Nil","location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":26,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L26"},"def":{"name":"record","args":[{"name":"crumb","external_name":"crumb","restriction":"Breadcrumb"}],"return_type":"Nil","visibility":"Public","body":"@buffer.shift\n@buffer << crumb\n"}},{"html_id":"record(**opts,&):Nil-instance-method","name":"record","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":31,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L31"},"def":{"name":"record","double_splat":{"name":"opts","external_name":"opts","restriction":""},"yields":1,"block_arity":1,"return_type":"Nil","visibility":"Public","body":"crumb = Breadcrumb.new(**opts)\nyield crumb\nrecord(crumb)\n"}},{"html_id":"record(opts:NamedTuple):Nil-instance-method","name":"record","abstract":false,"args":[{"name":"opts","external_name":"opts","restriction":"NamedTuple"}],"args_string":"(opts : NamedTuple) : Nil","args_html":"(opts : NamedTuple) : Nil","location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L41"},"def":{"name":"record","args":[{"name":"opts","external_name":"opts","restriction":"NamedTuple"}],"return_type":"Nil","visibility":"Public","body":"record(**opts)"}},{"html_id":"record(**opts):Nil-instance-method","name":"record","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":37,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L37"},"def":{"name":"record","double_splat":{"name":"opts","external_name":"opts","restriction":""},"return_type":"Nil","visibility":"Public","body":"record(**opts) do\nend"}},{"html_id":"to_hash-instance-method","name":"to_hash","abstract":false,"location":{"filename":"src/raven/breadcrumb_buffer.cr","line_number":63,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/breadcrumb_buffer.cr#L63"},"def":{"name":"to_hash","visibility":"Public","body":"{\"values\" => members.map(&.to_hash)}"}}]},{"html_id":"raven/Raven/Client","path":"Raven/Client.html","kind":"class","full_name":"Raven::Client","name":"Client","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/client.cr","line_number":7,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client.cr#L7"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"PROTOCOL_VERSION","name":"PROTOCOL_VERSION","value":"7"},{"id":"USER_AGENT","name":"USER_AGENT","value":"\"raven.cr/#{Raven::VERSION}\""}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"doc":"Encodes events and sends them to the Sentry server.","summary":"

Encodes events and sends them to the Sentry server.

","constructors":[{"html_id":"new(configuration:Raven::Configuration)-class-method","name":"new","abstract":false,"args":[{"name":"configuration","external_name":"configuration","restriction":"::Raven::Configuration"}],"args_string":"(configuration : Raven::Configuration)","args_html":"(configuration : Raven::Configuration)","location":{"filename":"src/raven/client.cr","line_number":27,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client.cr#L27"},"def":{"name":"new","args":[{"name":"configuration","external_name":"configuration","restriction":"::Raven::Configuration"}],"visibility":"Public","body":"_ = allocate\n_.initialize(configuration)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"configuration:Configuration-instance-method","name":"configuration","abstract":false,"location":{"filename":"src/raven/client.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client.cr#L11"},"def":{"name":"configuration","return_type":"Configuration","visibility":"Public","body":"@configuration"}},{"html_id":"configuration=(configuration:Configuration)-instance-method","name":"configuration=","abstract":false,"args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"args_string":"(configuration : Configuration)","args_html":"(configuration : Configuration)","location":{"filename":"src/raven/client.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client.cr#L11"},"def":{"name":"configuration=","args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"visibility":"Public","body":"@configuration = configuration"}},{"html_id":"send_event(event:Event|Event::HashType,hint:Event::Hint|Nil=nil)-instance-method","name":"send_event","abstract":false,"args":[{"name":"event","external_name":"event","restriction":"Event | Event::HashType"},{"name":"hint","default_value":"nil","external_name":"hint","restriction":"Event::Hint | ::Nil"}],"args_string":"(event : Event | Event::HashType, hint : Event::Hint | Nil = nil)","args_html":"(event : Event | Event::HashType, hint : Event::Hint | Nil = nil)","location":{"filename":"src/raven/client.cr","line_number":46,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client.cr#L46"},"def":{"name":"send_event","args":[{"name":"event","external_name":"event","restriction":"Event | Event::HashType"},{"name":"hint","default_value":"nil","external_name":"hint","restriction":"Event::Hint | ::Nil"}],"visibility":"Public","body":"if ex = configuration.validate!\n Log.debug do\n \"Client#send_event with event '#{event}' failed: #{ex.error_messages}\"\n end\n return false\nend\nif event.is_a?(Event)\n configuration.before_send.try do |before_send|\n event = before_send.call(event, hint)\n if event\n else\n Log.info do\n \"Discarded event because before_send returned nil\"\n end\n return\n end\n end\nend\nevent = event.is_a?(Event) ? event.to_hash : event\nif @state.should_try?\nelse\n failed_send(nil, event)\n return\nend\nLog.info do\n \"Sending event #{event[:event_id]} to Sentry\"\nend\ncontent_type, encoded_data = encode(event)\nbegin\n options = {content_type: content_type}\n (transport.send_event(generate_auth_header, encoded_data, **options)).tap do\n successful_send\n end\nrescue ex\n failed_send(ex, event)\nend\n"}},{"html_id":"send_feedback(event_id:String,data:Hash)-instance-method","name":"send_feedback","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"data","external_name":"data","restriction":"Hash"}],"args_string":"(event_id : String, data : Hash)","args_html":"(event_id : String, data : Hash)","location":{"filename":"src/raven/client.cr","line_number":36,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client.cr#L36"},"def":{"name":"send_feedback","args":[{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"data","external_name":"data","restriction":"Hash"}],"visibility":"Public","body":"if ex = configuration.validate!\n Log.debug do\n \"Client#send_feedback with event id '#{event_id}' failed: #{ex.error_messages}\"\n end\n return false\nend\ntransport.send_feedback(event_id, data)\n"}},{"html_id":"transport:Transport-instance-method","name":"transport","abstract":false,"location":{"filename":"src/raven/client.cr","line_number":16,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client.cr#L16"},"def":{"name":"transport","return_type":"Transport","visibility":"Public","body":"if (value = @transport).nil?\n @transport = (case configuration.scheme\n when \"http\", \"https\"\n Transport::HTTP.new(configuration)\n when \"dummy\"\n Transport::Dummy.new(configuration)\n else\n raise(\"Unknown transport scheme '#{configuration.scheme}'\")\n end)\nelse\n value\nend"}}],"types":[{"html_id":"raven/Raven/Client/State","path":"Raven/Client/State.html","kind":"class","full_name":"Raven::Client::State","name":"State","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/client_state.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client_state.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Client","kind":"class","full_name":"Raven::Client","name":"Client"},"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/client_state.cr","line_number":13,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client_state.cr#L13"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"failed?-instance-method","name":"failed?","abstract":false,"location":{"filename":"src/raven/client_state.cr","line_number":45,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client_state.cr#L45"},"def":{"name":"failed?","visibility":"Public","body":"@status.error?"}},{"html_id":"failure(retry_after:Time::Span|Nil=nil):Nil-instance-method","name":"failure","abstract":false,"args":[{"name":"retry_after","default_value":"nil","external_name":"retry_after","restriction":"::Time::Span | ::Nil"}],"args_string":"(retry_after : Time::Span | Nil = nil) : Nil","args_html":"(retry_after : Time::Span | Nil = nil) : Nil","location":{"filename":"src/raven/client_state.cr","line_number":27,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client_state.cr#L27"},"def":{"name":"failure","args":[{"name":"retry_after","default_value":"nil","external_name":"retry_after","restriction":"::Time::Span | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"@status = Status::ERROR\n@retry_number = @retry_number + 1\n@last_check = Time.utc\n@retry_after = retry_after\n"}},{"html_id":"reset:Nil-instance-method","name":"reset","abstract":false,"location":{"filename":"src/raven/client_state.cr","line_number":38,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client_state.cr#L38"},"def":{"name":"reset","return_type":"Nil","visibility":"Public","body":"@status = Status::ONLINE\n@retry_number = 0\n@last_check = nil\n@retry_after = nil\n"}},{"html_id":"should_try?-instance-method","name":"should_try?","abstract":false,"location":{"filename":"src/raven/client_state.cr","line_number":18,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client_state.cr#L18"},"def":{"name":"should_try?","visibility":"Public","body":"if @status.online?\n return true\nend\ninterval = @retry_after || ({@retry_number, 6}.min ** 2).seconds\nif last_check = @last_check\nelse\n return true\nend\nif (Time.utc - last_check) >= interval\n return true\nend\nfalse\n"}},{"html_id":"success:Nil-instance-method","name":"success","abstract":false,"location":{"filename":"src/raven/client_state.cr","line_number":34,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client_state.cr#L34"},"def":{"name":"success","return_type":"Nil","visibility":"Public","body":"reset"}}],"types":[{"html_id":"raven/Raven/Client/State/Status","path":"Raven/Client/State/Status.html","kind":"enum","full_name":"Raven::Client::State::Status","name":"Status","abstract":false,"ancestors":[{"html_id":"raven/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"raven/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"raven/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/client_state.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client_state.cr#L3"}],"repository_name":"raven","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"ONLINE","name":"ONLINE","value":"0"},{"id":"ERROR","name":"ERROR","value":"1"}],"namespace":{"html_id":"raven/Raven/Client/State","kind":"class","full_name":"Raven::Client::State","name":"State"},"instance_methods":[{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/raven/client_state.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client_state.cr#L5"},"def":{"name":"error?","visibility":"Public","body":"self == ERROR"}},{"html_id":"online?-instance-method","name":"online?","abstract":false,"location":{"filename":"src/raven/client_state.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/client_state.cr#L4"},"def":{"name":"online?","visibility":"Public","body":"self == ONLINE"}}]}]}]},{"html_id":"raven/Raven/Configuration","path":"Raven/Configuration.html","kind":"class","full_name":"Raven::Configuration","name":"Configuration","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/configuration.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L5"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DEFAULT_PROCESSORS","name":"DEFAULT_PROCESSORS","value":"[Processor::RemoveCircularReferences, Processor::Cookies, Processor::RequestMethodData, Processor::HTTPHeaders, Processor::UTF8Conversion, Processor::SanitizeData, Processor::Compact] of Processor.class","doc":"Note the order - we have to remove circular references and bad characters\nbefore passing to other processors.","summary":"

Note the order - we have to remove circular references and bad characters before passing to other processors.

"},{"id":"DEFAULT_REQUEST_METHODS_FOR_DATA_SANITIZATION","name":"DEFAULT_REQUEST_METHODS_FOR_DATA_SANITIZATION","value":"[\"POST\", \"PUT\", \"PATCH\"] of ::String","doc":"Array of default request methods for which data should be removed.","summary":"

Array of default request methods for which data should be removed.

"},{"id":"IGNORE_DEFAULT","name":"IGNORE_DEFAULT","value":"[] of Exception.class | String","doc":"Array of exception classes that should never be sent.","summary":"

Array of exception classes that should never be sent.

"},{"id":"REQUIRED_OPTIONS","name":"REQUIRED_OPTIONS","value":"[:host, :public_key, :project_id] of ::Symbol","doc":"Array of required properties needed to be set, before\n`Configuration` is considered valid.","summary":"

Array of required properties needed to be set, before Configuration is considered valid.

"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":260,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L260"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"app_dirs_pattern(*args,**options)-instance-method","name":"app_dirs_pattern","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L68"},"def":{"name":"app_dirs_pattern","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"backtracer.app_dirs_pattern(*args, **options)"}},{"html_id":"app_dirs_pattern(*args,**options,&)-instance-method","name":"app_dirs_pattern","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L68"},"def":{"name":"app_dirs_pattern","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"backtracer.app_dirs_pattern(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"app_dirs_pattern=(arg)-instance-method","name":"app_dirs_pattern=","abstract":false,"args":[{"name":"arg","external_name":"arg","restriction":""}],"args_string":"(arg)","args_html":"(arg)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L68"},"def":{"name":"app_dirs_pattern=","args":[{"name":"arg","external_name":"arg","restriction":""}],"visibility":"Public","body":"backtracer.app_dirs_pattern = arg"}},{"html_id":"async:Proc(Event,Nil)|Nil-instance-method","name":"async","doc":"Provide a `Proc` object that responds to `call` to send\nevents asynchronously, or pass `true` to to use standard `spawn`.\n\n```\n->(event : Raven::Event) { spawn { Raven.send_event(event) } }\n```","summary":"

Provide a Proc object that responds to call to send events asynchronously, or pass true to to use standard spawn.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":50,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L50"},"def":{"name":"async","return_type":"Proc(Event, Nil) | ::Nil","visibility":"Public","body":"@async"}},{"html_id":"async=(async:Proc(Event,Nil)|Nil)-instance-method","name":"async=","doc":"Provide a `Proc` object that responds to `call` to send\nevents asynchronously, or pass `true` to to use standard `spawn`.\n\n```\n->(event : Raven::Event) { spawn { Raven.send_event(event) } }\n```","summary":"

Provide a Proc object that responds to call to send events asynchronously, or pass true to to use standard spawn.

","abstract":false,"args":[{"name":"async","external_name":"async","restriction":"Proc(Event, Nil) | ::Nil"}],"args_string":"(async : Proc(Event, Nil) | Nil)","args_html":"(async : Proc(Event, Nil) | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":50,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L50"},"def":{"name":"async=","args":[{"name":"async","external_name":"async","restriction":"Proc(Event, Nil) | ::Nil"}],"visibility":"Public","body":"@async = async"}},{"html_id":"async=(switch:Bool)-instance-method","name":"async=","doc":"Sets `async` callback to either `Fiber`-based implementation (see below),\nor `nil`, depending on the given *switch* value.\n\n```\n->(event : Event) { spawn { Raven.send_event(event) } }\n```","summary":"

Sets #async callback to either Fiber-based implementation (see below), or nil, depending on the given switch value.

","abstract":false,"args":[{"name":"switch","external_name":"switch","restriction":"Bool"}],"args_string":"(switch : Bool)","args_html":"(switch : Bool)","location":{"filename":"src/raven/configuration.cr","line_number":58,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L58"},"def":{"name":"async=","args":[{"name":"switch","external_name":"switch","restriction":"Bool"}],"visibility":"Public","body":"if switch\nelse\n return @async = nil\nend\n@async = ->(event : Event) do\n spawn do\n Raven.send_event(event)\n end\n nil\nend\n"}},{"html_id":"backtracer:Backtracer::Configuration-instance-method","name":"backtracer","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":66,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L66"},"def":{"name":"backtracer","visibility":"Public","body":"@backtracer"}},{"html_id":"backtracer=(backtracer:Backtracer::Configuration)-instance-method","name":"backtracer=","abstract":false,"args":[{"name":"backtracer","external_name":"backtracer","restriction":"::Backtracer::Configuration"}],"args_string":"(backtracer : Backtracer::Configuration)","args_html":"(backtracer : Backtracer::Configuration)","location":{"filename":"src/raven/configuration.cr","line_number":66,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L66"},"def":{"name":"backtracer=","args":[{"name":"backtracer","external_name":"backtracer","restriction":"::Backtracer::Configuration"}],"visibility":"Public","body":"@backtracer = backtracer"}},{"html_id":"before_send(&block:Event,Event::Hint|Nil->_)-instance-method","name":"before_send","doc":"Optional `Proc`, called before sending an event to the server:\n\n```\n->(event : Raven::Event, hint : Raven::Event::Hint?) {\n if hint.try(&.exception).try(&.message) =~ /database unavailable/i\n event.fingerprint << \"database-unavailable\"\n end\n event\n}\n```","summary":"

Optional Proc, called before sending an event to the server:

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":253,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L253"},"def":{"name":"before_send","yields":2,"block_arity":2,"block_arg":{"name":"block","external_name":"block","restriction":"(Event, Event::Hint | ::Nil -> _)"},"visibility":"Public","body":"self.before_send = block"}},{"html_id":"before_send:Proc(Event,Event::Hint|Nil,Event|Nil)|Nil-instance-method","name":"before_send","doc":"Optional `Proc`, called before sending an event to the server:\n\n```\n->(event : Raven::Event, hint : Raven::Event::Hint?) {\n if hint.try(&.exception).try(&.message) =~ /database unavailable/i\n event.fingerprint << \"database-unavailable\"\n end\n event\n}\n```","summary":"

Optional Proc, called before sending an event to the server:

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":258,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L258"},"def":{"name":"before_send","return_type":"Proc(Event, Event::Hint | ::Nil, Event | ::Nil) | ::Nil","visibility":"Public","body":"@before_send"}},{"html_id":"before_send=(block:Event,Event::Hint|Nil->_)-instance-method","name":"before_send=","doc":"Optional `Proc`, called before sending an event to the server:\n\n```\n->(event : Raven::Event, hint : Raven::Event::Hint?) {\n if hint.try(&.exception).try(&.message) =~ /database unavailable/i\n event.fingerprint << \"database-unavailable\"\n end\n event\n}\n```","summary":"

Optional Proc, called before sending an event to the server:

","abstract":false,"args":[{"name":"block","external_name":"block","restriction":"(Event, Event::Hint | ::Nil -> _)"}],"args_string":"(block : Event, Event::Hint | Nil -> _)","args_html":"(block : Event, Event::Hint | Nil -> _)","location":{"filename":"src/raven/configuration.cr","line_number":246,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L246"},"def":{"name":"before_send=","args":[{"name":"block","external_name":"block","restriction":"(Event, Event::Hint | ::Nil -> _)"}],"visibility":"Public","body":"@before_send = ->(event : Event, hint : Event::Hint | ::Nil) do\n (block.call(event, hint)).as(Event | ::Nil)\nend"}},{"html_id":"before_send=(before_send:Proc(Event,Event::Hint|Nil,Event|Nil)|Nil)-instance-method","name":"before_send=","doc":"Optional `Proc`, called before sending an event to the server:\n\n```\n->(event : Raven::Event, hint : Raven::Event::Hint?) {\n if hint.try(&.exception).try(&.message) =~ /database unavailable/i\n event.fingerprint << \"database-unavailable\"\n end\n event\n}\n```","summary":"

Optional Proc, called before sending an event to the server:

","abstract":false,"args":[{"name":"before_send","external_name":"before_send","restriction":"Proc(Event, Event::Hint | ::Nil, Event | ::Nil) | ::Nil"}],"args_string":"(before_send : Proc(Event, Event::Hint | Nil, Event | Nil) | Nil)","args_html":"(before_send : Proc(Event, Event::Hint | Nil, Event | Nil) | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":258,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L258"},"def":{"name":"before_send=","args":[{"name":"before_send","external_name":"before_send","restriction":"Proc(Event, Event::Hint | ::Nil, Event | ::Nil) | ::Nil"}],"visibility":"Public","body":"@before_send = before_send"}},{"html_id":"capture_allowed!(message_or_ex):ValidationError|Nil-instance-method","name":"capture_allowed!","abstract":false,"args":[{"name":"message_or_ex","external_name":"message_or_ex","restriction":""}],"args_string":"(message_or_ex) : ValidationError | Nil","args_html":"(message_or_ex) : ValidationError | Nil","location":{"filename":"src/raven/configuration.cr","line_number":437,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L437"},"def":{"name":"capture_allowed!","args":[{"name":"message_or_ex","external_name":"message_or_ex","restriction":""}],"return_type":"ValidationError | ::Nil","visibility":"Public","body":"errors = capture_allowed(message_or_ex)\nif errors.empty?\nelse\n ValidationError.new(errors)\nend\n"}},{"html_id":"capture_allowed!:ValidationError|Nil-instance-method","name":"capture_allowed!","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":412,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L412"},"def":{"name":"capture_allowed!","return_type":"ValidationError | ::Nil","visibility":"Public","body":"errors = capture_allowed\nif errors.empty?\nelse\n ValidationError.new(errors)\nend\n"}},{"html_id":"capture_allowed?(message_or_ex):Bool-instance-method","name":"capture_allowed?","abstract":false,"args":[{"name":"message_or_ex","external_name":"message_or_ex","restriction":""}],"args_string":"(message_or_ex) : Bool","args_html":"(message_or_ex) : Bool","location":{"filename":"src/raven/configuration.cr","line_number":442,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L442"},"def":{"name":"capture_allowed?","args":[{"name":"message_or_ex","external_name":"message_or_ex","restriction":""}],"return_type":"Bool","visibility":"Public","body":"(capture_allowed(message_or_ex)).empty?"}},{"html_id":"capture_allowed?:Bool-instance-method","name":"capture_allowed?","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":417,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L417"},"def":{"name":"capture_allowed?","return_type":"Bool","visibility":"Public","body":"capture_allowed.empty?"}},{"html_id":"connect_timeout:Time::Span-instance-method","name":"connect_timeout","doc":"Timeout waiting for the Sentry server connection to open in seconds.","summary":"

Timeout waiting for the Sentry server connection to open in seconds.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":109,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L109"},"def":{"name":"connect_timeout","return_type":"Time::Span","visibility":"Public","body":"@connect_timeout"}},{"html_id":"connect_timeout=(connect_timeout:Time::Span)-instance-method","name":"connect_timeout=","doc":"Timeout waiting for the Sentry server connection to open in seconds.","summary":"

Timeout waiting for the Sentry server connection to open in seconds.

","abstract":false,"args":[{"name":"connect_timeout","external_name":"connect_timeout","restriction":"Time::Span"}],"args_string":"(connect_timeout : Time::Span)","args_html":"(connect_timeout : Time::Span)","location":{"filename":"src/raven/configuration.cr","line_number":109,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L109"},"def":{"name":"connect_timeout=","args":[{"name":"connect_timeout","external_name":"connect_timeout","restriction":"Time::Span"}],"visibility":"Public","body":"@connect_timeout = connect_timeout"}},{"html_id":"context_lines(*args,**options)-instance-method","name":"context_lines","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L68"},"def":{"name":"context_lines","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"backtracer.context_lines(*args, **options)"}},{"html_id":"context_lines(*args,**options,&)-instance-method","name":"context_lines","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L68"},"def":{"name":"context_lines","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"backtracer.context_lines(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"context_lines=(arg)-instance-method","name":"context_lines=","abstract":false,"args":[{"name":"arg","external_name":"arg","restriction":""}],"args_string":"(arg)","args_html":"(arg)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L68"},"def":{"name":"context_lines=","args":[{"name":"arg","external_name":"arg","restriction":""}],"visibility":"Public","body":"backtracer.context_lines = arg"}},{"html_id":"current_environment:String|Nil-instance-method","name":"current_environment","doc":"Defaults to `SENTRY_ENVIRONMENT` variable if set,\n`\"default\"` otherwise.","summary":"

Defaults to SENTRY_ENVIRONMENT variable if set, "default" otherwise.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":77,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L77"},"def":{"name":"current_environment","return_type":"String | ::Nil","visibility":"Public","body":"@current_environment"}},{"html_id":"current_environment=(current_environment:String|Nil)-instance-method","name":"current_environment=","doc":"Defaults to `SENTRY_ENVIRONMENT` variable if set,\n`\"default\"` otherwise.","summary":"

Defaults to SENTRY_ENVIRONMENT variable if set, "default" otherwise.

","abstract":false,"args":[{"name":"current_environment","external_name":"current_environment","restriction":"String | ::Nil"}],"args_string":"(current_environment : String | Nil)","args_html":"(current_environment : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":77,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L77"},"def":{"name":"current_environment=","args":[{"name":"current_environment","external_name":"current_environment","restriction":"String | ::Nil"}],"visibility":"Public","body":"@current_environment = current_environment"}},{"html_id":"dsn:String|Nil-instance-method","name":"dsn","doc":"Simple server string - set this to the DSN found on your Sentry settings.","summary":"

Simple server string - set this to the DSN found on your Sentry settings.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":202,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L202"},"def":{"name":"dsn","return_type":"String | ::Nil","visibility":"Public","body":"@dsn"}},{"html_id":"dsn=(uri:URI)-instance-method","name":"dsn=","abstract":false,"args":[{"name":"uri","external_name":"uri","restriction":"URI"}],"args_string":"(uri : URI)","args_html":"(uri : URI)","location":{"filename":"src/raven/configuration.cr","line_number":280,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L280"},"def":{"name":"dsn=","args":[{"name":"uri","external_name":"uri","restriction":"URI"}],"visibility":"Public","body":"uri_path = uri.path.try(&.split('/'))\nif uri.user\n @public_key = uri.user\n @secret_key = uri.password\n @project_id = uri_path.try(&.pop?).try(&.to_u64)\nelse\n @public_key = @secret_key = @project_id = nil\nend\n@scheme = uri.scheme\n@host = uri.host\nstandard_ports = {http: 80, https: 443}\n@port = uri.port\nif scheme = @scheme\n if @port == standard_ports[scheme]?\n @port = nil\n end\nend\n@path = uri_path.try(&.join('/'))\nif @path.try(&.empty?)\n @path = nil\nend\n@dsn = String.build do |str|\n (str << @scheme) << \"://\"\n if @public_key\n (str << @public_key) << '@'\n end\n str << @host\n if @port\n (str << ':') << @port\n end\n if @path\n str << @path\n end\n if @project_id\n (str << '/') << @project_id\n end\nend\n"}},{"html_id":"dsn=(value:String)-instance-method","name":"dsn=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/raven/configuration.cr","line_number":314,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L314"},"def":{"name":"dsn=","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"self.dsn = URI.parse(value)"}},{"html_id":"encoding:Encoding-instance-method","name":"encoding","doc":"Encoding type for event bodies.","summary":"

Encoding type for event bodies.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":86,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L86"},"def":{"name":"encoding","return_type":"Encoding","visibility":"Public","body":"@encoding"}},{"html_id":"encoding=(encoding:Encoding)-instance-method","name":"encoding=","doc":"Encoding type for event bodies.","summary":"

Encoding type for event bodies.

","abstract":false,"args":[{"name":"encoding","external_name":"encoding","restriction":"Encoding"}],"args_string":"(encoding : Encoding)","args_html":"(encoding : Encoding)","location":{"filename":"src/raven/configuration.cr","line_number":86,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L86"},"def":{"name":"encoding=","args":[{"name":"encoding","external_name":"encoding","restriction":"Encoding"}],"visibility":"Public","body":"@encoding = encoding"}},{"html_id":"environments:Array(String)-instance-method","name":"environments","doc":"Whitelist of environments that will send notifications to Sentry.","summary":"

Whitelist of environments that will send notifications to Sentry.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":89,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L89"},"def":{"name":"environments","visibility":"Public","body":"@environments"}},{"html_id":"environments=(environments:Array(String))-instance-method","name":"environments=","doc":"Whitelist of environments that will send notifications to Sentry.","summary":"

Whitelist of environments that will send notifications to Sentry.

","abstract":false,"args":[{"name":"environments","external_name":"environments","restriction":"::Array(::String)"}],"args_string":"(environments : Array(String))","args_html":"(environments : Array(String))","location":{"filename":"src/raven/configuration.cr","line_number":89,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L89"},"def":{"name":"environments=","args":[{"name":"environments","external_name":"environments","restriction":"::Array(::String)"}],"visibility":"Public","body":"@environments = environments"}},{"html_id":"exclude_loggers:Array(String)-instance-method","name":"exclude_loggers","doc":"`::Log#source` patterns excluded from breadcrumb recording.\n\nDefaults to `raven.*`.\n\nNOTE: You should probably append to this rather than overwrite it.","summary":"

::Log#source patterns excluded from breadcrumb recording.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":96,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L96"},"def":{"name":"exclude_loggers","return_type":"Array(String)","visibility":"Public","body":"@exclude_loggers"}},{"html_id":"exclude_loggers=(exclude_loggers:Array(String))-instance-method","name":"exclude_loggers=","doc":"`::Log#source` patterns excluded from breadcrumb recording.\n\nDefaults to `raven.*`.\n\nNOTE: You should probably append to this rather than overwrite it.","summary":"

::Log#source patterns excluded from breadcrumb recording.

","abstract":false,"args":[{"name":"exclude_loggers","external_name":"exclude_loggers","restriction":"Array(String)"}],"args_string":"(exclude_loggers : Array(String))","args_html":"(exclude_loggers : Array(String))","location":{"filename":"src/raven/configuration.cr","line_number":96,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L96"},"def":{"name":"exclude_loggers=","args":[{"name":"exclude_loggers","external_name":"exclude_loggers","restriction":"Array(String)"}],"visibility":"Public","body":"@exclude_loggers = exclude_loggers"}},{"html_id":"excluded_exceptions:Array(Exception.class|String)-instance-method","name":"excluded_exceptions","doc":"Array of exception classes that should never be sent.\n\nSee `IGNORE_DEFAULT`.\n\nNOTE: You should probably append to this rather than overwrite it.","summary":"

Array of exception classes that should never be sent.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":103,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L103"},"def":{"name":"excluded_exceptions","return_type":"Array(Exception.class | String)","visibility":"Public","body":"@excluded_exceptions"}},{"html_id":"excluded_exceptions=(excluded_exceptions:Array(Exception.class|String))-instance-method","name":"excluded_exceptions=","doc":"Array of exception classes that should never be sent.\n\nSee `IGNORE_DEFAULT`.\n\nNOTE: You should probably append to this rather than overwrite it.","summary":"

Array of exception classes that should never be sent.

","abstract":false,"args":[{"name":"excluded_exceptions","external_name":"excluded_exceptions","restriction":"Array(Exception.class | String)"}],"args_string":"(excluded_exceptions : Array(Exception.class | String))","args_html":"(excluded_exceptions : Array(Exception.class | String))","location":{"filename":"src/raven/configuration.cr","line_number":103,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L103"},"def":{"name":"excluded_exceptions=","args":[{"name":"excluded_exceptions","external_name":"excluded_exceptions","restriction":"Array(Exception.class | String)"}],"visibility":"Public","body":"@excluded_exceptions = excluded_exceptions"}},{"html_id":"host:String|Nil-instance-method","name":"host","doc":"NOTE: DSN component - set automatically if DSN provided.","summary":"

NOTE DSN component - set automatically if DSN provided.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":106,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L106"},"def":{"name":"host","return_type":"String | ::Nil","visibility":"Public","body":"@host"}},{"html_id":"host=(host:String|Nil)-instance-method","name":"host=","doc":"NOTE: DSN component - set automatically if DSN provided.","summary":"

NOTE DSN component - set automatically if DSN provided.

","abstract":false,"args":[{"name":"host","external_name":"host","restriction":"String | ::Nil"}],"args_string":"(host : String | Nil)","args_html":"(host : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":106,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L106"},"def":{"name":"host=","args":[{"name":"host","external_name":"host","restriction":"String | ::Nil"}],"visibility":"Public","body":"@host = host"}},{"html_id":"ignored_logger?(source)-instance-method","name":"ignored_logger?","abstract":false,"args":[{"name":"source","external_name":"source","restriction":""}],"args_string":"(source)","args_html":"(source)","location":{"filename":"src/raven/configuration.cr","line_number":370,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L370"},"def":{"name":"ignored_logger?","args":[{"name":"source","external_name":"source","restriction":""}],"visibility":"Public","body":"exclude_loggers.any? do |pattern|\n ::Log::Builder.matches(source, pattern)\nend"}},{"html_id":"modules_path_pattern(*args,**options)-instance-method","name":"modules_path_pattern","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L68"},"def":{"name":"modules_path_pattern","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"backtracer.modules_path_pattern(*args, **options)"}},{"html_id":"modules_path_pattern(*args,**options,&)-instance-method","name":"modules_path_pattern","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L68"},"def":{"name":"modules_path_pattern","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"backtracer.modules_path_pattern(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"modules_path_pattern=(arg)-instance-method","name":"modules_path_pattern=","abstract":false,"args":[{"name":"arg","external_name":"arg","restriction":""}],"args_string":"(arg)","args_html":"(arg)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L68"},"def":{"name":"modules_path_pattern=","args":[{"name":"arg","external_name":"arg","restriction":""}],"visibility":"Public","body":"backtracer.modules_path_pattern = arg"}},{"html_id":"path:String|Nil-instance-method","name":"path","doc":"NOTE: DSN component - set automatically if DSN provided.","summary":"

NOTE DSN component - set automatically if DSN provided.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":112,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L112"},"def":{"name":"path","return_type":"String | ::Nil","visibility":"Public","body":"@path"}},{"html_id":"path=(path:String|Nil)-instance-method","name":"path=","doc":"NOTE: DSN component - set automatically if DSN provided.","summary":"

NOTE DSN component - set automatically if DSN provided.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String | ::Nil"}],"args_string":"(path : String | Nil)","args_html":"(path : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":112,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L112"},"def":{"name":"path=","args":[{"name":"path","external_name":"path","restriction":"String | ::Nil"}],"visibility":"Public","body":"@path = path"}},{"html_id":"port:Int32|Nil-instance-method","name":"port","doc":"NOTE: DSN component - set automatically if DSN provided.","summary":"

NOTE DSN component - set automatically if DSN provided.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":115,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L115"},"def":{"name":"port","return_type":"Int32 | ::Nil","visibility":"Public","body":"@port"}},{"html_id":"port=(port:Int32|Nil)-instance-method","name":"port=","doc":"NOTE: DSN component - set automatically if DSN provided.","summary":"

NOTE DSN component - set automatically if DSN provided.

","abstract":false,"args":[{"name":"port","external_name":"port","restriction":"Int32 | ::Nil"}],"args_string":"(port : Int32 | Nil)","args_html":"(port : Int32 | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":115,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L115"},"def":{"name":"port=","args":[{"name":"port","external_name":"port","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@port = port"}},{"html_id":"processors:Array(Processor.class)-instance-method","name":"processors","doc":"Processors to run on data before sending upstream. See `DEFAULT_PROCESSORS`.\nYou should probably append to this rather than overwrite it.","summary":"

Processors to run on data before sending upstream.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":119,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L119"},"def":{"name":"processors","return_type":"Array(Processor.class)","visibility":"Public","body":"@processors"}},{"html_id":"processors=(processors:Array(Processor.class))-instance-method","name":"processors=","doc":"Processors to run on data before sending upstream. See `DEFAULT_PROCESSORS`.\nYou should probably append to this rather than overwrite it.","summary":"

Processors to run on data before sending upstream.

","abstract":false,"args":[{"name":"processors","external_name":"processors","restriction":"Array(Processor.class)"}],"args_string":"(processors : Array(Processor.class))","args_html":"(processors : Array(Processor.class))","location":{"filename":"src/raven/configuration.cr","line_number":119,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L119"},"def":{"name":"processors=","args":[{"name":"processors","external_name":"processors","restriction":"Array(Processor.class)"}],"visibility":"Public","body":"@processors = processors"}},{"html_id":"project_id:UInt64|Nil-instance-method","name":"project_id","doc":"Project ID number to send to the Sentry server\n\nNOTE: If you provide a DSN, this will be set automatically.","summary":"

Project ID number to send to the Sentry server

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":124,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L124"},"def":{"name":"project_id","return_type":"UInt64 | ::Nil","visibility":"Public","body":"@project_id"}},{"html_id":"project_id=(project_id:UInt64|Nil)-instance-method","name":"project_id=","doc":"Project ID number to send to the Sentry server\n\nNOTE: If you provide a DSN, this will be set automatically.","summary":"

Project ID number to send to the Sentry server

","abstract":false,"args":[{"name":"project_id","external_name":"project_id","restriction":"UInt64 | ::Nil"}],"args_string":"(project_id : UInt64 | Nil)","args_html":"(project_id : UInt64 | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":124,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L124"},"def":{"name":"project_id=","args":[{"name":"project_id","external_name":"project_id","restriction":"UInt64 | ::Nil"}],"visibility":"Public","body":"@project_id = project_id"}},{"html_id":"project_root:String-instance-method","name":"project_root","doc":"Project directory root for revision detection. Could be Kemal root, etc.","summary":"

Project directory root for revision detection.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":127,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L127"},"def":{"name":"project_root","return_type":"String","visibility":"Public","body":"if (value = @project_root).nil?\n @project_root = (if path = Process.executable_path\n File.dirname(path)\n else\n Dir.current\n end)\nelse\n value\nend"}},{"html_id":"project_root=(project_root:String)-instance-method","name":"project_root=","doc":"Project directory root for revision detection. Could be Kemal root, etc.","summary":"

Project directory root for revision detection.

","abstract":false,"args":[{"name":"project_root","external_name":"project_root","restriction":"String"}],"args_string":"(project_root : String)","args_html":"(project_root : String)","location":{"filename":"src/raven/configuration.cr","line_number":127,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L127"},"def":{"name":"project_root=","args":[{"name":"project_root","external_name":"project_root","restriction":"String"}],"visibility":"Public","body":"@project_root = project_root"}},{"html_id":"public_key:String|Nil-instance-method","name":"public_key","doc":"Public key for authentication with the Sentry server.\n\nNOTE: If you provide a DSN, this will be set automatically.","summary":"

Public key for authentication with the Sentry server.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":138,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L138"},"def":{"name":"public_key","return_type":"String | ::Nil","visibility":"Public","body":"@public_key"}},{"html_id":"public_key=(public_key:String|Nil)-instance-method","name":"public_key=","doc":"Public key for authentication with the Sentry server.\n\nNOTE: If you provide a DSN, this will be set automatically.","summary":"

Public key for authentication with the Sentry server.

","abstract":false,"args":[{"name":"public_key","external_name":"public_key","restriction":"String | ::Nil"}],"args_string":"(public_key : String | Nil)","args_html":"(public_key : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":138,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L138"},"def":{"name":"public_key=","args":[{"name":"public_key","external_name":"public_key","restriction":"String | ::Nil"}],"visibility":"Public","body":"@public_key = public_key"}},{"html_id":"random:Random-instance-method","name":"random","doc":"`Random` instance used when `sample_rate` is set.","summary":"

Random instance used when #sample_rate is set.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":149,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L149"},"def":{"name":"random","return_type":"Random","visibility":"Public","body":"if (value = @random).nil?\n @random = (Random::DEFAULT)\nelse\n value\nend"}},{"html_id":"random=(random:Random)-instance-method","name":"random=","doc":"`Random` instance used when `sample_rate` is set.","summary":"

Random instance used when #sample_rate is set.

","abstract":false,"args":[{"name":"random","external_name":"random","restriction":"Random"}],"args_string":"(random : Random)","args_html":"(random : Random)","location":{"filename":"src/raven/configuration.cr","line_number":149,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L149"},"def":{"name":"random=","args":[{"name":"random","external_name":"random","restriction":"Random"}],"visibility":"Public","body":"@random = random"}},{"html_id":"read_timeout:Time::Span-instance-method","name":"read_timeout","doc":"Timeout when waiting for the server to return data.","summary":"

Timeout when waiting for the server to return data.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":224,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L224"},"def":{"name":"read_timeout","return_type":"Time::Span","visibility":"Public","body":"@read_timeout"}},{"html_id":"read_timeout=(read_timeout:Time::Span)-instance-method","name":"read_timeout=","doc":"Timeout when waiting for the server to return data.","summary":"

Timeout when waiting for the server to return data.

","abstract":false,"args":[{"name":"read_timeout","external_name":"read_timeout","restriction":"Time::Span"}],"args_string":"(read_timeout : Time::Span)","args_html":"(read_timeout : Time::Span)","location":{"filename":"src/raven/configuration.cr","line_number":224,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L224"},"def":{"name":"read_timeout=","args":[{"name":"read_timeout","external_name":"read_timeout","restriction":"Time::Span"}],"visibility":"Public","body":"@read_timeout = read_timeout"}},{"html_id":"release:String|Nil-instance-method","name":"release","doc":"Release tag to be passed with every event sent to Sentry.\nWe automatically try to set this to a git SHA or Capistrano release.","summary":"

Release tag to be passed with every event sent to Sentry.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":142,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L142"},"def":{"name":"release","return_type":"String | ::Nil","visibility":"Public","body":"@release"}},{"html_id":"release=(release:String|Nil)-instance-method","name":"release=","doc":"Release tag to be passed with every event sent to Sentry.\nWe automatically try to set this to a git SHA or Capistrano release.","summary":"

Release tag to be passed with every event sent to Sentry.

","abstract":false,"args":[{"name":"release","external_name":"release","restriction":"String | ::Nil"}],"args_string":"(release : String | Nil)","args_html":"(release : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":142,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L142"},"def":{"name":"release=","args":[{"name":"release","external_name":"release","restriction":"String | ::Nil"}],"visibility":"Public","body":"@release = release"}},{"html_id":"sample_rate:Float64-instance-method","name":"sample_rate","doc":"The sampling factor to apply to events. A value of `0.0` will not send\nany events, and a value of `1.0` will send 100% of events.","summary":"

The sampling factor to apply to events.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":146,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L146"},"def":{"name":"sample_rate","return_type":"Float64","visibility":"Public","body":"@sample_rate"}},{"html_id":"sample_rate=(sample_rate:Float64)-instance-method","name":"sample_rate=","doc":"The sampling factor to apply to events. A value of `0.0` will not send\nany events, and a value of `1.0` will send 100% of events.","summary":"

The sampling factor to apply to events.

","abstract":false,"args":[{"name":"sample_rate","external_name":"sample_rate","restriction":"Float64"}],"args_string":"(sample_rate : Float64)","args_html":"(sample_rate : Float64)","location":{"filename":"src/raven/configuration.cr","line_number":146,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L146"},"def":{"name":"sample_rate=","args":[{"name":"sample_rate","external_name":"sample_rate","restriction":"Float64"}],"visibility":"Public","body":"@sample_rate = sample_rate"}},{"html_id":"sanitize_credit_cards=(sanitize_credit_cards:Bool)-instance-method","name":"sanitize_credit_cards=","doc":"Should sanitize values that look like credit card numbers?\n\nSee `Processor::SanitizeData::CREDIT_CARD_PATTERN`.","summary":"

Should sanitize values that look like credit card numbers?

","abstract":false,"args":[{"name":"sanitize_credit_cards","external_name":"sanitize_credit_cards","restriction":"::Bool"}],"args_string":"(sanitize_credit_cards : Bool)","args_html":"(sanitize_credit_cards : Bool)","location":{"filename":"src/raven/configuration.cr","line_number":154,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L154"},"def":{"name":"sanitize_credit_cards=","args":[{"name":"sanitize_credit_cards","external_name":"sanitize_credit_cards","restriction":"::Bool"}],"visibility":"Public","body":"@sanitize_credit_cards = sanitize_credit_cards"}},{"html_id":"sanitize_credit_cards?:Bool-instance-method","name":"sanitize_credit_cards?","doc":"Should sanitize values that look like credit card numbers?\n\nSee `Processor::SanitizeData::CREDIT_CARD_PATTERN`.","summary":"

Should sanitize values that look like credit card numbers?

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":154,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L154"},"def":{"name":"sanitize_credit_cards?","visibility":"Public","body":"@sanitize_credit_cards"}},{"html_id":"sanitize_data_for_request_methods:Array(String)-instance-method","name":"sanitize_data_for_request_methods","doc":"Request methods for which data should be removed.\n\nSee `DEFAULT_REQUEST_METHODS_FOR_DATA_SANITIZATION`.","summary":"

Request methods for which data should be removed.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":175,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L175"},"def":{"name":"sanitize_data_for_request_methods","return_type":"Array(String)","visibility":"Public","body":"@sanitize_data_for_request_methods"}},{"html_id":"sanitize_data_for_request_methods=(sanitize_data_for_request_methods:Array(String))-instance-method","name":"sanitize_data_for_request_methods=","doc":"Request methods for which data should be removed.\n\nSee `DEFAULT_REQUEST_METHODS_FOR_DATA_SANITIZATION`.","summary":"

Request methods for which data should be removed.

","abstract":false,"args":[{"name":"sanitize_data_for_request_methods","external_name":"sanitize_data_for_request_methods","restriction":"Array(String)"}],"args_string":"(sanitize_data_for_request_methods : Array(String))","args_html":"(sanitize_data_for_request_methods : Array(String))","location":{"filename":"src/raven/configuration.cr","line_number":175,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L175"},"def":{"name":"sanitize_data_for_request_methods=","args":[{"name":"sanitize_data_for_request_methods","external_name":"sanitize_data_for_request_methods","restriction":"Array(String)"}],"visibility":"Public","body":"@sanitize_data_for_request_methods = sanitize_data_for_request_methods"}},{"html_id":"sanitize_fields:Array(Regex|String)-instance-method","name":"sanitize_fields","doc":"By default, Sentry censors `Hash` values when their keys match things like\n`\"secret\"`, `\"password\"`, etc. Provide an `Array` of `String`s that,\nwhen matched in a hash key, will be censored and not sent to Sentry.\n\nSee `Processor::SanitizeData::DEFAULT_FIELDS`.","summary":"

By default, Sentry censors Hash values when their keys match things like "secret", "password", etc.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":161,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L161"},"def":{"name":"sanitize_fields","visibility":"Public","body":"@sanitize_fields"}},{"html_id":"sanitize_fields=(sanitize_fields:Array(Regex|String))-instance-method","name":"sanitize_fields=","doc":"By default, Sentry censors `Hash` values when their keys match things like\n`\"secret\"`, `\"password\"`, etc. Provide an `Array` of `String`s that,\nwhen matched in a hash key, will be censored and not sent to Sentry.\n\nSee `Processor::SanitizeData::DEFAULT_FIELDS`.","summary":"

By default, Sentry censors Hash values when their keys match things like "secret", "password", etc.

","abstract":false,"args":[{"name":"sanitize_fields","external_name":"sanitize_fields","restriction":"::Array(::Regex | ::String)"}],"args_string":"(sanitize_fields : Array(Regex | String))","args_html":"(sanitize_fields : Array(Regex | String))","location":{"filename":"src/raven/configuration.cr","line_number":161,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L161"},"def":{"name":"sanitize_fields=","args":[{"name":"sanitize_fields","external_name":"sanitize_fields","restriction":"::Array(::Regex | ::String)"}],"visibility":"Public","body":"@sanitize_fields = sanitize_fields"}},{"html_id":"sanitize_fields_excluded:Array(Regex|String)-instance-method","name":"sanitize_fields_excluded","doc":"If you're sure you want to override the default sanitization values, you can\nadd to them to an array of `String`s here, e.g. `%w(authorization password)`.","summary":"

If you're sure you want to override the default sanitization values, you can add to them to an array of Strings here, e.g.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":165,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L165"},"def":{"name":"sanitize_fields_excluded","visibility":"Public","body":"@sanitize_fields_excluded"}},{"html_id":"sanitize_fields_excluded=(sanitize_fields_excluded:Array(Regex|String))-instance-method","name":"sanitize_fields_excluded=","doc":"If you're sure you want to override the default sanitization values, you can\nadd to them to an array of `String`s here, e.g. `%w(authorization password)`.","summary":"

If you're sure you want to override the default sanitization values, you can add to them to an array of Strings here, e.g.

","abstract":false,"args":[{"name":"sanitize_fields_excluded","external_name":"sanitize_fields_excluded","restriction":"::Array(::Regex | ::String)"}],"args_string":"(sanitize_fields_excluded : Array(Regex | String))","args_html":"(sanitize_fields_excluded : Array(Regex | String))","location":{"filename":"src/raven/configuration.cr","line_number":165,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L165"},"def":{"name":"sanitize_fields_excluded=","args":[{"name":"sanitize_fields_excluded","external_name":"sanitize_fields_excluded","restriction":"::Array(::Regex | ::String)"}],"visibility":"Public","body":"@sanitize_fields_excluded = sanitize_fields_excluded"}},{"html_id":"sanitize_http_headers:Array(Regex|String)-instance-method","name":"sanitize_http_headers","doc":"Sanitize additional HTTP headers - only `Authorization` is removed by default.\n\nSee `Processor::HTTPHeaders::DEFAULT_FIELDS`.","summary":"

Sanitize additional HTTP headers - only Authorization is removed by default.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":170,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L170"},"def":{"name":"sanitize_http_headers","visibility":"Public","body":"@sanitize_http_headers"}},{"html_id":"sanitize_http_headers=(sanitize_http_headers:Array(Regex|String))-instance-method","name":"sanitize_http_headers=","doc":"Sanitize additional HTTP headers - only `Authorization` is removed by default.\n\nSee `Processor::HTTPHeaders::DEFAULT_FIELDS`.","summary":"

Sanitize additional HTTP headers - only Authorization is removed by default.

","abstract":false,"args":[{"name":"sanitize_http_headers","external_name":"sanitize_http_headers","restriction":"::Array(::Regex | ::String)"}],"args_string":"(sanitize_http_headers : Array(Regex | String))","args_html":"(sanitize_http_headers : Array(Regex | String))","location":{"filename":"src/raven/configuration.cr","line_number":170,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L170"},"def":{"name":"sanitize_http_headers=","args":[{"name":"sanitize_http_headers","external_name":"sanitize_http_headers","restriction":"::Array(::Regex | ::String)"}],"visibility":"Public","body":"@sanitize_http_headers = sanitize_http_headers"}},{"html_id":"scheme:String|Nil-instance-method","name":"scheme","doc":"Can be one of `\"http\"`, `\"https\"`, or `\"dummy\"`.\n\nNOTE: DSN component - set automatically if DSN provided.","summary":"

Can be one of "http", "https", or "dummy".

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":180,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L180"},"def":{"name":"scheme","return_type":"String | ::Nil","visibility":"Public","body":"@scheme"}},{"html_id":"scheme=(scheme:String|Nil)-instance-method","name":"scheme=","doc":"Can be one of `\"http\"`, `\"https\"`, or `\"dummy\"`.\n\nNOTE: DSN component - set automatically if DSN provided.","summary":"

Can be one of "http", "https", or "dummy".

","abstract":false,"args":[{"name":"scheme","external_name":"scheme","restriction":"String | ::Nil"}],"args_string":"(scheme : String | Nil)","args_html":"(scheme : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":180,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L180"},"def":{"name":"scheme=","args":[{"name":"scheme","external_name":"scheme","restriction":"String | ::Nil"}],"visibility":"Public","body":"@scheme = scheme"}},{"html_id":"secret_key:String|Nil-instance-method","name":"secret_key","doc":"Secret key for authentication with the Sentry server.\n\nDEPRECATED: This is deprecated and not necessary for newer Sentry\ninstallations any more.\n\nNOTE: If you provide a DSN, this will be set automatically.","summary":"

Secret key for authentication with the Sentry server.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":196,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L196"},"def":{"name":"secret_key","return_type":"String | ::Nil","visibility":"Public","body":"@secret_key"}},{"html_id":"secret_key=(secret_key:String|Nil)-instance-method","name":"secret_key=","doc":"Secret key for authentication with the Sentry server.\n\nDEPRECATED: This is deprecated and not necessary for newer Sentry\ninstallations any more.\n\nNOTE: If you provide a DSN, this will be set automatically.","summary":"

Secret key for authentication with the Sentry server.

","abstract":false,"args":[{"name":"secret_key","external_name":"secret_key","restriction":"String | ::Nil"}],"args_string":"(secret_key : String | Nil)","args_html":"(secret_key : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":196,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L196"},"def":{"name":"secret_key=","args":[{"name":"secret_key","external_name":"secret_key","restriction":"String | ::Nil"}],"visibility":"Public","body":"@secret_key = secret_key"}},{"html_id":"send_modules=(send_modules:Bool)-instance-method","name":"send_modules=","doc":"Include module versions in reports.","summary":"

Include module versions in reports.

","abstract":false,"args":[{"name":"send_modules","external_name":"send_modules","restriction":"::Bool"}],"args_string":"(send_modules : Bool)","args_html":"(send_modules : Bool)","location":{"filename":"src/raven/configuration.cr","line_number":199,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L199"},"def":{"name":"send_modules=","args":[{"name":"send_modules","external_name":"send_modules","restriction":"::Bool"}],"visibility":"Public","body":"@send_modules = send_modules"}},{"html_id":"send_modules?:Bool-instance-method","name":"send_modules?","doc":"Include module versions in reports.","summary":"

Include module versions in reports.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":199,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L199"},"def":{"name":"send_modules?","visibility":"Public","body":"@send_modules"}},{"html_id":"server_name:String|Nil-instance-method","name":"server_name","doc":"Hostname as an FQDN.","summary":"

Hostname as an FQDN.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":205,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L205"},"def":{"name":"server_name","return_type":"String | ::Nil","visibility":"Public","body":"@server_name"}},{"html_id":"server_name=(server_name:String|Nil)-instance-method","name":"server_name=","doc":"Hostname as an FQDN.","summary":"

Hostname as an FQDN.

","abstract":false,"args":[{"name":"server_name","external_name":"server_name","restriction":"String | ::Nil"}],"args_string":"(server_name : String | Nil)","args_html":"(server_name : String | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":205,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L205"},"def":{"name":"server_name=","args":[{"name":"server_name","external_name":"server_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@server_name = server_name"}},{"html_id":"should_capture:Proc(Exception|String,Bool)|Nil-instance-method","name":"should_capture","doc":"Provide a configurable `Proc` callback to determine event capture.\n\nNOTE: Object passed into the block will be a `String` (messages)\nor an `Exception`.\n\n```\n->(obj : Exception | String) { obj.some_attr == false }\n```","summary":"

Provide a configurable Proc callback to determine event capture.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":215,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L215"},"def":{"name":"should_capture","return_type":"Proc(Exception | String, Bool) | ::Nil","visibility":"Public","body":"@should_capture"}},{"html_id":"should_capture=(should_capture:Proc(Exception|String,Bool)|Nil)-instance-method","name":"should_capture=","doc":"Provide a configurable `Proc` callback to determine event capture.\n\nNOTE: Object passed into the block will be a `String` (messages)\nor an `Exception`.\n\n```\n->(obj : Exception | String) { obj.some_attr == false }\n```","summary":"

Provide a configurable Proc callback to determine event capture.

","abstract":false,"args":[{"name":"should_capture","external_name":"should_capture","restriction":"Proc(Exception | String, Bool) | ::Nil"}],"args_string":"(should_capture : Proc(Exception | String, Bool) | Nil)","args_html":"(should_capture : Proc(Exception | String, Bool) | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":215,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L215"},"def":{"name":"should_capture=","args":[{"name":"should_capture","external_name":"should_capture","restriction":"Proc(Exception | String, Bool) | ::Nil"}],"visibility":"Public","body":"@should_capture = should_capture"}},{"html_id":"silence_ready=(silence_ready:Bool)-instance-method","name":"silence_ready=","doc":"Silences ready message when `true`.","summary":"

Silences ready message when true.

","abstract":false,"args":[{"name":"silence_ready","external_name":"silence_ready","restriction":"::Bool"}],"args_string":"(silence_ready : Bool)","args_html":"(silence_ready : Bool)","location":{"filename":"src/raven/configuration.cr","line_number":218,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L218"},"def":{"name":"silence_ready=","args":[{"name":"silence_ready","external_name":"silence_ready","restriction":"::Bool"}],"visibility":"Public","body":"@silence_ready = silence_ready"}},{"html_id":"silence_ready?:Bool-instance-method","name":"silence_ready?","doc":"Silences ready message when `true`.","summary":"

Silences ready message when true.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":218,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L218"},"def":{"name":"silence_ready?","visibility":"Public","body":"@silence_ready"}},{"html_id":"src_path(*args,**options)-instance-method","name":"src_path","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L68"},"def":{"name":"src_path","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"backtracer.src_path(*args, **options)"}},{"html_id":"src_path(*args,**options,&)-instance-method","name":"src_path","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L68"},"def":{"name":"src_path","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"backtracer.src_path(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"src_path=(arg)-instance-method","name":"src_path=","abstract":false,"args":[{"name":"arg","external_name":"arg","restriction":""}],"args_string":"(arg)","args_html":"(arg)","location":{"filename":"src/raven/configuration.cr","line_number":68,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L68"},"def":{"name":"src_path=","args":[{"name":"arg","external_name":"arg","restriction":""}],"visibility":"Public","body":"backtracer.src_path = arg"}},{"html_id":"ssl:OpenSSL::SSL::Context::Client|Nil-instance-method","name":"ssl","doc":"SSL context passed to `Raven::Client`.","summary":"

SSL context passed to Raven::Client.

","abstract":false,"def":{"name":"ssl","return_type":"OpenSSL::SSL::Context::Client | ::Nil","visibility":"Public","body":"@ssl"}},{"html_id":"ssl=(ssl:OpenSSL::SSL::Context::Client|Nil)-instance-method","name":"ssl=","doc":"SSL context passed to `Raven::Client`.","summary":"

SSL context passed to Raven::Client.

","abstract":false,"args":[{"name":"ssl","external_name":"ssl","restriction":"OpenSSL::SSL::Context::Client | ::Nil"}],"args_string":"(ssl : OpenSSL::SSL::Context::Client | Nil)","args_html":"(ssl : OpenSSL::SSL::Context::Client | Nil)","def":{"name":"ssl=","args":[{"name":"ssl","external_name":"ssl","restriction":"OpenSSL::SSL::Context::Client | ::Nil"}],"visibility":"Public","body":"@ssl = ssl"}},{"html_id":"tags:AnyHash::JSON-instance-method","name":"tags","doc":"Default tags for events.","summary":"

Default tags for events.

","abstract":false,"def":{"name":"tags","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @tags).nil?\n @tags = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"tags=(tags:AnyHash::JSON)-instance-method","name":"tags=","doc":"Default tags for events.","summary":"

Default tags for events.

","abstract":false,"args":[{"name":"tags","external_name":"tags","restriction":"AnyHash::JSON"}],"args_string":"(tags : AnyHash::JSON)","args_html":"(tags : AnyHash::JSON)","def":{"name":"tags=","args":[{"name":"tags","external_name":"tags","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@tags = tags"}},{"html_id":"tags=(hash:Hash|NamedTuple|Nil)-instance-method","name":"tags=","doc":"Default tags for events.","summary":"

Default tags for events.

","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":221,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L221"},"def":{"name":"tags=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"tags.replace(hash)"}},{"html_id":"transport_failure_callback:Proc(Event::HashType,Nil)|Nil-instance-method","name":"transport_failure_callback","doc":"Optional `Proc`, called when the Sentry server cannot be contacted\nfor any reason.\n\n```\n->(event : Raven::Event::HashType) {\n spawn { MyJobProcessor.send_email(event) }\n}\n```","summary":"

Optional Proc, called when the Sentry server cannot be contacted for any reason.

","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":234,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L234"},"def":{"name":"transport_failure_callback","return_type":"Proc(Event::HashType, Nil) | ::Nil","visibility":"Public","body":"@transport_failure_callback"}},{"html_id":"transport_failure_callback=(transport_failure_callback:Proc(Event::HashType,Nil)|Nil)-instance-method","name":"transport_failure_callback=","doc":"Optional `Proc`, called when the Sentry server cannot be contacted\nfor any reason.\n\n```\n->(event : Raven::Event::HashType) {\n spawn { MyJobProcessor.send_email(event) }\n}\n```","summary":"

Optional Proc, called when the Sentry server cannot be contacted for any reason.

","abstract":false,"args":[{"name":"transport_failure_callback","external_name":"transport_failure_callback","restriction":"Proc(Event::HashType, Nil) | ::Nil"}],"args_string":"(transport_failure_callback : Proc(Event::HashType, Nil) | Nil)","args_html":"(transport_failure_callback : Proc(Event::HashType, Nil) | Nil)","location":{"filename":"src/raven/configuration.cr","line_number":234,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L234"},"def":{"name":"transport_failure_callback=","args":[{"name":"transport_failure_callback","external_name":"transport_failure_callback","restriction":"Proc(Event::HashType, Nil) | ::Nil"}],"visibility":"Public","body":"@transport_failure_callback = transport_failure_callback"}},{"html_id":"valid?:Bool-instance-method","name":"valid?","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":395,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L395"},"def":{"name":"valid?","return_type":"Bool","visibility":"Public","body":"validate.empty?"}},{"html_id":"validate!:ValidationError|Nil-instance-method","name":"validate!","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":390,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L390"},"def":{"name":"validate!","return_type":"ValidationError | ::Nil","visibility":"Public","body":"errors = validate\nif errors.empty?\nelse\n ValidationError.new(errors)\nend\n"}}],"types":[{"html_id":"raven/Raven/Configuration/Encoding","path":"Raven/Configuration/Encoding.html","kind":"enum","full_name":"Raven::Configuration::Encoding","name":"Encoding","abstract":false,"ancestors":[{"html_id":"raven/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"raven/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"raven/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/configuration.cr","line_number":80,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L80"}],"repository_name":"raven","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"JSON","name":"JSON","value":"0"},{"id":"GZIP","name":"GZIP","value":"1"}],"namespace":{"html_id":"raven/Raven/Configuration","kind":"class","full_name":"Raven::Configuration","name":"Configuration"},"doc":"Encoding type for event bodies.","summary":"

Encoding type for event bodies.

","instance_methods":[{"html_id":"gzip?-instance-method","name":"gzip?","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":82,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L82"},"def":{"name":"gzip?","visibility":"Public","body":"self == GZIP"}},{"html_id":"json?-instance-method","name":"json?","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":81,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L81"},"def":{"name":"json?","visibility":"Public","body":"self == JSON"}}]},{"html_id":"raven/Raven/Configuration/ValidationError","path":"Raven/Configuration/ValidationError.html","kind":"class","full_name":"Raven::Configuration::ValidationError","name":"ValidationError","abstract":false,"superclass":{"html_id":"raven/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"raven/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/configuration.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L6"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Configuration","kind":"class","full_name":"Raven::Configuration","name":"Configuration"},"constructors":[{"html_id":"new(errors:Array(String))-class-method","name":"new","abstract":false,"args":[{"name":"errors","external_name":"errors","restriction":"::Array(::String)"}],"args_string":"(errors : Array(String))","args_html":"(errors : Array(String))","location":{"filename":"src/raven/configuration.cr","line_number":9,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L9"},"def":{"name":"new","args":[{"name":"errors","external_name":"errors","restriction":"::Array(::String)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(errors)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"error_messages:String-instance-method","name":"error_messages","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":12,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L12"},"def":{"name":"error_messages","return_type":"String","visibility":"Public","body":"errors.map_with_index do |e, i|\n i > 0 ? e.downcase : e\nend.join(\", \")"}},{"html_id":"errors:Array(String)-instance-method","name":"errors","abstract":false,"location":{"filename":"src/raven/configuration.cr","line_number":7,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/configuration.cr#L7"},"def":{"name":"errors","return_type":"Array(String)","visibility":"Public","body":"@errors"}}]}]},{"html_id":"raven/Raven/Context","path":"Raven/Context.html","kind":"class","full_name":"Raven::Context","name":"Context","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/context.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/context.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"class_methods":[{"html_id":"clear!-class-method","name":"clear!","abstract":false,"location":{"filename":"src/raven/context.cr","line_number":12,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/context.cr#L12"},"def":{"name":"clear!","visibility":"Public","body":"@@mutex.synchronize do\n @@current = nil\nend"}},{"html_id":"current-class-method","name":"current","abstract":false,"location":{"filename":"src/raven/context.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/context.cr#L6"},"def":{"name":"current","visibility":"Public","body":"@@mutex.synchronize do\n @@current || (@@current = new)\nend"}},{"html_id":"os_context:AnyHash::JSON-class-method","name":"os_context","abstract":false,"location":{"filename":"src/raven/context.cr","line_number":18,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/context.cr#L18"},"def":{"name":"os_context","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @@os_context).nil?\n @@os_context = ({name: Raven.sys_command(\"uname -s\"), version: Raven.sys_command(\"uname -v\"), build: Raven.sys_command(\"uname -r\"), kernel_version: (Raven.sys_command(\"uname -a\")) || (Raven.sys_command(\"ver\"))}.to_any_json)\nelse\n value\nend"}},{"html_id":"runtime_context:AnyHash::JSON-class-method","name":"runtime_context","abstract":false,"location":{"filename":"src/raven/context.cr","line_number":27,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/context.cr#L27"},"def":{"name":"runtime_context","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @@runtime_context).nil?\n @@runtime_context = (begin\n version_pattern = /^(.+?) (\\d+[^\\n]+)\\n+LLVM: (\\d+[^\\n]+)\\nDefault target: (.+?)$/m\n if match = Crystal::DESCRIPTION.match(version_pattern)\n else\n raise(Raven::Error.new(\"Couldn't parse runtime version\"))\n end\n _, name, version, _llvm_version, _target = match\n {name: name, version: version}.to_any_json\n end)\nelse\n value\nend"}}],"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/context.cr","line_number":43,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/context.cr#L43"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"contexts:AnyHash::JSON-instance-method","name":"contexts","abstract":false,"def":{"name":"contexts","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @contexts).nil?\n @contexts = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"contexts=(contexts:AnyHash::JSON)-instance-method","name":"contexts=","abstract":false,"args":[{"name":"contexts","external_name":"contexts","restriction":"AnyHash::JSON"}],"args_string":"(contexts : AnyHash::JSON)","args_html":"(contexts : AnyHash::JSON)","def":{"name":"contexts=","args":[{"name":"contexts","external_name":"contexts","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@contexts = contexts"}},{"html_id":"contexts=(hash:Hash|NamedTuple|Nil)-instance-method","name":"contexts=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/context.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/context.cr#L41"},"def":{"name":"contexts=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"contexts.replace(hash)"}},{"html_id":"extra:AnyHash::JSON-instance-method","name":"extra","abstract":false,"def":{"name":"extra","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @extra).nil?\n @extra = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"extra=(extra:AnyHash::JSON)-instance-method","name":"extra=","abstract":false,"args":[{"name":"extra","external_name":"extra","restriction":"AnyHash::JSON"}],"args_string":"(extra : AnyHash::JSON)","args_html":"(extra : AnyHash::JSON)","def":{"name":"extra=","args":[{"name":"extra","external_name":"extra","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@extra = extra"}},{"html_id":"extra=(hash:Hash|NamedTuple|Nil)-instance-method","name":"extra=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/context.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/context.cr#L41"},"def":{"name":"extra=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"extra.replace(hash)"}},{"html_id":"tags:AnyHash::JSON-instance-method","name":"tags","abstract":false,"def":{"name":"tags","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @tags).nil?\n @tags = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"tags=(tags:AnyHash::JSON)-instance-method","name":"tags=","abstract":false,"args":[{"name":"tags","external_name":"tags","restriction":"AnyHash::JSON"}],"args_string":"(tags : AnyHash::JSON)","args_html":"(tags : AnyHash::JSON)","def":{"name":"tags=","args":[{"name":"tags","external_name":"tags","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@tags = tags"}},{"html_id":"tags=(hash:Hash|NamedTuple|Nil)-instance-method","name":"tags=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/context.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/context.cr#L41"},"def":{"name":"tags=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"tags.replace(hash)"}},{"html_id":"user:AnyHash::JSON-instance-method","name":"user","abstract":false,"def":{"name":"user","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @user).nil?\n @user = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"user=(user:AnyHash::JSON)-instance-method","name":"user=","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"AnyHash::JSON"}],"args_string":"(user : AnyHash::JSON)","args_html":"(user : AnyHash::JSON)","def":{"name":"user=","args":[{"name":"user","external_name":"user","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@user = user"}},{"html_id":"user=(hash:Hash|NamedTuple|Nil)-instance-method","name":"user=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/context.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/context.cr#L41"},"def":{"name":"user=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"user.replace(hash)"}}]},{"html_id":"raven/Raven/Delegators","path":"Raven/Delegators.html","kind":"module","full_name":"Raven::Delegators","name":"Delegators","abstract":false,"locations":[{"filename":"src/raven.cr","line_number":10,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L10"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"doc":"`Raven.instance` delegators.","summary":"

Raven.instance delegators.

","instance_methods":[{"html_id":"annotate_exception(*args,**options)-instance-method","name":"annotate_exception","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"annotate_exception","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.annotate_exception(*args, **options)"}},{"html_id":"annotate_exception(*args,**options,&)-instance-method","name":"annotate_exception","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"annotate_exception","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.annotate_exception(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"breadcrumbs(*args,**options)-instance-method","name":"breadcrumbs","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"breadcrumbs","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.breadcrumbs(*args, **options)"}},{"html_id":"breadcrumbs(*args,**options,&)-instance-method","name":"breadcrumbs","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"breadcrumbs","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.breadcrumbs(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"capture(*args,**options)-instance-method","name":"capture","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"capture","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.capture(*args, **options)"}},{"html_id":"capture(*args,**options,&)-instance-method","name":"capture","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"capture","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.capture(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"captured_exception?(*args,**options)-instance-method","name":"captured_exception?","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"captured_exception?","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.captured_exception?(*args, **options)"}},{"html_id":"captured_exception?(*args,**options,&)-instance-method","name":"captured_exception?","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"captured_exception?","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.captured_exception?(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"client(*args,**options)-instance-method","name":"client","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"client","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.client(*args, **options)"}},{"html_id":"client(*args,**options,&)-instance-method","name":"client","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"client","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.client(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"configuration(*args,**options)-instance-method","name":"configuration","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"configuration","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.configuration(*args, **options)"}},{"html_id":"configuration(*args,**options,&)-instance-method","name":"configuration","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"configuration","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.configuration(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"configure(*args,**options)-instance-method","name":"configure","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"configure","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.configure(*args, **options)"}},{"html_id":"configure(*args,**options,&)-instance-method","name":"configure","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"configure","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.configure(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"context(*args,**options)-instance-method","name":"context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.context(*args, **options)"}},{"html_id":"context(*args,**options,&)-instance-method","name":"context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.context(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"extra_context(*args,**options)-instance-method","name":"extra_context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"extra_context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.extra_context(*args, **options)"}},{"html_id":"extra_context(*args,**options,&)-instance-method","name":"extra_context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"extra_context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.extra_context(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"last_event_id(*args,**options)-instance-method","name":"last_event_id","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"last_event_id","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.last_event_id(*args, **options)"}},{"html_id":"last_event_id(*args,**options,&)-instance-method","name":"last_event_id","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"last_event_id","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.last_event_id(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"report_status(*args,**options)-instance-method","name":"report_status","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"report_status","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.report_status(*args, **options)"}},{"html_id":"report_status(*args,**options,&)-instance-method","name":"report_status","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"report_status","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.report_status(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"send_event(*args,**options)-instance-method","name":"send_event","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"send_event","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.send_event(*args, **options)"}},{"html_id":"send_event(*args,**options,&)-instance-method","name":"send_event","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"send_event","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.send_event(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"send_feedback(*args,**options)-instance-method","name":"send_feedback","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"send_feedback","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.send_feedback(*args, **options)"}},{"html_id":"send_feedback(*args,**options,&)-instance-method","name":"send_feedback","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"send_feedback","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.send_feedback(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"tags_context(*args,**options)-instance-method","name":"tags_context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"tags_context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.tags_context(*args, **options)"}},{"html_id":"tags_context(*args,**options,&)-instance-method","name":"tags_context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"tags_context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.tags_context(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"user_context(*args,**options)-instance-method","name":"user_context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"user_context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"instance.user_context(*args, **options)"}},{"html_id":"user_context(*args,**options,&)-instance-method","name":"user_context","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven.cr#L11"},"def":{"name":"user_context","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"instance.user_context(*args, **options) do |*yield_args|\n yield *yield_args\nend"}}]},{"html_id":"raven/Raven/Error","path":"Raven/Error.html","kind":"class","full_name":"Raven::Error","name":"Error","abstract":false,"superclass":{"html_id":"raven/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"raven/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/error.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/error.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"raven/Raven/Transport/HTTP/Error","kind":"class","full_name":"Raven::Transport::HTTP::Error","name":"Error"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"}},{"html_id":"raven/Raven/Event","path":"Raven/Event.html","kind":"class","full_name":"Raven::Event","name":"Event","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/event.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L4"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"MAX_MESSAGE_SIZE_IN_BYTES","name":"MAX_MESSAGE_SIZE_IN_BYTES","value":"1024 * 8","doc":"See Sentry server default limits at\nhttps://github.com/getsentry/sentry/blob/master/src/sentry/conf/server.py","summary":"

See Sentry server default limits at https://github.com/getsentry/sentry/blob/master/src/sentry/conf/server.py

"},{"id":"PLATFORM","name":"PLATFORM","value":"\"crystal\"","doc":"A string representing the platform the SDK is submitting from.\n\nThis will be used by the Sentry interface to customize\nvarious components in the interface.","summary":"

A string representing the platform the SDK is submitting from.

"},{"id":"SDK","name":"SDK","value":"{name: \"raven.cr\", version: Raven::VERSION}","doc":"Information about the SDK sending the event.","summary":"

Information about the SDK sending the event.

"}],"included_modules":[{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"class_methods":[{"html_id":"from(ex:Exception,**options)-class-method","name":"from","abstract":false,"args":[{"name":"ex","external_name":"ex","restriction":"Exception"}],"args_string":"(ex : Exception, **options)","args_html":"(ex : Exception, **options)","location":{"filename":"src/raven/event.cr","line_number":89,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L89"},"def":{"name":"from","args":[{"name":"ex","external_name":"ex","restriction":"Exception"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"{% for key in [:user, :tags, :extra] of ::Symbol %}\n ex_context = ex.@__raven_{{ key.id }}\n if options_context = options[{{ key }}]?\n options = options.merge({\n {{ key.id }}: ex_context.try(&.merge(options_context)) || options_context\n })\n else\n options = options.merge({\n {{ key.id }}: ex_context\n })\n end\n {% end %}\n(new(**options)).tap do |event|\n ex.callstack || (ex.callstack = Exception::CallStack.new)\n add_exception_interface(event, ex)\nend\n"}},{"html_id":"from(message:String,**options)-class-method","name":"from","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"String"}],"args_string":"(message : String, **options)","args_html":"(message : String, **options)","location":{"filename":"src/raven/event.cr","line_number":109,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L109"},"def":{"name":"from","args":[{"name":"message","external_name":"message","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"(new(**options)).tap do |event|\n event.message = {message, options[:message_params]?}\nend"}}],"constructors":[{"html_id":"new(**options)-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":159,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L159"},"def":{"name":"new","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**options)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"backtrace=(backtrace)-instance-method","name":"backtrace=","abstract":false,"args":[{"name":"backtrace","external_name":"backtrace","restriction":""}],"args_string":"(backtrace)","args_html":"(backtrace)","location":{"filename":"src/raven/event.cr","line_number":217,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L217"},"def":{"name":"backtrace=","args":[{"name":"backtrace","external_name":"backtrace","restriction":""}],"visibility":"Public","body":"backtrace = Backtracer.parse(backtrace, configuration: configuration.backtracer)\n(interface(:stacktrace, backtrace: backtrace)).tap do |stacktrace|\n self.culprit || (self.culprit = (stacktrace.as(Interface::Stacktrace)).culprit)\nend\n"}},{"html_id":"breadcrumbs:BreadcrumbBuffer-instance-method","name":"breadcrumbs","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":85,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L85"},"def":{"name":"breadcrumbs","return_type":"BreadcrumbBuffer","visibility":"Public","body":"@breadcrumbs"}},{"html_id":"breadcrumbs=(breadcrumbs:BreadcrumbBuffer)-instance-method","name":"breadcrumbs=","abstract":false,"args":[{"name":"breadcrumbs","external_name":"breadcrumbs","restriction":"BreadcrumbBuffer"}],"args_string":"(breadcrumbs : BreadcrumbBuffer)","args_html":"(breadcrumbs : BreadcrumbBuffer)","location":{"filename":"src/raven/event.cr","line_number":85,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L85"},"def":{"name":"breadcrumbs=","args":[{"name":"breadcrumbs","external_name":"breadcrumbs","restriction":"BreadcrumbBuffer"}],"visibility":"Public","body":"@breadcrumbs = breadcrumbs"}},{"html_id":"configuration:Configuration-instance-method","name":"configuration","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":84,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L84"},"def":{"name":"configuration","return_type":"Configuration","visibility":"Public","body":"@configuration"}},{"html_id":"configuration=(configuration:Configuration)-instance-method","name":"configuration=","abstract":false,"args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"args_string":"(configuration : Configuration)","args_html":"(configuration : Configuration)","location":{"filename":"src/raven/event.cr","line_number":84,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L84"},"def":{"name":"configuration=","args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"visibility":"Public","body":"@configuration = configuration"}},{"html_id":"context:Context-instance-method","name":"context","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":83,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L83"},"def":{"name":"context","return_type":"Context","visibility":"Public","body":"@context"}},{"html_id":"context=(context:Context)-instance-method","name":"context=","abstract":false,"args":[{"name":"context","external_name":"context","restriction":"Context"}],"args_string":"(context : Context)","args_html":"(context : Context)","location":{"filename":"src/raven/event.cr","line_number":83,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L83"},"def":{"name":"context=","args":[{"name":"context","external_name":"context","restriction":"Context"}],"visibility":"Public","body":"@context = context"}},{"html_id":"contexts:AnyHash::JSON-instance-method","name":"contexts","abstract":false,"def":{"name":"contexts","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @contexts).nil?\n @contexts = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"contexts=(contexts:AnyHash::JSON)-instance-method","name":"contexts=","abstract":false,"args":[{"name":"contexts","external_name":"contexts","restriction":"AnyHash::JSON"}],"args_string":"(contexts : AnyHash::JSON)","args_html":"(contexts : AnyHash::JSON)","def":{"name":"contexts=","args":[{"name":"contexts","external_name":"contexts","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@contexts = contexts"}},{"html_id":"contexts=(hash:Hash|NamedTuple|Nil)-instance-method","name":"contexts=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/event.cr","line_number":87,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L87"},"def":{"name":"contexts=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"contexts.replace(hash)"}},{"html_id":"culprit:String|Nil-instance-method","name":"culprit","doc":"The name of the transaction (or culprit) which caused this exception.","summary":"

The name of the transaction (or culprit) which caused this exception.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":55,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L55"},"def":{"name":"culprit","return_type":"String | ::Nil","visibility":"Public","body":"@culprit"}},{"html_id":"culprit=(culprit:String|Nil)-instance-method","name":"culprit=","doc":"The name of the transaction (or culprit) which caused this exception.","summary":"

The name of the transaction (or culprit) which caused this exception.

","abstract":false,"args":[{"name":"culprit","external_name":"culprit","restriction":"String | ::Nil"}],"args_string":"(culprit : String | Nil)","args_html":"(culprit : String | Nil)","location":{"filename":"src/raven/event.cr","line_number":55,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L55"},"def":{"name":"culprit=","args":[{"name":"culprit","external_name":"culprit","restriction":"String | ::Nil"}],"visibility":"Public","body":"@culprit = culprit"}},{"html_id":"environment:String|Nil-instance-method","name":"environment","doc":"The environment name, such as `production` or `staging`.","summary":"

The environment name, such as production or staging.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":78,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L78"},"def":{"name":"environment","return_type":"String | ::Nil","visibility":"Public","body":"@environment"}},{"html_id":"environment=(environment:String|Nil)-instance-method","name":"environment=","doc":"The environment name, such as `production` or `staging`.","summary":"

The environment name, such as production or staging.

","abstract":false,"args":[{"name":"environment","external_name":"environment","restriction":"String | ::Nil"}],"args_string":"(environment : String | Nil)","args_html":"(environment : String | Nil)","location":{"filename":"src/raven/event.cr","line_number":78,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L78"},"def":{"name":"environment=","args":[{"name":"environment","external_name":"environment","restriction":"String | ::Nil"}],"visibility":"Public","body":"@environment = environment"}},{"html_id":"extra:AnyHash::JSON-instance-method","name":"extra","abstract":false,"def":{"name":"extra","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @extra).nil?\n @extra = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"extra=(extra:AnyHash::JSON)-instance-method","name":"extra=","abstract":false,"args":[{"name":"extra","external_name":"extra","restriction":"AnyHash::JSON"}],"args_string":"(extra : AnyHash::JSON)","args_html":"(extra : AnyHash::JSON)","def":{"name":"extra=","args":[{"name":"extra","external_name":"extra","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@extra = extra"}},{"html_id":"extra=(hash:Hash|NamedTuple|Nil)-instance-method","name":"extra=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/event.cr","line_number":87,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L87"},"def":{"name":"extra=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"extra.replace(hash)"}},{"html_id":"fingerprint:Array(String)-instance-method","name":"fingerprint","doc":"An array of strings used to dictate the deduplication of this event.\n\nNOTE: A value of `{{ default }}` will be replaced with the built-in behavior,\nthus allowing you to extend it, or completely replace it.","summary":"

An array of strings used to dictate the deduplication of this event.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":75,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L75"},"def":{"name":"fingerprint","return_type":"Array(String)","visibility":"Public","body":"if (value = @fingerprint).nil?\n @fingerprint = ([] of String)\nelse\n value\nend"}},{"html_id":"fingerprint=(fingerprint:Array(String))-instance-method","name":"fingerprint=","doc":"An array of strings used to dictate the deduplication of this event.\n\nNOTE: A value of `{{ default }}` will be replaced with the built-in behavior,\nthus allowing you to extend it, or completely replace it.","summary":"

An array of strings used to dictate the deduplication of this event.

","abstract":false,"args":[{"name":"fingerprint","external_name":"fingerprint","restriction":"Array(String)"}],"args_string":"(fingerprint : Array(String))","args_html":"(fingerprint : Array(String))","location":{"filename":"src/raven/event.cr","line_number":75,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L75"},"def":{"name":"fingerprint=","args":[{"name":"fingerprint","external_name":"fingerprint","restriction":"Array(String)"}],"visibility":"Public","body":"@fingerprint = fingerprint"}},{"html_id":"id:String-instance-method","name":"id","doc":"Hexadecimal string representing a uuid4 value.\n\nNOTE: The length is exactly 32 characters (no dashes!)","summary":"

Hexadecimal string representing a uuid4 value.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":38,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L38"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","doc":"Hexadecimal string representing a uuid4 value.\n\nNOTE: The length is exactly 32 characters (no dashes!)","summary":"

Hexadecimal string representing a uuid4 value.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/raven/event.cr","line_number":38,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L38"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"interface(name:Symbol,options:NamedTuple)-instance-method","name":"interface","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"},{"name":"options","external_name":"options","restriction":"NamedTuple"}],"args_string":"(name : Symbol, options : NamedTuple)","args_html":"(name : Symbol, options : NamedTuple)","location":{"filename":"src/raven/event.cr","line_number":188,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L188"},"def":{"name":"interface","args":[{"name":"name","external_name":"name","restriction":"Symbol"},{"name":"options","external_name":"options","restriction":"NamedTuple"}],"visibility":"Public","body":"interface(name, **options)"}},{"html_id":"interface(name:Symbol)-instance-method","name":"interface","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"args_string":"(name : Symbol)","args_html":"(name : Symbol)","location":{"filename":"src/raven/event.cr","line_number":178,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L178"},"def":{"name":"interface","args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"visibility":"Public","body":"interface = Interface[name]\n@interfaces[interface.sentry_alias]?\n"}},{"html_id":"interface(name:Symbol,**options:Object)-instance-method","name":"interface","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"args_string":"(name : Symbol, **options : Object)","args_html":"(name : Symbol, **options : Object)","location":{"filename":"src/raven/event.cr","line_number":183,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L183"},"def":{"name":"interface","args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"double_splat":{"name":"options","external_name":"options","restriction":"Object"},"visibility":"Public","body":"interface = Interface[name]\n@interfaces[interface.sentry_alias] = interface.new(**options)\n"}},{"html_id":"level:Severity|Nil-instance-method","name":"level","doc":"The record severity. Defaults to `:error`.","summary":"

The record severity.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":44,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L44"},"def":{"name":"level","return_type":"Severity | ::Nil","visibility":"Public","body":"@level"}},{"html_id":"level=(level:Severity|Nil)-instance-method","name":"level=","doc":"The record severity. Defaults to `:error`.","summary":"

The record severity.

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Severity | ::Nil"}],"args_string":"(level : Severity | Nil)","args_html":"(level : Severity | Nil)","location":{"filename":"src/raven/event.cr","line_number":44,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L44"},"def":{"name":"level=","args":[{"name":"level","external_name":"level","restriction":"Severity | ::Nil"}],"visibility":"Public","body":"@level = level"}},{"html_id":"level=(severity:Symbol)-instance-method","name":"level=","doc":"The record severity. Defaults to `:error`.","summary":"

The record severity.

","abstract":false,"args":[{"name":"severity","external_name":"severity","restriction":"Symbol"}],"args_string":"(severity : Symbol)","args_html":"(severity : Symbol)","location":{"filename":"src/raven/event.cr","line_number":47,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L47"},"def":{"name":"level=","args":[{"name":"severity","external_name":"severity","restriction":"Symbol"}],"visibility":"Public","body":"@level = Severity.parse(severity.to_s)"}},{"html_id":"list_shard_specs-instance-method","name":"list_shard_specs","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":226,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L226"},"def":{"name":"list_shard_specs","visibility":"Public","body":"shards_list = Raven.sys_command_compiled(\"shards list\")\nif shards_list\nelse\n return\nend\ndeps = shards_list.scan(/\\* (?.+?) \\((?.+?)\\)/m)\nif deps.empty?\nelse\n deps.to_h do |match|\n {match[\"name\"], match[\"version\"]}\n end\nend\n"}},{"html_id":"logger:String|Nil-instance-method","name":"logger","doc":"The name of the logger which created the record.","summary":"

The name of the logger which created the record.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":52,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L52"},"def":{"name":"logger","return_type":"String | ::Nil","visibility":"Public","body":"@logger"}},{"html_id":"logger=(logger:String|Nil)-instance-method","name":"logger=","doc":"The name of the logger which created the record.","summary":"

The name of the logger which created the record.

","abstract":false,"args":[{"name":"logger","external_name":"logger","restriction":"String | ::Nil"}],"args_string":"(logger : String | Nil)","args_html":"(logger : String | Nil)","location":{"filename":"src/raven/event.cr","line_number":52,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L52"},"def":{"name":"logger=","args":[{"name":"logger","external_name":"logger","restriction":"String | ::Nil"}],"visibility":"Public","body":"@logger = logger"}},{"html_id":"message-instance-method","name":"message","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":192,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L192"},"def":{"name":"message","visibility":"Public","body":"(interface(:message)).try do |__arg1|\n (__arg1.as(Interface::Message)).unformatted_message\nend"}},{"html_id":"message=(message:String)-instance-method","name":"message=","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"String"}],"args_string":"(message : String)","args_html":"(message : String)","location":{"filename":"src/raven/event.cr","line_number":196,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L196"},"def":{"name":"message=","args":[{"name":"message","external_name":"message","restriction":"String"}],"visibility":"Public","body":"interface(:message, message: trim_message(message))"}},{"html_id":"message=(message_with_params:Enumerable|Indexable)-instance-method","name":"message=","abstract":false,"args":[{"name":"message_with_params","external_name":"message_with_params","restriction":"Enumerable | Indexable"}],"args_string":"(message_with_params : Enumerable | Indexable)","args_html":"(message_with_params : Enumerable | Indexable)","location":{"filename":"src/raven/event.cr","line_number":200,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L200"},"def":{"name":"message=","args":[{"name":"message_with_params","external_name":"message_with_params","restriction":"Enumerable | Indexable"}],"visibility":"Public","body":"message, params = message_with_params\noptions = {message: trim_message(message), params: params}\ninterface(:message, **options)\n"}},{"html_id":"modules:Hash(String,String)|Nil-instance-method","name":"modules","doc":"A list of relevant modules and their versions.","summary":"

A list of relevant modules and their versions.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":81,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L81"},"def":{"name":"modules","return_type":"Hash(String, String) | ::Nil","visibility":"Public","body":"@modules"}},{"html_id":"modules=(modules:Hash(String,String)|Nil)-instance-method","name":"modules=","doc":"A list of relevant modules and their versions.","summary":"

A list of relevant modules and their versions.

","abstract":false,"args":[{"name":"modules","external_name":"modules","restriction":"Hash(String, String) | ::Nil"}],"args_string":"(modules : Hash(String, String) | Nil)","args_html":"(modules : Hash(String, String) | Nil)","location":{"filename":"src/raven/event.cr","line_number":81,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L81"},"def":{"name":"modules=","args":[{"name":"modules","external_name":"modules","restriction":"Hash(String, String) | ::Nil"}],"visibility":"Public","body":"@modules = modules"}},{"html_id":"release:String|Nil-instance-method","name":"release","doc":"The release version of the application.\n\nNOTE: This value will generally be something along the lines of\nthe git SHA for the given project.","summary":"

The release version of the application.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":69,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L69"},"def":{"name":"release","return_type":"String | ::Nil","visibility":"Public","body":"@release"}},{"html_id":"release=(release:String|Nil)-instance-method","name":"release=","doc":"The release version of the application.\n\nNOTE: This value will generally be something along the lines of\nthe git SHA for the given project.","summary":"

The release version of the application.

","abstract":false,"args":[{"name":"release","external_name":"release","restriction":"String | ::Nil"}],"args_string":"(release : String | Nil)","args_html":"(release : String | Nil)","location":{"filename":"src/raven/event.cr","line_number":69,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L69"},"def":{"name":"release=","args":[{"name":"release","external_name":"release","restriction":"String | ::Nil"}],"visibility":"Public","body":"@release = release"}},{"html_id":"server_name:String|Nil-instance-method","name":"server_name","doc":"Identifies the host SDK from which the event was recorded.","summary":"

Identifies the host SDK from which the event was recorded.

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":63,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L63"},"def":{"name":"server_name","return_type":"String | ::Nil","visibility":"Public","body":"@server_name"}},{"html_id":"server_name=(server_name:String|Nil)-instance-method","name":"server_name=","doc":"Identifies the host SDK from which the event was recorded.","summary":"

Identifies the host SDK from which the event was recorded.

","abstract":false,"args":[{"name":"server_name","external_name":"server_name","restriction":"String | ::Nil"}],"args_string":"(server_name : String | Nil)","args_html":"(server_name : String | Nil)","location":{"filename":"src/raven/event.cr","line_number":63,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L63"},"def":{"name":"server_name=","args":[{"name":"server_name","external_name":"server_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@server_name = server_name"}},{"html_id":"tags:AnyHash::JSON-instance-method","name":"tags","abstract":false,"def":{"name":"tags","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @tags).nil?\n @tags = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"tags=(tags:AnyHash::JSON)-instance-method","name":"tags=","abstract":false,"args":[{"name":"tags","external_name":"tags","restriction":"AnyHash::JSON"}],"args_string":"(tags : AnyHash::JSON)","args_html":"(tags : AnyHash::JSON)","def":{"name":"tags=","args":[{"name":"tags","external_name":"tags","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@tags = tags"}},{"html_id":"tags=(hash:Hash|NamedTuple|Nil)-instance-method","name":"tags=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/event.cr","line_number":87,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L87"},"def":{"name":"tags=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"tags.replace(hash)"}},{"html_id":"timestamp:Time-instance-method","name":"timestamp","doc":"Indicates when the logging record was created (in the Sentry SDK).","summary":"

Indicates when the logging record was created (in the Sentry SDK).

","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L41"},"def":{"name":"timestamp","return_type":"Time","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Time)-instance-method","name":"timestamp=","doc":"Indicates when the logging record was created (in the Sentry SDK).","summary":"

Indicates when the logging record was created (in the Sentry SDK).

","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"args_string":"(timestamp : Time)","args_html":"(timestamp : Time)","location":{"filename":"src/raven/event.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L41"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"visibility":"Public","body":"@timestamp = timestamp"}},{"html_id":"to_hash:HashType-instance-method","name":"to_hash","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":235,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L235"},"def":{"name":"to_hash","return_type":"HashType","visibility":"Public","body":"data = {event_id: @id, timestamp: @timestamp.to_utc.to_s(\"%FT%X\"), level: @level.try() do |__arg2|\n __arg2.to_s.downcase\nend, platform: PLATFORM, sdk: SDK, logger: @logger, culprit: @culprit, server_name: @server_name, release: @release, environment: @environment, fingerprint: @fingerprint, modules: @modules, extra: @extra, tags: @tags, user: @user, contexts: @contexts, breadcrumbs: @breadcrumbs.empty? ? nil : @breadcrumbs.to_hash, message: message}.to_any_json\n@interfaces.each do |name, interface|\n data[name] = interface.to_hash\nend\ndata.to_h\n"}},{"html_id":"to_json(*args,**options)-instance-method","name":"to_json","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven/event.cr","line_number":264,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L264"},"def":{"name":"to_json","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"to_hash.to_json(*args, **options)"}},{"html_id":"to_json(*args,**options,&)-instance-method","name":"to_json","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven/event.cr","line_number":264,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L264"},"def":{"name":"to_json","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"to_hash.to_json(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"user:AnyHash::JSON-instance-method","name":"user","abstract":false,"def":{"name":"user","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @user).nil?\n @user = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"user=(user:AnyHash::JSON)-instance-method","name":"user=","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"AnyHash::JSON"}],"args_string":"(user : AnyHash::JSON)","args_html":"(user : AnyHash::JSON)","def":{"name":"user=","args":[{"name":"user","external_name":"user","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@user = user"}},{"html_id":"user=(hash:Hash|NamedTuple|Nil)-instance-method","name":"user=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/event.cr","line_number":87,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L87"},"def":{"name":"user=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"user.replace(hash)"}}],"types":[{"html_id":"raven/Raven/Event/HashType","path":"Raven/Event/HashType.html","kind":"alias","full_name":"Raven::Event::HashType","name":"HashType","abstract":false,"locations":[{"filename":"src/raven/event.cr","line_number":33,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L33"}],"repository_name":"raven","program":false,"enum":false,"alias":true,"aliased":"Hash(String | Symbol, AnyHash::JSONTypes::Value)","aliased_html":"Hash(String | Symbol, AnyHash::JSONTypes::Value)","const":false,"namespace":{"html_id":"raven/Raven/Event","kind":"class","full_name":"Raven::Event","name":"Event"},"doc":"`Hash` type returned by `#to_hash`.","summary":"

Hash type returned by #to_hash.

"},{"html_id":"raven/Raven/Event/Hint","path":"Raven/Event/Hint.html","kind":"struct","full_name":"Raven::Event::Hint","name":"Hint","abstract":false,"superclass":{"html_id":"raven/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"raven/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"raven/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/event.cr","line_number":17,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L17"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Event","kind":"class","full_name":"Raven::Event","name":"Event"},"doc":"Structure passed to `Configuration#before_send` callback.","summary":"

Structure passed to Configuration#before_send callback.

","constructors":[{"html_id":"new(exception:Exception|Nil,message:String|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"exception","external_name":"exception","restriction":"Exception | ::Nil"},{"name":"message","external_name":"message","restriction":"String | ::Nil"}],"args_string":"(exception : Exception | Nil, message : String | Nil)","args_html":"(exception : Exception | Nil, message : String | Nil)","location":{"filename":"src/raven/event.cr","line_number":17,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L17"},"def":{"name":"new","args":[{"name":"exception","external_name":"exception","restriction":"Exception | ::Nil"},{"name":"message","external_name":"message","restriction":"String | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(exception, message)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":17,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L17"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@exception.clone, @message.clone)"}},{"html_id":"copy_with(exception_exception=@exception,message_message=@message)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_exception","default_value":"@exception","external_name":"exception","restriction":""},{"name":"_message","default_value":"@message","external_name":"message","restriction":""}],"args_string":"(exception _exception = @exception, message _message = @message)","args_html":"(exception _exception = @exception, message _message = @message)","location":{"filename":"src/raven/event.cr","line_number":17,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L17"},"def":{"name":"copy_with","args":[{"name":"_exception","default_value":"@exception","external_name":"exception","restriction":""},{"name":"_message","default_value":"@message","external_name":"message","restriction":""}],"visibility":"Public","body":"self.class.new(_exception, _message)"}},{"html_id":"exception:Exception|Nil-instance-method","name":"exception","abstract":false,"def":{"name":"exception","return_type":"Exception | ::Nil","visibility":"Public","body":"@exception"}},{"html_id":"message:String|Nil-instance-method","name":"message","abstract":false,"def":{"name":"message","return_type":"String | ::Nil","visibility":"Public","body":"@message"}}]},{"html_id":"raven/Raven/Event/Severity","path":"Raven/Event/Severity.html","kind":"enum","full_name":"Raven::Event::Severity","name":"Severity","abstract":false,"ancestors":[{"html_id":"raven/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"raven/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"raven/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/event.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L8"}],"repository_name":"raven","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"DEBUG","name":"DEBUG","value":"0"},{"id":"INFO","name":"INFO","value":"1"},{"id":"WARNING","name":"WARNING","value":"2"},{"id":"ERROR","name":"ERROR","value":"3"},{"id":"FATAL","name":"FATAL","value":"4"}],"namespace":{"html_id":"raven/Raven/Event","kind":"class","full_name":"Raven::Event","name":"Event"},"doc":"Event severity.","summary":"

Event severity.

","instance_methods":[{"html_id":"debug?-instance-method","name":"debug?","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":9,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L9"},"def":{"name":"debug?","visibility":"Public","body":"self == DEBUG"}},{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":12,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L12"},"def":{"name":"error?","visibility":"Public","body":"self == ERROR"}},{"html_id":"fatal?-instance-method","name":"fatal?","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":13,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L13"},"def":{"name":"fatal?","visibility":"Public","body":"self == FATAL"}},{"html_id":"info?-instance-method","name":"info?","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":10,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L10"},"def":{"name":"info?","visibility":"Public","body":"self == INFO"}},{"html_id":"warning?-instance-method","name":"warning?","abstract":false,"location":{"filename":"src/raven/event.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/event.cr#L11"},"def":{"name":"warning?","visibility":"Public","body":"self == WARNING"}}]}]},{"html_id":"raven/Raven/Instance","path":"Raven/Instance.html","kind":"class","full_name":"Raven::Instance","name":"Instance","abstract":false,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/instance.cr","line_number":24,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L24"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"doc":"A copy of Raven's base module class methods, minus some of the integration\nand global hooks since it's meant to be used explicitly. Useful for\nsending errors to multiple sentry projects in a large application.\n\n```\nclass Foo\n def initialize\n @other_raven = Raven::Instance.new\n @other_raven.configure do |config|\n config.dsn = \"http://...\"\n end\n end\n\n def foo\n # ...\n\n\n rescue ex\n @other_raven.capture(ex)\n end\nend\n```","summary":"

A copy of Raven's base module class methods, minus some of the integration and global hooks since it's meant to be used explicitly.

","constructors":[{"html_id":"new(context=nil,config:Nil|Raven::Configuration=nil)-class-method","name":"new","abstract":false,"args":[{"name":"context","default_value":"nil","external_name":"context","restriction":""},{"name":"config","default_value":"nil","external_name":"config","restriction":"::Nil | ::Raven::Configuration"}],"args_string":"(context = nil, config : Nil | Raven::Configuration = nil)","args_html":"(context = nil, config : Nil | Raven::Configuration = nil)","location":{"filename":"src/raven/instance.cr","line_number":35,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L35"},"def":{"name":"new","args":[{"name":"context","default_value":"nil","external_name":"context","restriction":""},{"name":"config","default_value":"nil","external_name":"config","restriction":"::Nil | ::Raven::Configuration"}],"visibility":"Public","body":"_ = allocate\n_.initialize(context, config)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"annotate_exception(ex:Exception,**options)-instance-method","name":"annotate_exception","doc":"Provides extra context to the exception prior to it being handled by\nRaven. An exception can have multiple annotations, which are merged\ntogether.\n\nThe options (annotation) is treated the same as the *options*\nparameter to `capture` or `Event.from`, and\ncan contain the same `:user`, `:tags`, etc. options as these methods.\n\nThese will be merged with the *options* parameter to\n`Event.from` at the top of execution.\n\n```\nbegin\n raise \"Hello\"\nrescue ex\n Raven.annotate_exception(ex, user: {id: 1, email: \"foo@example.com\"})\n raise ex\nend\n```","summary":"

Provides extra context to the exception prior to it being handled by Raven.

","abstract":false,"args":[{"name":"ex","external_name":"ex","restriction":"Exception"}],"args_string":"(ex : Exception, **options)","args_html":"(ex : Exception, **options)","location":{"filename":"src/raven/instance.cr","line_number":250,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L250"},"def":{"name":"annotate_exception","args":[{"name":"ex","external_name":"ex","restriction":"Exception"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"{% for key in [:user, :tags, :extra] of ::Symbol %}\n if v = options[{{ key }}]?\n ex.__raven_{{ key.id }}.merge!(v)\n end\n {% end %}\nex\n"}},{"html_id":"breadcrumbs-instance-method","name":"breadcrumbs","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":326,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L326"},"def":{"name":"breadcrumbs","visibility":"Public","body":"BreadcrumbBuffer.current"}},{"html_id":"capture(klass:String,message:String,backtrace:String|Nil=nil,**options,&)-instance-method","name":"capture","doc":"Captures an exception with given *klass*, *message*\nand optional *backtrace*.\n\n```\nRaven.capture \"FooBarError\", \"Foo got bar!\"\n```\n\nNOTE: Useful in scenarios where you need to reconstruct the error\n(usually along with a backtrace from external source), while\nhaving no access to the actual Exception object.","summary":"

Captures an exception with given klass, message and optional backtrace.

","abstract":false,"args":[{"name":"klass","external_name":"klass","restriction":"String"},{"name":"message","external_name":"message","restriction":"String"},{"name":"backtrace","default_value":"nil","external_name":"backtrace","restriction":"String | ::Nil"}],"args_string":"(klass : String, message : String, backtrace : String | Nil = nil, **options, &)","args_html":"(klass : String, message : String, backtrace : String | Nil = nil, **options, &)","location":{"filename":"src/raven/instance.cr","line_number":193,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L193"},"def":{"name":"capture","args":[{"name":"klass","external_name":"klass","restriction":"String"},{"name":"message","external_name":"message","restriction":"String"},{"name":"backtrace","default_value":"nil","external_name":"backtrace","restriction":"String | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"yields":1,"block_arity":1,"visibility":"Public","body":"formatted_message = \"#{klass}: #{message}\"\ncapture(formatted_message, **options) do |event|\n ex = Interface::SingleException.new.tap do |iface|\n iface.module = (klass.split(\"::\"))[0...-1].join(\"::\")\n iface.type = klass\n iface.value = message\n if backtrace\n parsed = Backtracer.parse(backtrace, configuration: configuration.backtracer)\n iface.stacktrace = Interface::Stacktrace.new(backtrace: parsed).tap do |stacktrace|\n event.culprit = stacktrace.culprit\n end\n end\n end\n event.interface(:exception, values: [ex])\n yield event\nend\n"}},{"html_id":"capture(obj:Exception|String,**options,&)-instance-method","name":"capture","doc":"Captures given `Exception` or `String` object and yields\ncreated `Raven::Event` before sending to Sentry.\n\n```\nRaven.capture(\"boo!\") do |event|\n event.extra.merge! foo: \"bar\"\nend\n```","summary":"

Captures given Exception or String object and yields created Raven::Event before sending to Sentry.

","abstract":false,"args":[{"name":"obj","external_name":"obj","restriction":"Exception | String"}],"args_string":"(obj : Exception | String, **options, &)","args_html":"(obj : Exception | String, **options, &)","location":{"filename":"src/raven/instance.cr","line_number":130,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L130"},"def":{"name":"capture","args":[{"name":"obj","external_name":"obj","restriction":"Exception | String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"yields":2,"block_arity":2,"visibility":"Public","body":"if ex = configuration.capture_allowed!(obj)\n Log.debug do\n \"'#{obj}' excluded from capture: #{ex.error_messages}\"\n end\n return false\nend\ndefault_options = {configuration: configuration, context: context}\noptions = default_options.merge(options)\n(Event.from(obj, **options)).tap do |event|\n hint = if obj.is_a?(String)\n Event::Hint.new(exception: nil, message: obj)\n else\n Event::Hint.new(exception: obj, message: nil)\n end\n yield event, hint\n if async = configuration.async\n begin\n async.call(event)\n rescue ex\n Log.error(exception: ex) do\n \"Async event sending failed\"\n end\n send_event(event, hint)\n end\n else\n send_event(event, hint)\n end\n @last_event_id_mutex.synchronize do\n @last_event_id = event.id\n end\n (obj.as?(Exception)).try(&.__raven_event_id = event.id)\nend\n"}},{"html_id":"capture(obj:Exception|String,**options)-instance-method","name":"capture","doc":"Captures given `Exception` or `String` object.\n\n```\nbegin\n # ...\nrescue ex\n Raven.capture ex\nend\n\nRaven.capture \"boo!\"\n```","summary":"

Captures given Exception or String object.

","abstract":false,"args":[{"name":"obj","external_name":"obj","restriction":"Exception | String"}],"args_string":"(obj : Exception | String, **options)","args_html":"(obj : Exception | String, **options)","location":{"filename":"src/raven/instance.cr","line_number":179,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L179"},"def":{"name":"capture","args":[{"name":"obj","external_name":"obj","restriction":"Exception | String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"capture(obj, **options) do\nend"}},{"html_id":"capture(**options,&)-instance-method","name":"capture","doc":"Capture and process any exceptions from the given block.\n\n```\nRaven.capture do\n MyApp.run\nend\n```","summary":"

Capture and process any exceptions from the given block.

","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":222,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L222"},"def":{"name":"capture","double_splat":{"name":"options","external_name":"options","restriction":""},"yields":0,"block_arity":0,"visibility":"Public","body":"begin\n yield\nrescue ex : Raven::Error\n raise(ex)\nrescue ex : Exception\n capture(ex, **options)\n raise(ex)\nend"}},{"html_id":"captured_exception?(ex:Exception)-instance-method","name":"captured_exception?","doc":"Returns `true` in case given *ex* was already captured,\n`false` otherwise.\n\n```\nex = Exception.new(\"boo!\")\n\nRaven.captured_exception?(ex) # => false\nRaven.capture(ex)\nRaven.captured_exception?(ex) # => true\n```","summary":"

Returns true in case given ex was already captured, false otherwise.

","abstract":false,"args":[{"name":"ex","external_name":"ex","restriction":"Exception"}],"args_string":"(ex : Exception)","args_html":"(ex : Exception)","location":{"filename":"src/raven/instance.cr","line_number":269,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L269"},"def":{"name":"captured_exception?","args":[{"name":"ex","external_name":"ex","restriction":"Exception"}],"visibility":"Public","body":"!(!ex.__raven_event_id)"}},{"html_id":"client:Client-instance-method","name":"client","doc":"The client object is responsible for delivering formatted data to the\nSentry server.","summary":"

The client object is responsible for delivering formatted data to the Sentry server.

","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":30,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L30"},"def":{"name":"client","return_type":"Client","visibility":"Public","body":"if (value = @client).nil?\n @client = (Client.new(configuration))\nelse\n value\nend"}},{"html_id":"client=(client:Client)-instance-method","name":"client=","doc":"The client object is responsible for delivering formatted data to the\nSentry server.","summary":"

The client object is responsible for delivering formatted data to the Sentry server.

","abstract":false,"args":[{"name":"client","external_name":"client","restriction":"Client"}],"args_string":"(client : Client)","args_html":"(client : Client)","location":{"filename":"src/raven/instance.cr","line_number":30,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L30"},"def":{"name":"client=","args":[{"name":"client","external_name":"client","restriction":"Client"}],"visibility":"Public","body":"@client = client"}},{"html_id":"configuration:Configuration-instance-method","name":"configuration","doc":"See `Raven::Configuration`.","summary":"

See Raven::Configuration.

","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":26,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L26"},"def":{"name":"configuration","return_type":"Configuration","visibility":"Public","body":"if (value = @configuration).nil?\n @configuration = (Configuration.new)\nelse\n value\nend"}},{"html_id":"configuration=(configuration:Configuration)-instance-method","name":"configuration=","doc":"See `Raven::Configuration`.","summary":"

See Raven::Configuration.

","abstract":false,"args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"args_string":"(configuration : Configuration)","args_html":"(configuration : Configuration)","location":{"filename":"src/raven/instance.cr","line_number":26,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L26"},"def":{"name":"configuration=","args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"visibility":"Public","body":"@configuration = configuration"}},{"html_id":"configure-instance-method","name":"configure","doc":"Call this method to modify defaults in your initializers.\n\n```\nRaven.configure do |config|\n config.dsn = \"http://...\"\nend\n```","summary":"

Call this method to modify defaults in your initializers.

","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":67,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L67"},"def":{"name":"configure","visibility":"Public","body":"self.client = (Client.new(configuration)).tap do\n report_status\nend"}},{"html_id":"configure(&)-instance-method","name":"configure","doc":"Call this method to modify defaults in your initializers.\n\n```\nRaven.configure do |config|\n config.dsn = \"http://...\"\nend\n```","summary":"

Call this method to modify defaults in your initializers.

","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":72,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L72"},"def":{"name":"configure","yields":1,"block_arity":1,"visibility":"Public","body":"yield configuration\nconfigure\n"}},{"html_id":"context-instance-method","name":"context","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":40,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L40"},"def":{"name":"context","visibility":"Public","body":"if @explicit_context\n @context || (@context = Context.new)\nelse\n Context.current\nend"}},{"html_id":"extra_context(hash=nil,**options)-instance-method","name":"extra_context","doc":"Bind extra context. Merges with existing context (if any).\n\nExtra context shows up as *Additional Data* within Sentry,\nand is completely arbitrary.\n\n```\nRaven.extra_context(my_custom_data: \"value\")\n```","summary":"

Bind extra context.

","abstract":false,"args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"args_string":"(hash = nil, **options)","args_html":"(hash = nil, **options)","location":{"filename":"src/raven/instance.cr","line_number":305,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L305"},"def":{"name":"extra_context","args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"context.extra.merge!(hash, options)"}},{"html_id":"extra_context(hash=nil,**options,&)-instance-method","name":"extra_context","doc":"Bind extra context.\nMerges with existing context (if any).\n\nSee `#extra_context`","summary":"

Bind extra context.

","abstract":false,"args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"args_string":"(hash = nil, **options, &)","args_html":"(hash = nil, **options, &)","location":{"filename":"src/raven/instance.cr","line_number":309,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L309"},"def":{"name":"extra_context","args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"yields":0,"block_arity":0,"visibility":"Public","body":"prev_context = context.extra.clone\nbegin\n context.extra.merge!(hash, options)\n yield\nensure\n context.extra = prev_context\nend\ncontext.extra\n"}},{"html_id":"last_event_id-instance-method","name":"last_event_id","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":116,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L116"},"def":{"name":"last_event_id","visibility":"Public","body":"@last_event_id_mutex.synchronize do\n @last_event_id\nend"}},{"html_id":"report_status-instance-method","name":"report_status","doc":"Tell the log that the client is good to go.","summary":"

Tell the log that the client is good to go.

","abstract":false,"location":{"filename":"src/raven/instance.cr","line_number":49,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L49"},"def":{"name":"report_status","visibility":"Public","body":"if configuration.silence_ready?\n return\nend\nif ex = configuration.capture_allowed!\n Log.info do\n \"Raven #{VERSION} configured not to capture errors: #{ex.error_messages}\"\n end\nelse\n Log.info do\n \"Raven #{VERSION} ready to catch errors\"\n end\nend\n"}},{"html_id":"send_event(event,hint=nil)-instance-method","name":"send_event","doc":"Send an event to the configured Sentry server.\n\n```\nevent = Raven::Event.new(message: \"An error\")\nRaven.send_event(event)\n```","summary":"

Send an event to the configured Sentry server.

","abstract":false,"args":[{"name":"event","external_name":"event","restriction":""},{"name":"hint","default_value":"nil","external_name":"hint","restriction":""}],"args_string":"(event, hint = nil)","args_html":"(event, hint = nil)","location":{"filename":"src/raven/instance.cr","line_number":109,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L109"},"def":{"name":"send_event","args":[{"name":"event","external_name":"event","restriction":""},{"name":"hint","default_value":"nil","external_name":"hint","restriction":""}],"visibility":"Public","body":"client.send_event(event, hint)"}},{"html_id":"send_feedback(event_id:String,data:Hash)-instance-method","name":"send_feedback","doc":"Sends User Feedback to Sentry server.\n\n*data* should be a `Hash(String, String)` with following keys:\n- *name* (populated from `context.user[:username]` if left empty)\n- *email* (populated from `context.user[:email]` if left empty)\n- *comments*\n\n```\nRaven.send_feedback(Raven.last_event_id, {\n \"name\" => \"...\",\n \"email\" => \"...\",\n \"comments\" => \"...\",\n})\n```\n\nNOTE: Sentry server records single (last) feedback for a given *event_id*.","summary":"

Sends User Feedback to Sentry server.

","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"data","external_name":"data","restriction":"Hash"}],"args_string":"(event_id : String, data : Hash)","args_html":"(event_id : String, data : Hash)","location":{"filename":"src/raven/instance.cr","line_number":93,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L93"},"def":{"name":"send_feedback","args":[{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"data","external_name":"data","restriction":"Hash"}],"visibility":"Public","body":"if username = context.user[:username]?\n data[\"name\"]? || (data[\"name\"] = username.to_s)\nend\nif email = context.user[:email]?\n data[\"email\"]? || (data[\"email\"] = email.to_s)\nend\nclient.send_feedback(event_id, data)\n"}},{"html_id":"tags_context(hash=nil,**options)-instance-method","name":"tags_context","doc":"Bind tags context. Merges with existing context (if any).\n\nTags are key / value pairs which generally represent things like\napplication version, environment, role, and server names.\n\n```\nRaven.tags_context(my_custom_tag: \"tag_value\")\n```","summary":"

Bind tags context.

","abstract":false,"args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"args_string":"(hash = nil, **options)","args_html":"(hash = nil, **options)","location":{"filename":"src/raven/instance.cr","line_number":293,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L293"},"def":{"name":"tags_context","args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"context.tags.merge!(hash, options)"}},{"html_id":"tags_context(hash=nil,**options,&)-instance-method","name":"tags_context","doc":"Bind tags context.\nMerges with existing context (if any).\n\nSee `#tags_context`","summary":"

Bind tags context.

","abstract":false,"args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"args_string":"(hash = nil, **options, &)","args_html":"(hash = nil, **options, &)","location":{"filename":"src/raven/instance.cr","line_number":309,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L309"},"def":{"name":"tags_context","args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"yields":0,"block_arity":0,"visibility":"Public","body":"prev_context = context.tags.clone\nbegin\n context.tags.merge!(hash, options)\n yield\nensure\n context.tags = prev_context\nend\ncontext.tags\n"}},{"html_id":"user_context(hash=nil,**options)-instance-method","name":"user_context","doc":"Bind user context. Merges with existing context (if any).\n\nIt is recommending that you send at least the `:id` and `:email`\nvalues. All other values are arbitrary.\n\n```\nRaven.user_context(id: 1, email: \"foo@example.com\")\n```","summary":"

Bind user context.

","abstract":false,"args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"args_string":"(hash = nil, **options)","args_html":"(hash = nil, **options)","location":{"filename":"src/raven/instance.cr","line_number":281,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L281"},"def":{"name":"user_context","args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"context.user.merge!(hash, options)"}},{"html_id":"user_context(hash=nil,**options,&)-instance-method","name":"user_context","doc":"Bind user context.\nMerges with existing context (if any).\n\nSee `#user_context`","summary":"

Bind user context.

","abstract":false,"args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"args_string":"(hash = nil, **options, &)","args_html":"(hash = nil, **options, &)","location":{"filename":"src/raven/instance.cr","line_number":309,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/instance.cr#L309"},"def":{"name":"user_context","args":[{"name":"hash","default_value":"nil","external_name":"hash","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"yields":0,"block_arity":0,"visibility":"Public","body":"prev_context = context.user.clone\nbegin\n context.user.merge!(hash, options)\n yield\nensure\n context.user = prev_context\nend\ncontext.user\n"}}]},{"html_id":"raven/Raven/Interface","path":"Raven/Interface.html","kind":"class","full_name":"Raven::Interface","name":"Interface","abstract":true,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/interface.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interface.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"}],"subclasses":[{"html_id":"raven/Raven/Interface/Exception","kind":"class","full_name":"Raven::Interface::Exception","name":"Exception"},{"html_id":"raven/Raven/Interface/HTTP","kind":"class","full_name":"Raven::Interface::HTTP","name":"HTTP"},{"html_id":"raven/Raven/Interface/Message","kind":"class","full_name":"Raven::Interface::Message","name":"Message"},{"html_id":"raven/Raven/Interface/SingleException","kind":"class","full_name":"Raven::Interface::SingleException","name":"SingleException"},{"html_id":"raven/Raven/Interface/Stacktrace","kind":"class","full_name":"Raven::Interface::Stacktrace","name":"Stacktrace"},{"html_id":"raven/Raven/Interface/Stacktrace/Frame","kind":"class","full_name":"Raven::Interface::Stacktrace::Frame","name":"Frame"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"class_methods":[{"html_id":"[](name:Symbol):Interface.class-class-method","name":"[]","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"args_string":"(name : Symbol) : Interface.class","args_html":"(name : Symbol) : Interface.class","location":{"filename":"src/raven/interface.cr","line_number":15,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interface.cr#L15"},"def":{"name":"[]","args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"return_type":"Interface.class","visibility":"Public","body":"self[name]? || (raise(ArgumentError.new(\"Unknown interface: #{name}\")))"}},{"html_id":"[]=(name:Symbol,klass:Interface.class)-class-method","name":"[]=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"},{"name":"klass","external_name":"klass","restriction":"Interface.class"}],"args_string":"(name : Symbol, klass : Interface.class)","args_html":"(name : Symbol, klass : Interface.class)","location":{"filename":"src/raven/interface.cr","line_number":7,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interface.cr#L7"},"def":{"name":"[]=","args":[{"name":"name","external_name":"name","restriction":"Symbol"},{"name":"klass","external_name":"klass","restriction":"Interface.class"}],"visibility":"Public","body":"registered[name] = klass"}},{"html_id":"[]?(name:Symbol):Interface.class|Nil-class-method","name":"[]?","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"args_string":"(name : Symbol) : Interface.class | Nil","args_html":"(name : Symbol) : Interface.class | Nil","location":{"filename":"src/raven/interface.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interface.cr#L11"},"def":{"name":"[]?","args":[{"name":"name","external_name":"name","restriction":"Symbol"}],"return_type":"Interface.class | Nil","visibility":"Public","body":"registered[name]?"}},{"html_id":"registered-class-method","name":"registered","abstract":false,"location":{"filename":"src/raven/interface.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interface.cr#L5"},"def":{"name":"registered","visibility":"Public","body":"@@registered"}},{"html_id":"sentry_alias:Symbol-class-method","name":"sentry_alias","abstract":false,"location":{"filename":"src/raven/interface.cr","line_number":19,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interface.cr#L19"},"def":{"name":"sentry_alias","return_type":"Symbol","visibility":"Public","body":"{% if true %}\n raise \"Undefined {{ @type.id }}.sentry_alias\"\n {% end %}"}}],"instance_methods":[{"html_id":"to_hash-instance-method","name":"to_hash","abstract":false,"location":{"filename":"src/raven/interface.cr","line_number":41,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interface.cr#L41"},"def":{"name":"to_hash","visibility":"Public","body":"{% if @type.instance_vars.empty? %}{% else %}\n {\n {% for var in @type.instance_vars %}\n {{ var.name.id.symbolize }} => ((v = @{{ var.name.id }}) \\\n .responds_to?(:to_hash) \\\n ? v.try(&.to_hash)\n : v.is_a?(Array) \\\n ? v.map { |i| i.responds_to?(:to_hash) ? i.to_hash : i }\n : v\n ),\n {% end %}\n }\n {% end %}"}},{"html_id":"to_json(*args,**options)-instance-method","name":"to_json","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/raven/interface.cr","line_number":57,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interface.cr#L57"},"def":{"name":"to_json","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"to_hash.to_json(*args, **options)"}},{"html_id":"to_json(*args,**options,&)-instance-method","name":"to_json","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/raven/interface.cr","line_number":57,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interface.cr#L57"},"def":{"name":"to_json","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"to_hash.to_json(*args, **options) do |*yield_args|\n yield *yield_args\nend"}}],"types":[{"html_id":"raven/Raven/Interface/Exception","path":"Raven/Interface/Exception.html","kind":"class","full_name":"Raven::Interface::Exception","name":"Exception","abstract":false,"superclass":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"ancestors":[{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/interfaces/exception.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/exception.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"class_methods":[{"html_id":"sentry_alias-class-method","name":"sentry_alias","abstract":false,"location":{"filename":"src/raven/interfaces/exception.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/exception.cr#L5"},"def":{"name":"sentry_alias","visibility":"Public","body":":exception"}}],"constructors":[{"html_id":"new(**attributes)-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/interfaces/exception.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/exception.cr#L2"},"def":{"name":"new","double_splat":{"name":"attributes","external_name":"attributes","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**attributes)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"values:Array(SingleException)|Nil-instance-method","name":"values","abstract":false,"location":{"filename":"src/raven/interfaces/exception.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/exception.cr#L3"},"def":{"name":"values","return_type":"Array(SingleException) | ::Nil","visibility":"Public","body":"@values"}},{"html_id":"values=(values:Array(SingleException)|Nil)-instance-method","name":"values=","abstract":false,"args":[{"name":"values","external_name":"values","restriction":"Array(SingleException) | ::Nil"}],"args_string":"(values : Array(SingleException) | Nil)","args_html":"(values : Array(SingleException) | Nil)","location":{"filename":"src/raven/interfaces/exception.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/exception.cr#L3"},"def":{"name":"values=","args":[{"name":"values","external_name":"values","restriction":"Array(SingleException) | ::Nil"}],"visibility":"Public","body":"@values = values"}}]},{"html_id":"raven/Raven/Interface/HTTP","path":"Raven/Interface/HTTP.html","kind":"class","full_name":"Raven::Interface::HTTP","name":"HTTP","abstract":false,"superclass":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"ancestors":[{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/interfaces/http.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/http.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"class_methods":[{"html_id":"sentry_alias-class-method","name":"sentry_alias","abstract":false,"location":{"filename":"src/raven/interfaces/http.cr","line_number":10,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/http.cr#L10"},"def":{"name":"sentry_alias","visibility":"Public","body":":request"}}],"constructors":[{"html_id":"new(**attributes)-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/interfaces/http.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/http.cr#L2"},"def":{"name":"new","double_splat":{"name":"attributes","external_name":"attributes","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**attributes)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"cookies:String|Nil-instance-method","name":"cookies","abstract":false,"location":{"filename":"src/raven/interfaces/http.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/http.cr#L6"},"def":{"name":"cookies","return_type":"String | ::Nil","visibility":"Public","body":"@cookies"}},{"html_id":"cookies=(cookies:String|Nil)-instance-method","name":"cookies=","abstract":false,"args":[{"name":"cookies","external_name":"cookies","restriction":"String | ::Nil"}],"args_string":"(cookies : String | Nil)","args_html":"(cookies : String | Nil)","location":{"filename":"src/raven/interfaces/http.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/http.cr#L6"},"def":{"name":"cookies=","args":[{"name":"cookies","external_name":"cookies","restriction":"String | ::Nil"}],"visibility":"Public","body":"@cookies = cookies"}},{"html_id":"data:AnyHash::JSON-instance-method","name":"data","abstract":false,"def":{"name":"data","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @data).nil?\n @data = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"data=(data:AnyHash::JSON)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"AnyHash::JSON"}],"args_string":"(data : AnyHash::JSON)","args_html":"(data : AnyHash::JSON)","def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@data = data"}},{"html_id":"data=(hash:Hash|NamedTuple|Nil)-instance-method","name":"data=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/interfaces/http.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/http.cr#L8"},"def":{"name":"data=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"data.replace(hash)"}},{"html_id":"env:AnyHash::JSON-instance-method","name":"env","abstract":false,"def":{"name":"env","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @env).nil?\n @env = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"env=(env:AnyHash::JSON)-instance-method","name":"env=","abstract":false,"args":[{"name":"env","external_name":"env","restriction":"AnyHash::JSON"}],"args_string":"(env : AnyHash::JSON)","args_html":"(env : AnyHash::JSON)","def":{"name":"env=","args":[{"name":"env","external_name":"env","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@env = env"}},{"html_id":"env=(hash:Hash|NamedTuple|Nil)-instance-method","name":"env=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/interfaces/http.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/http.cr#L8"},"def":{"name":"env=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"env.replace(hash)"}},{"html_id":"headers:AnyHash::JSON-instance-method","name":"headers","abstract":false,"def":{"name":"headers","return_type":"AnyHash::JSON","visibility":"Public","body":"if (value = @headers).nil?\n @headers = (AnyHash::JSON.new)\nelse\n value\nend"}},{"html_id":"headers=(headers:AnyHash::JSON)-instance-method","name":"headers=","abstract":false,"args":[{"name":"headers","external_name":"headers","restriction":"AnyHash::JSON"}],"args_string":"(headers : AnyHash::JSON)","args_html":"(headers : AnyHash::JSON)","def":{"name":"headers=","args":[{"name":"headers","external_name":"headers","restriction":"AnyHash::JSON"}],"visibility":"Public","body":"@headers = headers"}},{"html_id":"headers=(hash:Hash|NamedTuple|Nil)-instance-method","name":"headers=","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"args_string":"(hash : Hash | NamedTuple | Nil)","args_html":"(hash : Hash | NamedTuple | Nil)","location":{"filename":"src/raven/interfaces/http.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/http.cr#L8"},"def":{"name":"headers=","args":[{"name":"hash","external_name":"hash","restriction":"Hash | NamedTuple | ::Nil"}],"visibility":"Public","body":"headers.replace(hash)"}},{"html_id":"method:String-instance-method","name":"method","abstract":false,"def":{"name":"method","return_type":"String","visibility":"Public","body":"if (value = @method).nil?\n ::raise(::NilAssertionError.new(\"Raven::Interface::HTTP#method cannot be nil\"))\nelse\n value\nend"}},{"html_id":"method=(method:String)-instance-method","name":"method=","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"}],"args_string":"(method : String)","args_html":"(method : String)","location":{"filename":"src/raven/interfaces/http.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/http.cr#L4"},"def":{"name":"method=","args":[{"name":"method","external_name":"method","restriction":"String"}],"visibility":"Public","body":"@method = method"}},{"html_id":"method?:String|Nil-instance-method","name":"method?","abstract":false,"def":{"name":"method?","return_type":"String | ::Nil","visibility":"Public","body":"@method"}},{"html_id":"query_string:String|Nil-instance-method","name":"query_string","abstract":false,"location":{"filename":"src/raven/interfaces/http.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/http.cr#L5"},"def":{"name":"query_string","return_type":"String | ::Nil","visibility":"Public","body":"@query_string"}},{"html_id":"query_string=(query_string:String|Nil)-instance-method","name":"query_string=","abstract":false,"args":[{"name":"query_string","external_name":"query_string","restriction":"String | ::Nil"}],"args_string":"(query_string : String | Nil)","args_html":"(query_string : String | Nil)","location":{"filename":"src/raven/interfaces/http.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/http.cr#L5"},"def":{"name":"query_string=","args":[{"name":"query_string","external_name":"query_string","restriction":"String | ::Nil"}],"visibility":"Public","body":"@query_string = query_string"}},{"html_id":"url:String-instance-method","name":"url","abstract":false,"def":{"name":"url","return_type":"String","visibility":"Public","body":"if (value = @url).nil?\n ::raise(::NilAssertionError.new(\"Raven::Interface::HTTP#url cannot be nil\"))\nelse\n value\nend"}},{"html_id":"url=(url:String)-instance-method","name":"url=","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/raven/interfaces/http.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/http.cr#L3"},"def":{"name":"url=","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@url = url"}},{"html_id":"url?:String|Nil-instance-method","name":"url?","abstract":false,"def":{"name":"url?","return_type":"String | ::Nil","visibility":"Public","body":"@url"}}]},{"html_id":"raven/Raven/Interface/Message","path":"Raven/Interface/Message.html","kind":"class","full_name":"Raven::Interface::Message","name":"Message","abstract":false,"superclass":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"ancestors":[{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/interfaces/message.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/message.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"class_methods":[{"html_id":"sentry_alias-class-method","name":"sentry_alias","abstract":false,"location":{"filename":"src/raven/interfaces/message.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/message.cr#L6"},"def":{"name":"sentry_alias","visibility":"Public","body":":logentry"}}],"constructors":[{"html_id":"new(**attributes)-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/interfaces/message.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/message.cr#L2"},"def":{"name":"new","double_splat":{"name":"attributes","external_name":"attributes","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**attributes)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"message:String-instance-method","name":"message","abstract":false,"def":{"name":"message","return_type":"String","visibility":"Public","body":"if (value = @message).nil?\n ::raise(::NilAssertionError.new(\"Raven::Interface::Message#message cannot be nil\"))\nelse\n value\nend"}},{"html_id":"message=(message:String)-instance-method","name":"message=","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"String"}],"args_string":"(message : String)","args_html":"(message : String)","location":{"filename":"src/raven/interfaces/message.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/message.cr#L3"},"def":{"name":"message=","args":[{"name":"message","external_name":"message","restriction":"String"}],"visibility":"Public","body":"@message = message"}},{"html_id":"message?:String|Nil-instance-method","name":"message?","abstract":false,"def":{"name":"message?","return_type":"String | ::Nil","visibility":"Public","body":"@message"}},{"html_id":"params:Array(String)|Nil-instance-method","name":"params","abstract":false,"location":{"filename":"src/raven/interfaces/message.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/message.cr#L4"},"def":{"name":"params","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@params"}},{"html_id":"params=(params:Array(String)|Nil)-instance-method","name":"params=","abstract":false,"args":[{"name":"params","external_name":"params","restriction":"Array(String) | ::Nil"}],"args_string":"(params : Array(String) | Nil)","args_html":"(params : Array(String) | Nil)","location":{"filename":"src/raven/interfaces/message.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/message.cr#L4"},"def":{"name":"params=","args":[{"name":"params","external_name":"params","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@params = params"}},{"html_id":"unformatted_message-instance-method","name":"unformatted_message","abstract":false,"location":{"filename":"src/raven/interfaces/message.cr","line_number":10,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/message.cr#L10"},"def":{"name":"unformatted_message","visibility":"Public","body":"if (params = @params) && (!params.empty?)\n message?.try(&.%(params))\nelse\n message?\nend"}}]},{"html_id":"raven/Raven/Interface/SingleException","path":"Raven/Interface/SingleException.html","kind":"class","full_name":"Raven::Interface::SingleException","name":"SingleException","abstract":false,"superclass":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"ancestors":[{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/interfaces/single_exception.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/single_exception.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"constructors":[{"html_id":"new(**attributes)-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/interfaces/single_exception.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/single_exception.cr#L2"},"def":{"name":"new","double_splat":{"name":"attributes","external_name":"attributes","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**attributes)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"module:String|Nil-instance-method","name":"module","abstract":false,"location":{"filename":"src/raven/interfaces/single_exception.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/single_exception.cr#L5"},"def":{"name":"module","return_type":"String | ::Nil","visibility":"Public","body":"@module"}},{"html_id":"module=(module__arg0:String|Nil)-instance-method","name":"module=","abstract":false,"args":[{"name":"__arg0","external_name":"module","restriction":"String | ::Nil"}],"args_string":"(module __arg0 : String | Nil)","args_html":"(module __arg0 : String | Nil)","location":{"filename":"src/raven/interfaces/single_exception.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/single_exception.cr#L5"},"def":{"name":"module=","args":[{"name":"__arg0","external_name":"module","restriction":"String | ::Nil"}],"visibility":"Public","body":"@module = __arg0"}},{"html_id":"stacktrace:Stacktrace|Nil-instance-method","name":"stacktrace","abstract":false,"location":{"filename":"src/raven/interfaces/single_exception.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/single_exception.cr#L6"},"def":{"name":"stacktrace","return_type":"Stacktrace | ::Nil","visibility":"Public","body":"@stacktrace"}},{"html_id":"stacktrace=(stacktrace:Stacktrace|Nil)-instance-method","name":"stacktrace=","abstract":false,"args":[{"name":"stacktrace","external_name":"stacktrace","restriction":"Stacktrace | ::Nil"}],"args_string":"(stacktrace : Stacktrace | Nil)","args_html":"(stacktrace : Stacktrace | Nil)","location":{"filename":"src/raven/interfaces/single_exception.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/single_exception.cr#L6"},"def":{"name":"stacktrace=","args":[{"name":"stacktrace","external_name":"stacktrace","restriction":"Stacktrace | ::Nil"}],"visibility":"Public","body":"@stacktrace = stacktrace"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"def":{"name":"type","return_type":"String","visibility":"Public","body":"if (value = @type).nil?\n ::raise(::NilAssertionError.new(\"Raven::Interface::SingleException#type cannot be nil\"))\nelse\n value\nend"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/raven/interfaces/single_exception.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/single_exception.cr#L3"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}},{"html_id":"type?:String|Nil-instance-method","name":"type?","abstract":false,"def":{"name":"type?","return_type":"String | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"value:String-instance-method","name":"value","abstract":false,"def":{"name":"value","return_type":"String","visibility":"Public","body":"if (value = @value).nil?\n ::raise(::NilAssertionError.new(\"Raven::Interface::SingleException#value cannot be nil\"))\nelse\n value\nend"}},{"html_id":"value=(value:String)-instance-method","name":"value=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/raven/interfaces/single_exception.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/single_exception.cr#L4"},"def":{"name":"value=","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"@value = value"}},{"html_id":"value?:String|Nil-instance-method","name":"value?","abstract":false,"def":{"name":"value?","return_type":"String | ::Nil","visibility":"Public","body":"@value"}}]},{"html_id":"raven/Raven/Interface/Stacktrace","path":"Raven/Interface/Stacktrace.html","kind":"class","full_name":"Raven::Interface::Stacktrace","name":"Stacktrace","abstract":false,"superclass":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"ancestors":[{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/interfaces/stacktrace.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"class_methods":[{"html_id":"sentry_alias-class-method","name":"sentry_alias","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L5"},"def":{"name":"sentry_alias","visibility":"Public","body":":stacktrace"}}],"constructors":[{"html_id":"new(**attributes)-class-method","name":"new","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L2"},"def":{"name":"new","double_splat":{"name":"attributes","external_name":"attributes","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**attributes)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"backtrace=(backtrace:Backtracer::Backtrace)-instance-method","name":"backtrace=","abstract":false,"args":[{"name":"backtrace","external_name":"backtrace","restriction":"Backtracer::Backtrace"}],"args_string":"(backtrace : Backtracer::Backtrace)","args_html":"(backtrace : Backtracer::Backtrace)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":9,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L9"},"def":{"name":"backtrace=","args":[{"name":"backtrace","external_name":"backtrace","restriction":"Backtracer::Backtrace"}],"visibility":"Public","body":"@frames.clear\nbacktrace.frames.reverse_each do |frame|\n @frames << (Frame.from_backtrace_frame(frame))\nend\n"}},{"html_id":"culprit:Frame|Nil-instance-method","name":"culprit","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":17,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L17"},"def":{"name":"culprit","return_type":"Frame | ::Nil","visibility":"Public","body":"frames.reverse.find(&.in_app?) || frames.last?"}},{"html_id":"frames:Array(Frame)-instance-method","name":"frames","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L3"},"def":{"name":"frames","return_type":"Array(Frame)","visibility":"Public","body":"@frames"}},{"html_id":"frames=(frames:Array(Frame))-instance-method","name":"frames=","abstract":false,"args":[{"name":"frames","external_name":"frames","restriction":"Array(Frame)"}],"args_string":"(frames : Array(Frame))","args_html":"(frames : Array(Frame))","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L3"},"def":{"name":"frames=","args":[{"name":"frames","external_name":"frames","restriction":"Array(Frame)"}],"visibility":"Public","body":"@frames = frames"}}],"types":[{"html_id":"raven/Raven/Interface/Stacktrace/Frame","path":"Raven/Interface/Stacktrace/Frame.html","kind":"class","full_name":"Raven::Interface::Stacktrace::Frame","name":"Frame","abstract":false,"superclass":{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},"ancestors":[{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"},{"html_id":"raven/Raven/Mixin/InitializeWith","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/interfaces/stacktrace.cr","line_number":22,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L22"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Interface/Stacktrace","kind":"class","full_name":"Raven::Interface::Stacktrace","name":"Stacktrace"},"doc":"Not actually an interface, but I want to use the same style","summary":"

Not actually an interface, but I want to use the same style

","class_methods":[{"html_id":"from_backtrace_frame(line)-class-method","name":"from_backtrace_frame","abstract":false,"args":[{"name":"line","external_name":"line","restriction":""}],"args_string":"(line)","args_html":"(line)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":34,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L34"},"def":{"name":"from_backtrace_frame","args":[{"name":"line","external_name":"line","restriction":""}],"visibility":"Public","body":"new.tap do |frame|\n frame.abs_path = line.absolute_path || line.path\n frame.filename = line.relative_path\n frame.function = line.method\n frame.package = line.shard_name\n frame.lineno = line.lineno\n frame.colno = line.column\n frame.in_app = line.in_app?\n if context = line.context\n frame.pre_context, frame.context_line, frame.post_context = context.pre, context.line, context.post\n end\nend"}}],"constructors":[{"html_id":"new(**attributes)-class-method","name":"new","doc":"Not actually an interface, but I want to use the same style","summary":"

Not actually an interface, but I want to use the same style

","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":22,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L22"},"def":{"name":"new","double_splat":{"name":"attributes","external_name":"attributes","restriction":""},"visibility":"Public","body":"_ = allocate\n_.initialize(**attributes)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"abs_path:String|Nil-instance-method","name":"abs_path","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":23,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L23"},"def":{"name":"abs_path","return_type":"String | ::Nil","visibility":"Public","body":"@abs_path"}},{"html_id":"abs_path=(abs_path:String|Nil)-instance-method","name":"abs_path=","abstract":false,"args":[{"name":"abs_path","external_name":"abs_path","restriction":"String | ::Nil"}],"args_string":"(abs_path : String | Nil)","args_html":"(abs_path : String | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":23,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L23"},"def":{"name":"abs_path=","args":[{"name":"abs_path","external_name":"abs_path","restriction":"String | ::Nil"}],"visibility":"Public","body":"@abs_path = abs_path"}},{"html_id":"colno:Int32|Nil-instance-method","name":"colno","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":31,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L31"},"def":{"name":"colno","return_type":"Int32 | ::Nil","visibility":"Public","body":"@colno"}},{"html_id":"colno=(colno:Int32|Nil)-instance-method","name":"colno=","abstract":false,"args":[{"name":"colno","external_name":"colno","restriction":"Int32 | ::Nil"}],"args_string":"(colno : Int32 | Nil)","args_html":"(colno : Int32 | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":31,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L31"},"def":{"name":"colno=","args":[{"name":"colno","external_name":"colno","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@colno = colno"}},{"html_id":"context_line:String|Nil-instance-method","name":"context_line","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":27,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L27"},"def":{"name":"context_line","return_type":"String | ::Nil","visibility":"Public","body":"@context_line"}},{"html_id":"context_line=(context_line:String|Nil)-instance-method","name":"context_line=","abstract":false,"args":[{"name":"context_line","external_name":"context_line","restriction":"String | ::Nil"}],"args_string":"(context_line : String | Nil)","args_html":"(context_line : String | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":27,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L27"},"def":{"name":"context_line=","args":[{"name":"context_line","external_name":"context_line","restriction":"String | ::Nil"}],"visibility":"Public","body":"@context_line = context_line"}},{"html_id":"filename:String|Nil-instance-method","name":"filename","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":24,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L24"},"def":{"name":"filename","return_type":"String | ::Nil","visibility":"Public","body":"@filename"}},{"html_id":"filename=(filename:String|Nil)-instance-method","name":"filename=","abstract":false,"args":[{"name":"filename","external_name":"filename","restriction":"String | ::Nil"}],"args_string":"(filename : String | Nil)","args_html":"(filename : String | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":24,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L24"},"def":{"name":"filename=","args":[{"name":"filename","external_name":"filename","restriction":"String | ::Nil"}],"visibility":"Public","body":"@filename = filename"}},{"html_id":"function:String|Nil-instance-method","name":"function","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":25,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L25"},"def":{"name":"function","return_type":"String | ::Nil","visibility":"Public","body":"@function"}},{"html_id":"function=(function:String|Nil)-instance-method","name":"function=","abstract":false,"args":[{"name":"function","external_name":"function","restriction":"String | ::Nil"}],"args_string":"(function : String | Nil)","args_html":"(function : String | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":25,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L25"},"def":{"name":"function=","args":[{"name":"function","external_name":"function","restriction":"String | ::Nil"}],"visibility":"Public","body":"@function = function"}},{"html_id":"in_app=(in_app:Bool|Nil)-instance-method","name":"in_app=","abstract":false,"args":[{"name":"in_app","external_name":"in_app","restriction":"Bool | ::Nil"}],"args_string":"(in_app : Bool | Nil)","args_html":"(in_app : Bool | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":32,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L32"},"def":{"name":"in_app=","args":[{"name":"in_app","external_name":"in_app","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@in_app = in_app"}},{"html_id":"in_app?:Bool|Nil-instance-method","name":"in_app?","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":32,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L32"},"def":{"name":"in_app?","return_type":"Bool | ::Nil","visibility":"Public","body":"@in_app"}},{"html_id":"lineno:Int32|Nil-instance-method","name":"lineno","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":30,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L30"},"def":{"name":"lineno","return_type":"Int32 | ::Nil","visibility":"Public","body":"@lineno"}},{"html_id":"lineno=(lineno:Int32|Nil)-instance-method","name":"lineno=","abstract":false,"args":[{"name":"lineno","external_name":"lineno","restriction":"Int32 | ::Nil"}],"args_string":"(lineno : Int32 | Nil)","args_html":"(lineno : Int32 | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":30,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L30"},"def":{"name":"lineno=","args":[{"name":"lineno","external_name":"lineno","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@lineno = lineno"}},{"html_id":"package:String|Nil-instance-method","name":"package","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":26,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L26"},"def":{"name":"package","return_type":"String | ::Nil","visibility":"Public","body":"@package"}},{"html_id":"package=(package:String|Nil)-instance-method","name":"package=","abstract":false,"args":[{"name":"package","external_name":"package","restriction":"String | ::Nil"}],"args_string":"(package : String | Nil)","args_html":"(package : String | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":26,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L26"},"def":{"name":"package=","args":[{"name":"package","external_name":"package","restriction":"String | ::Nil"}],"visibility":"Public","body":"@package = package"}},{"html_id":"post_context:Array(String)|Nil-instance-method","name":"post_context","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":29,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L29"},"def":{"name":"post_context","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@post_context"}},{"html_id":"post_context=(post_context:Array(String)|Nil)-instance-method","name":"post_context=","abstract":false,"args":[{"name":"post_context","external_name":"post_context","restriction":"Array(String) | ::Nil"}],"args_string":"(post_context : Array(String) | Nil)","args_html":"(post_context : Array(String) | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":29,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L29"},"def":{"name":"post_context=","args":[{"name":"post_context","external_name":"post_context","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@post_context = post_context"}},{"html_id":"pre_context:Array(String)|Nil-instance-method","name":"pre_context","abstract":false,"location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":28,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L28"},"def":{"name":"pre_context","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@pre_context"}},{"html_id":"pre_context=(pre_context:Array(String)|Nil)-instance-method","name":"pre_context=","abstract":false,"args":[{"name":"pre_context","external_name":"pre_context","restriction":"Array(String) | ::Nil"}],"args_string":"(pre_context : Array(String) | Nil)","args_html":"(pre_context : Array(String) | Nil)","location":{"filename":"src/raven/interfaces/stacktrace.cr","line_number":28,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/interfaces/stacktrace.cr#L28"},"def":{"name":"pre_context=","args":[{"name":"pre_context","external_name":"pre_context","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@pre_context = pre_context"}}]}]}]},{"html_id":"raven/Raven/LogBackend","path":"Raven/LogBackend.html","kind":"class","full_name":"Raven::LogBackend","name":"LogBackend","abstract":false,"superclass":{"html_id":"raven/Log/Backend","kind":"class","full_name":"Log::Backend","name":"Backend"},"ancestors":[{"html_id":"raven/Log/Backend","kind":"class","full_name":"Log::Backend","name":"Backend"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/log_backend.cr","line_number":15,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log_backend.cr#L15"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"doc":"`::Log::Backend` recording logged messages.\n\n```\nLog.setup do |c|\n c.bind \"*\", :info, Log::IOBackend.new\n c.bind \"*\", :info, Raven::LogBackend.new(record_breadcrumbs: true)\n c.bind \"*\", :warn, Raven::LogBackend.new(capture_exceptions: true)\n c.bind \"*\", :fatal, Raven::LogBackend.new(capture_all: true)\nend\n```","summary":"

::Log::Backend recording logged messages.

","constructors":[{"html_id":"new(dispatch_mode:::Log::DispatchMode=:sync,*,record_breadcrumbs:Bool=false,capture_exceptions:Bool=false,capture_all:Bool=false,default_logger:String=\"logger\")-class-method","name":"new","abstract":false,"args":[{"name":"dispatch_mode","default_value":":sync","external_name":"dispatch_mode","restriction":"::Log::DispatchMode"},{"name":"","external_name":"","restriction":""},{"name":"record_breadcrumbs","default_value":"false","external_name":"record_breadcrumbs","restriction":"::Bool"},{"name":"capture_exceptions","default_value":"false","external_name":"capture_exceptions","restriction":"::Bool"},{"name":"capture_all","default_value":"false","external_name":"capture_all","restriction":"::Bool"},{"name":"default_logger","default_value":"\"logger\"","external_name":"default_logger","restriction":"::String"}],"args_string":"(dispatch_mode : ::Log::DispatchMode = :sync, *, record_breadcrumbs : Bool = false, capture_exceptions : Bool = false, capture_all : Bool = false, default_logger : String = \"logger\")","args_html":"(dispatch_mode : ::Log::DispatchMode = :sync, *, record_breadcrumbs : Bool = false, capture_exceptions : Bool = false, capture_all : Bool = false, default_logger : String = "logger")","location":{"filename":"src/raven/log_backend.cr","line_number":56,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log_backend.cr#L56"},"def":{"name":"new","args":[{"name":"dispatch_mode","default_value":":sync","external_name":"dispatch_mode","restriction":"::Log::DispatchMode"},{"name":"","external_name":"","restriction":""},{"name":"record_breadcrumbs","default_value":"false","external_name":"record_breadcrumbs","restriction":"::Bool"},{"name":"capture_exceptions","default_value":"false","external_name":"capture_exceptions","restriction":"::Bool"},{"name":"capture_all","default_value":"false","external_name":"capture_all","restriction":"::Bool"},{"name":"default_logger","default_value":"\"logger\"","external_name":"default_logger","restriction":"::String"}],"splat_index":1,"visibility":"Public","body":"_ = allocate\n_.initialize(dispatch_mode, record_breadcrumbs: record_breadcrumbs, capture_exceptions: capture_exceptions, capture_all: capture_all, default_logger: default_logger)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"active?-instance-method","name":"active?","abstract":false,"location":{"filename":"src/raven/log_backend.cr","line_number":111,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log_backend.cr#L111"},"def":{"name":"active?","visibility":"Public","body":"record_breadcrumbs? || capture?"}},{"html_id":"capture?-instance-method","name":"capture?","abstract":false,"location":{"filename":"src/raven/log_backend.cr","line_number":115,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log_backend.cr#L115"},"def":{"name":"capture?","visibility":"Public","body":"capture_exceptions? || capture_all?"}},{"html_id":"capture_all=(capture_all:Bool)-instance-method","name":"capture_all=","doc":"Captures each logged entry.\n\nSee `Raven.capture`","summary":"

Captures each logged entry.

","abstract":false,"args":[{"name":"capture_all","external_name":"capture_all","restriction":"Bool"}],"args_string":"(capture_all : Bool)","args_html":"(capture_all : Bool)","location":{"filename":"src/raven/log_backend.cr","line_number":49,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log_backend.cr#L49"},"def":{"name":"capture_all=","args":[{"name":"capture_all","external_name":"capture_all","restriction":"Bool"}],"visibility":"Public","body":"@capture_all = capture_all"}},{"html_id":"capture_all?:Bool-instance-method","name":"capture_all?","doc":"Captures each logged entry.\n\nSee `Raven.capture`","summary":"

Captures each logged entry.

","abstract":false,"location":{"filename":"src/raven/log_backend.cr","line_number":49,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log_backend.cr#L49"},"def":{"name":"capture_all?","return_type":"Bool","visibility":"Public","body":"@capture_all"}},{"html_id":"capture_exceptions=(capture_exceptions:Bool)-instance-method","name":"capture_exceptions=","doc":"Captures `Exception` attached to the logged entry, if present.\n\nSee `Raven.capture`","summary":"

Captures Exception attached to the logged entry, if present.

","abstract":false,"args":[{"name":"capture_exceptions","external_name":"capture_exceptions","restriction":"Bool"}],"args_string":"(capture_exceptions : Bool)","args_html":"(capture_exceptions : Bool)","location":{"filename":"src/raven/log_backend.cr","line_number":44,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log_backend.cr#L44"},"def":{"name":"capture_exceptions=","args":[{"name":"capture_exceptions","external_name":"capture_exceptions","restriction":"Bool"}],"visibility":"Public","body":"@capture_exceptions = capture_exceptions"}},{"html_id":"capture_exceptions?:Bool-instance-method","name":"capture_exceptions?","doc":"Captures `Exception` attached to the logged entry, if present.\n\nSee `Raven.capture`","summary":"

Captures Exception attached to the logged entry, if present.

","abstract":false,"location":{"filename":"src/raven/log_backend.cr","line_number":44,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log_backend.cr#L44"},"def":{"name":"capture_exceptions?","return_type":"Bool","visibility":"Public","body":"@capture_exceptions"}},{"html_id":"default_logger:String-instance-method","name":"default_logger","doc":"Default name of the root logger.\n\nSee `Event#logger`, `Breadcrumb#category`","summary":"

Default name of the root logger.

","abstract":false,"location":{"filename":"src/raven/log_backend.cr","line_number":54,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log_backend.cr#L54"},"def":{"name":"default_logger","return_type":"String","visibility":"Public","body":"@default_logger"}},{"html_id":"default_logger=(default_logger:String)-instance-method","name":"default_logger=","doc":"Default name of the root logger.\n\nSee `Event#logger`, `Breadcrumb#category`","summary":"

Default name of the root logger.

","abstract":false,"args":[{"name":"default_logger","external_name":"default_logger","restriction":"String"}],"args_string":"(default_logger : String)","args_html":"(default_logger : String)","location":{"filename":"src/raven/log_backend.cr","line_number":54,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log_backend.cr#L54"},"def":{"name":"default_logger=","args":[{"name":"default_logger","external_name":"default_logger","restriction":"String"}],"visibility":"Public","body":"@default_logger = default_logger"}},{"html_id":"record_breadcrumbs=(record_breadcrumbs:Bool)-instance-method","name":"record_breadcrumbs=","doc":"Records each logged entry as a breadcrumb.\n\nSee `Raven.breadcrumbs`","summary":"

Records each logged entry as a breadcrumb.

","abstract":false,"args":[{"name":"record_breadcrumbs","external_name":"record_breadcrumbs","restriction":"Bool"}],"args_string":"(record_breadcrumbs : Bool)","args_html":"(record_breadcrumbs : Bool)","location":{"filename":"src/raven/log_backend.cr","line_number":39,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log_backend.cr#L39"},"def":{"name":"record_breadcrumbs=","args":[{"name":"record_breadcrumbs","external_name":"record_breadcrumbs","restriction":"Bool"}],"visibility":"Public","body":"@record_breadcrumbs = record_breadcrumbs"}},{"html_id":"record_breadcrumbs?:Bool-instance-method","name":"record_breadcrumbs?","doc":"Records each logged entry as a breadcrumb.\n\nSee `Raven.breadcrumbs`","summary":"

Records each logged entry as a breadcrumb.

","abstract":false,"location":{"filename":"src/raven/log_backend.cr","line_number":39,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log_backend.cr#L39"},"def":{"name":"record_breadcrumbs?","return_type":"Bool","visibility":"Public","body":"@record_breadcrumbs"}},{"html_id":"write(entry:::Log::Entry)-instance-method","name":"write","doc":"Writes the *entry* to this backend.","summary":"

Writes the entry to this backend.

","abstract":false,"args":[{"name":"entry","external_name":"entry","restriction":"::Log::Entry"}],"args_string":"(entry : ::Log::Entry)","args_html":"(entry : ::Log::Entry)","location":{"filename":"src/raven/log_backend.cr","line_number":119,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/log_backend.cr#L119"},"def":{"name":"write","args":[{"name":"entry","external_name":"entry","restriction":"::Log::Entry"}],"visibility":"Public","body":"if (!active?) || (ignored_logger?(entry.source))\n return\nend\ndata = entry.context.extend(entry.data.to_h)\ndata = data.empty? ? nil : (JSON.parse(data.to_json)).as_h\nmessage = entry.message\nex = entry.exception\nif capture?\n if ex || capture_all?\n capture_exception(ex, message, entry.severity, entry.timestamp, entry.source, data)\n end\nend\nif record_breadcrumbs?\n if ex\n message = message + \" -- (#{ex.class}): #{ex.message || \"n/a\"}\"\n end\n record_breadcrumb(message, entry.severity, entry.timestamp, entry.source, data)\nend\n"}}]},{"html_id":"raven/Raven/Mixin","path":"Raven/Mixin.html","kind":"module","full_name":"Raven::Mixin","name":"Mixin","abstract":false,"locations":[{"filename":"src/raven/mixins/initialize_with.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/mixins/initialize_with.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"types":[{"html_id":"raven/Raven/Mixin/InitializeWith","path":"Raven/Mixin/InitializeWith.html","kind":"module","full_name":"Raven::Mixin::InitializeWith","name":"InitializeWith","abstract":false,"locations":[{"filename":"src/raven/mixins/initialize_with.cr","line_number":26,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/mixins/initialize_with.cr#L26"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"raven/Raven/Breadcrumb","kind":"class","full_name":"Raven::Breadcrumb","name":"Breadcrumb"},{"html_id":"raven/Raven/Event","kind":"class","full_name":"Raven::Event","name":"Event"},{"html_id":"raven/Raven/Interface","kind":"class","full_name":"Raven::Interface","name":"Interface"}],"namespace":{"html_id":"raven/Raven/Mixin","kind":"module","full_name":"Raven::Mixin","name":"Mixin"},"doc":"Maps passed *attributes* to `@ivar_variables` and `self.property_setters=`.\n\n```\nclass Foo\n include Raven::Mixin::InitializeWith\n\n @logger : String?\n property message : String?\n\n def backtrace=(backtrace)\n # ...\n end\nend\n\nfoo = Foo.new\nfoo.initialize_with({\n logger: \"my-logger\",\n message: \"boo!\",\n backtrace: caller,\n})\n```\n\nNOTE: Magic inside!","summary":"

Maps passed attributes to @ivar_variables and self.property_setters=.

","instance_methods":[{"html_id":"initialize_with(attributes)-instance-method","name":"initialize_with","abstract":false,"args":[{"name":"attributes","external_name":"attributes","restriction":""}],"args_string":"(attributes)","args_html":"(attributes)","location":{"filename":"src/raven/mixins/initialize_with.cr","line_number":27,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/mixins/initialize_with.cr#L27"},"def":{"name":"initialize_with","args":[{"name":"attributes","external_name":"attributes","restriction":""}],"visibility":"Public","body":"{% if true %}\n {% properties = @type.methods.select do |method|\n (method.name.ends_with?('=')) && (method.args.size == 1)\nend.map() do |__arg0|\n __arg0.name[0...-1].symbolize\nend.uniq %}\n\n {% for name in properties %}\n if arg = attributes[{{ name }}]?\n self.{{ name.id }} = arg\n end\n {% end %}\n\n {% ivars = @type.instance_vars.map() do |__arg1|\n __arg1.name.symbolize\nend.uniq %}\n\n {% for name in ivars %}\n {% if properties.includes?(name) %}{% else %}\n if arg = attributes[{{ name }}]?\n @{{ name.id }} = arg\n end\n {% end %}\n {% end %}\n {% end %}\nself\n"}},{"html_id":"initialize_with(**attributes)-instance-method","name":"initialize_with","abstract":false,"location":{"filename":"src/raven/mixins/initialize_with.cr","line_number":60,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/mixins/initialize_with.cr#L60"},"def":{"name":"initialize_with","double_splat":{"name":"attributes","external_name":"attributes","restriction":""},"visibility":"Public","body":"initialize_with(attributes)"}}]}]},{"html_id":"raven/Raven/Processor","path":"Raven/Processor.html","kind":"class","full_name":"Raven::Processor","name":"Processor","abstract":true,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processor.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processor.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"INT_MASK","name":"INT_MASK","value":"0"},{"id":"STRING_MASK","name":"STRING_MASK","value":"\"********\""}],"subclasses":[{"html_id":"raven/Raven/Processor/Compact","kind":"class","full_name":"Raven::Processor::Compact","name":"Compact"},{"html_id":"raven/Raven/Processor/Cookies","kind":"class","full_name":"Raven::Processor::Cookies","name":"Cookies"},{"html_id":"raven/Raven/Processor/HTTPHeaders","kind":"class","full_name":"Raven::Processor::HTTPHeaders","name":"HTTPHeaders"},{"html_id":"raven/Raven/Processor/RemoveCircularReferences","kind":"class","full_name":"Raven::Processor::RemoveCircularReferences","name":"RemoveCircularReferences"},{"html_id":"raven/Raven/Processor/RemoveStacktrace","kind":"class","full_name":"Raven::Processor::RemoveStacktrace","name":"RemoveStacktrace"},{"html_id":"raven/Raven/Processor/RequestMethodData","kind":"class","full_name":"Raven::Processor::RequestMethodData","name":"RequestMethodData"},{"html_id":"raven/Raven/Processor/SanitizeData","kind":"class","full_name":"Raven::Processor::SanitizeData","name":"SanitizeData"},{"html_id":"raven/Raven/Processor/UTF8Conversion","kind":"class","full_name":"Raven::Processor::UTF8Conversion","name":"UTF8Conversion"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"constructors":[{"html_id":"new(client:Client)-class-method","name":"new","abstract":false,"args":[{"name":"client","external_name":"client","restriction":"Client"}],"args_string":"(client : Client)","args_html":"(client : Client)","location":{"filename":"src/raven/processor.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processor.cr#L6"},"def":{"name":"new","args":[{"name":"client","external_name":"client","restriction":"Client"}],"visibility":"Public","body":"_ = allocate\n_.initialize(client)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"process(data)-instance-method","name":"process","abstract":true,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processor.cr","line_number":9,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processor.cr#L9"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":""}}],"types":[{"html_id":"raven/Raven/Processor/Compact","path":"Raven/Processor/Compact.html","kind":"class","full_name":"Raven::Processor::Compact","name":"Compact","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/compact.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/compact.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"instance_methods":[{"html_id":"process(data)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processors/compact.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/compact.cr#L3"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"if (data.responds_to?(:\"empty?\")) && data.empty?\n return\nend\ncase data\nwhen Hash\n data.each do |k, v|\n data[k] = process(v)\n end\n data.compact!\n data.to_h\nwhen Array\n data.map! do |v|\n (process(v)).as(typeof(v))\n end\nelse\n data\nend\n"}}]},{"html_id":"raven/Raven/Processor/Cookies","path":"Raven/Processor/Cookies.html","kind":"class","full_name":"Raven::Processor::Cookies","name":"Cookies","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/cookies.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/cookies.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"instance_methods":[{"html_id":"process(data)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processors/cookies.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/cookies.cr#L3"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"if data.is_a?(Hash)\nelse\n return data\nend\ndata = data.to_any_json\nif req = (data[:request]?.as?(Hash)).try(&.to_any_json)\n if req[:cookies]?\n req[:cookies] = nil\n end\n if req[:headers, \"Cookie\"]?\n req[:headers, \"Cookie\"] = nil\n end\nend\ndata.to_h\n"}}]},{"html_id":"raven/Raven/Processor/HTTPHeaders","path":"Raven/Processor/HTTPHeaders.html","kind":"class","full_name":"Raven::Processor::HTTPHeaders","name":"HTTPHeaders","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/http_headers.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/http_headers.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DEFAULT_FIELDS","name":"DEFAULT_FIELDS","value":"[\"Authorization\"] of String | Regex"}],"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"constructors":[{"html_id":"new(client)-class-method","name":"new","abstract":false,"args":[{"name":"client","external_name":"client","restriction":""}],"args_string":"(client)","args_html":"(client)","location":{"filename":"src/raven/processors/http_headers.cr","line_number":17,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/http_headers.cr#L17"},"def":{"name":"new","args":[{"name":"client","external_name":"client","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(client)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"process(data)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processors/http_headers.cr","line_number":22,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/http_headers.cr#L22"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"if data.is_a?(Hash)\nelse\n return data\nend\ndata = data.to_any_json\nif headers = data[:request, :headers]?.as?(Hash)\n headers.keys.select!() do |__arg0|\n __arg0.to_s.matches?(fields_pattern)\n end.each do |key|\n headers[key] = STRING_MASK\n end\nend\ndata.to_h\n"}},{"html_id":"sanitize_http_headers:Array(String|Regex)-instance-method","name":"sanitize_http_headers","abstract":false,"location":{"filename":"src/raven/processors/http_headers.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/http_headers.cr#L5"},"def":{"name":"sanitize_http_headers","return_type":"Array(String | Regex)","visibility":"Public","body":"@sanitize_http_headers"}},{"html_id":"sanitize_http_headers=(sanitize_http_headers:Array(String|Regex))-instance-method","name":"sanitize_http_headers=","abstract":false,"args":[{"name":"sanitize_http_headers","external_name":"sanitize_http_headers","restriction":"Array(String | Regex)"}],"args_string":"(sanitize_http_headers : Array(String | Regex))","args_html":"(sanitize_http_headers : Array(String | Regex))","location":{"filename":"src/raven/processors/http_headers.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/http_headers.cr#L5"},"def":{"name":"sanitize_http_headers=","args":[{"name":"sanitize_http_headers","external_name":"sanitize_http_headers","restriction":"Array(String | Regex)"}],"visibility":"Public","body":"@sanitize_http_headers = sanitize_http_headers"}}]},{"html_id":"raven/Raven/Processor/RemoveCircularReferences","path":"Raven/Processor/RemoveCircularReferences.html","kind":"class","full_name":"Raven::Processor::RemoveCircularReferences","name":"RemoveCircularReferences","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/remove_circular_references.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/remove_circular_references.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"instance_methods":[{"html_id":"process(data,visited=[]ofUInt64)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"visited","default_value":"[] of UInt64","external_name":"visited","restriction":""}],"args_string":"(data, visited = [] of UInt64)","args_html":"(data, visited = [] of UInt64)","location":{"filename":"src/raven/processors/remove_circular_references.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/remove_circular_references.cr#L3"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""},{"name":"visited","default_value":"[] of UInt64","external_name":"visited","restriction":""}],"visibility":"Public","body":"if data.responds_to?(:object_id)\nelse\n return data\nend\nif visited.includes?(data.object_id)\n return \"(...)\"\nend\ncase data\nwhen Hash\n visited << data.object_id\n data.each do |k, v|\n begin\n data[k] = process(v, visited)\n rescue\n \"!!!\"\n end\n end\n data\nwhen Array\n visited << data.object_id\n data.map! do |v|\n (process(v, visited)).as(typeof(v))\n end\nelse\n data\nend\n"}}]},{"html_id":"raven/Raven/Processor/RemoveStacktrace","path":"Raven/Processor/RemoveStacktrace.html","kind":"class","full_name":"Raven::Processor::RemoveStacktrace","name":"RemoveStacktrace","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/remove_stacktrace.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/remove_stacktrace.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"instance_methods":[{"html_id":"process(data)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processors/remove_stacktrace.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/remove_stacktrace.cr#L3"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"if data.is_a?(Hash)\nelse\n return data\nend\ndata = data.to_any_json\n(data[:exception, :values]?.as?(Array)).try(&.each do |e|\n (e.as?(Hash)).try(&.delete(:stacktrace))\nend)\ndata.to_h\n"}}]},{"html_id":"raven/Raven/Processor/RequestMethodData","path":"Raven/Processor/RequestMethodData.html","kind":"class","full_name":"Raven::Processor::RequestMethodData","name":"RequestMethodData","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/request_method_data.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/request_method_data.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"constructors":[{"html_id":"new(client)-class-method","name":"new","abstract":false,"args":[{"name":"client","external_name":"client","restriction":""}],"args_string":"(client)","args_html":"(client)","location":{"filename":"src/raven/processors/request_method_data.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/request_method_data.cr#L5"},"def":{"name":"new","args":[{"name":"client","external_name":"client","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(client)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"process(data)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processors/request_method_data.cr","line_number":10,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/request_method_data.cr#L10"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"if data.is_a?(Hash)\nelse\n return data\nend\ndata = data.to_any_json\nif sanitize_request_method?(data[:request, :method]?)\n data[:request, :data] = nil\nend\ndata.to_h\n"}},{"html_id":"request_methods:Array(String)-instance-method","name":"request_methods","abstract":false,"location":{"filename":"src/raven/processors/request_method_data.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/request_method_data.cr#L3"},"def":{"name":"request_methods","return_type":"Array(String)","visibility":"Public","body":"@request_methods"}},{"html_id":"request_methods=(request_methods:Array(String))-instance-method","name":"request_methods=","abstract":false,"args":[{"name":"request_methods","external_name":"request_methods","restriction":"Array(String)"}],"args_string":"(request_methods : Array(String))","args_html":"(request_methods : Array(String))","location":{"filename":"src/raven/processors/request_method_data.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/request_method_data.cr#L3"},"def":{"name":"request_methods=","args":[{"name":"request_methods","external_name":"request_methods","restriction":"Array(String)"}],"visibility":"Public","body":"@request_methods = request_methods"}}]},{"html_id":"raven/Raven/Processor/SanitizeData","path":"Raven/Processor/SanitizeData.html","kind":"class","full_name":"Raven::Processor::SanitizeData","name":"SanitizeData","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/sanitize_data.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/sanitize_data.cr#L4"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"CREDIT_CARD_PATTERN","name":"CREDIT_CARD_PATTERN","value":"/\\b(?:3[47]\\d|(?:4\\d|5[1-5]|65)\\d{2}|6011)\\d{12}\\b/"},{"id":"DEFAULT_FIELDS","name":"DEFAULT_FIELDS","value":"[\"authorization\", \"password\", \"password_repeat\", \"passwd\", \"secret\", \"ssn\", /social(.*)?sec/i]"}],"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"constructors":[{"html_id":"new(client)-class-method","name":"new","abstract":false,"args":[{"name":"client","external_name":"client","restriction":""}],"args_string":"(client)","args_html":"(client)","location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":26,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/sanitize_data.cr#L26"},"def":{"name":"new","args":[{"name":"client","external_name":"client","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(client)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"process(key,value)-instance-method","name":"process","doc":"ameba:disable Metrics/CyclomaticComplexity","summary":"

ameba:disable Metrics/CyclomaticComplexity

","abstract":false,"args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":""}],"args_string":"(key, value)","args_html":"(key, value)","location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":54,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/sanitize_data.cr#L54"},"def":{"name":"process","args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":""}],"visibility":"Public","body":"case value\nwhen Hash\n process(value)\nwhen Array\n value.map do |i|\n (process(key, i)).as(AnyHash::JSONTypes::Value)\n end\nwhen String\n case\n when (value.matches?(fields_pattern)) && (json = parse_json_or_nil(value))\n (process(json)).to_json\n when matches_regexes?(key, value)\n STRING_MASK\n when (key == (:query_string)) || (key == \"query_string\")\n sanitize_query_string(value)\n else\n value\n end\nwhen Number\n matches_regexes?(key, value) ? INT_MASK : value\nelse\n value\nend"}},{"html_id":"process(data)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":33,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/sanitize_data.cr#L33"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"case data\nwhen Hash(String, JSON::Any)\n data = data.each_with_object(AnyHash::JSON.new) do |__temp_64, memo|\n k, v = __temp_64\n case v = v.raw\n when AnyHash::JSONTypes::Value\n memo[k] = process(k, v)\n end\n end\n data.to_h\nwhen Hash\n data = data.each_with_object(data.to_any_json) do |__temp_65, memo|\n k, v = __temp_65\n memo[k] = process(k, v)\n end\n data.to_h\nelse\n data\nend"}},{"html_id":"sanitize_credit_cards=(sanitize_credit_cards:Bool)-instance-method","name":"sanitize_credit_cards=","abstract":false,"args":[{"name":"sanitize_credit_cards","external_name":"sanitize_credit_cards","restriction":"Bool"}],"args_string":"(sanitize_credit_cards : Bool)","args_html":"(sanitize_credit_cards : Bool)","location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":13,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/sanitize_data.cr#L13"},"def":{"name":"sanitize_credit_cards=","args":[{"name":"sanitize_credit_cards","external_name":"sanitize_credit_cards","restriction":"Bool"}],"visibility":"Public","body":"@sanitize_credit_cards = sanitize_credit_cards"}},{"html_id":"sanitize_credit_cards?:Bool-instance-method","name":"sanitize_credit_cards?","abstract":false,"location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":13,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/sanitize_data.cr#L13"},"def":{"name":"sanitize_credit_cards?","return_type":"Bool","visibility":"Public","body":"@sanitize_credit_cards"}},{"html_id":"sanitize_fields:Array(String|Regex)-instance-method","name":"sanitize_fields","abstract":false,"location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/sanitize_data.cr#L11"},"def":{"name":"sanitize_fields","return_type":"Array(String | Regex)","visibility":"Public","body":"@sanitize_fields"}},{"html_id":"sanitize_fields=(sanitize_fields:Array(String|Regex))-instance-method","name":"sanitize_fields=","abstract":false,"args":[{"name":"sanitize_fields","external_name":"sanitize_fields","restriction":"Array(String | Regex)"}],"args_string":"(sanitize_fields : Array(String | Regex))","args_html":"(sanitize_fields : Array(String | Regex))","location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":11,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/sanitize_data.cr#L11"},"def":{"name":"sanitize_fields=","args":[{"name":"sanitize_fields","external_name":"sanitize_fields","restriction":"Array(String | Regex)"}],"visibility":"Public","body":"@sanitize_fields = sanitize_fields"}},{"html_id":"sanitize_fields_excluded:Array(String|Regex)-instance-method","name":"sanitize_fields_excluded","abstract":false,"location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":12,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/sanitize_data.cr#L12"},"def":{"name":"sanitize_fields_excluded","return_type":"Array(String | Regex)","visibility":"Public","body":"@sanitize_fields_excluded"}},{"html_id":"sanitize_fields_excluded=(sanitize_fields_excluded:Array(String|Regex))-instance-method","name":"sanitize_fields_excluded=","abstract":false,"args":[{"name":"sanitize_fields_excluded","external_name":"sanitize_fields_excluded","restriction":"Array(String | Regex)"}],"args_string":"(sanitize_fields_excluded : Array(String | Regex))","args_html":"(sanitize_fields_excluded : Array(String | Regex))","location":{"filename":"src/raven/processors/sanitize_data.cr","line_number":12,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/sanitize_data.cr#L12"},"def":{"name":"sanitize_fields_excluded=","args":[{"name":"sanitize_fields_excluded","external_name":"sanitize_fields_excluded","restriction":"Array(String | Regex)"}],"visibility":"Public","body":"@sanitize_fields_excluded = sanitize_fields_excluded"}}]},{"html_id":"raven/Raven/Processor/UTF8Conversion","path":"Raven/Processor/UTF8Conversion.html","kind":"class","full_name":"Raven::Processor::UTF8Conversion","name":"UTF8Conversion","abstract":false,"superclass":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"ancestors":[{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/processors/utf8_conversion.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/utf8_conversion.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Processor","kind":"class","full_name":"Raven::Processor","name":"Processor"},"instance_methods":[{"html_id":"process(data)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""}],"args_string":"(data)","args_html":"(data)","location":{"filename":"src/raven/processors/utf8_conversion.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/processors/utf8_conversion.cr#L3"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"case data\nwhen Hash\n data.each do |k, v|\n data[k] = process(v)\n end\n data.to_h\nwhen Array\n data.map! do |v|\n (process(v)).as(typeof(v))\n end\nwhen Exception\n if message = data.message\n else\n return data\n end\n if message.valid_encoding?\n return data\n end\n (data.class.new(clean_invalid_utf8_bytes(message), data.cause)).tap(&.callstack = data.callstack)\nwhen String\n if data.valid_encoding?\n return data\n end\n clean_invalid_utf8_bytes(data)\nelse\n data\nend"}}]}]},{"html_id":"raven/Raven/Transport","path":"Raven/Transport.html","kind":"class","full_name":"Raven::Transport","name":"Transport","abstract":true,"superclass":{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/transport.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transport.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"raven/Raven/Transport/Dummy","kind":"class","full_name":"Raven::Transport::Dummy","name":"Dummy"},{"html_id":"raven/Raven/Transport/HTTP","kind":"class","full_name":"Raven::Transport::HTTP","name":"HTTP"}],"namespace":{"html_id":"raven/Raven","kind":"module","full_name":"Raven","name":"Raven"},"constructors":[{"html_id":"new(configuration:Raven::Configuration)-class-method","name":"new","abstract":false,"args":[{"name":"configuration","external_name":"configuration","restriction":"::Raven::Configuration"}],"args_string":"(configuration : Raven::Configuration)","args_html":"(configuration : Raven::Configuration)","location":{"filename":"src/raven/transport.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transport.cr#L5"},"def":{"name":"new","args":[{"name":"configuration","external_name":"configuration","restriction":"::Raven::Configuration"}],"visibility":"Public","body":"_ = allocate\n_.initialize(configuration)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"configuration:Configuration-instance-method","name":"configuration","abstract":false,"location":{"filename":"src/raven/transport.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transport.cr#L3"},"def":{"name":"configuration","return_type":"Configuration","visibility":"Public","body":"@configuration"}},{"html_id":"configuration=(configuration:Configuration)-instance-method","name":"configuration=","abstract":false,"args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"args_string":"(configuration : Configuration)","args_html":"(configuration : Configuration)","location":{"filename":"src/raven/transport.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transport.cr#L3"},"def":{"name":"configuration=","args":[{"name":"configuration","external_name":"configuration","restriction":"Configuration"}],"visibility":"Public","body":"@configuration = configuration"}},{"html_id":"send_event(auth_header,data,**options)-instance-method","name":"send_event","abstract":true,"args":[{"name":"auth_header","external_name":"auth_header","restriction":""},{"name":"data","external_name":"data","restriction":""}],"args_string":"(auth_header, data, **options)","args_html":"(auth_header, data, **options)","location":{"filename":"src/raven/transport.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transport.cr#L8"},"def":{"name":"send_event","args":[{"name":"auth_header","external_name":"auth_header","restriction":""},{"name":"data","external_name":"data","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":""}},{"html_id":"send_feedback(event_id,data)-instance-method","name":"send_feedback","abstract":true,"args":[{"name":"event_id","external_name":"event_id","restriction":""},{"name":"data","external_name":"data","restriction":""}],"args_string":"(event_id, data)","args_html":"(event_id, data)","location":{"filename":"src/raven/transport.cr","line_number":9,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transport.cr#L9"},"def":{"name":"send_feedback","args":[{"name":"event_id","external_name":"event_id","restriction":""},{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":""}}],"types":[{"html_id":"raven/Raven/Transport/Dummy","path":"Raven/Transport/Dummy.html","kind":"class","full_name":"Raven::Transport::Dummy","name":"Dummy","abstract":false,"superclass":{"html_id":"raven/Raven/Transport","kind":"class","full_name":"Raven::Transport","name":"Transport"},"ancestors":[{"html_id":"raven/Raven/Transport","kind":"class","full_name":"Raven::Transport","name":"Transport"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/transports/dummy.cr","line_number":2,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/dummy.cr#L2"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Transport","kind":"class","full_name":"Raven::Transport","name":"Transport"},"instance_methods":[{"html_id":"events:Array(AnyHash::JSON)-instance-method","name":"events","abstract":false,"location":{"filename":"src/raven/transports/dummy.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/dummy.cr#L3"},"def":{"name":"events","visibility":"Public","body":"@events"}},{"html_id":"events=(events:Array(AnyHash::JSON))-instance-method","name":"events=","abstract":false,"args":[{"name":"events","external_name":"events","restriction":"::Array(::AnyHash::JSON)"}],"args_string":"(events : Array(AnyHash::JSON))","args_html":"(events : Array(AnyHash::JSON))","location":{"filename":"src/raven/transports/dummy.cr","line_number":3,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/dummy.cr#L3"},"def":{"name":"events=","args":[{"name":"events","external_name":"events","restriction":"::Array(::AnyHash::JSON)"}],"visibility":"Public","body":"@events = events"}},{"html_id":"feedback:Array(AnyHash::JSON)-instance-method","name":"feedback","abstract":false,"location":{"filename":"src/raven/transports/dummy.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/dummy.cr#L4"},"def":{"name":"feedback","visibility":"Public","body":"@feedback"}},{"html_id":"feedback=(feedback:Array(AnyHash::JSON))-instance-method","name":"feedback=","abstract":false,"args":[{"name":"feedback","external_name":"feedback","restriction":"::Array(::AnyHash::JSON)"}],"args_string":"(feedback : Array(AnyHash::JSON))","args_html":"(feedback : Array(AnyHash::JSON))","location":{"filename":"src/raven/transports/dummy.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/dummy.cr#L4"},"def":{"name":"feedback=","args":[{"name":"feedback","external_name":"feedback","restriction":"::Array(::AnyHash::JSON)"}],"visibility":"Public","body":"@feedback = feedback"}},{"html_id":"send_event(auth_header,data,**options)-instance-method","name":"send_event","abstract":false,"args":[{"name":"auth_header","external_name":"auth_header","restriction":""},{"name":"data","external_name":"data","restriction":""}],"args_string":"(auth_header, data, **options)","args_html":"(auth_header, data, **options)","location":{"filename":"src/raven/transports/dummy.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/dummy.cr#L6"},"def":{"name":"send_event","args":[{"name":"auth_header","external_name":"auth_header","restriction":""},{"name":"data","external_name":"data","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"events << {auth_header: auth_header, data: data.to_s, options: options}.to_any_json"}},{"html_id":"send_feedback(event_id,data)-instance-method","name":"send_feedback","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":""},{"name":"data","external_name":"data","restriction":""}],"args_string":"(event_id, data)","args_html":"(event_id, data)","location":{"filename":"src/raven/transports/dummy.cr","line_number":14,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/dummy.cr#L14"},"def":{"name":"send_feedback","args":[{"name":"event_id","external_name":"event_id","restriction":""},{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"feedback << {event_id: event_id, data: data}.to_any_json"}}]},{"html_id":"raven/Raven/Transport/HTTP","path":"Raven/Transport/HTTP.html","kind":"class","full_name":"Raven::Transport::HTTP","name":"HTTP","abstract":false,"superclass":{"html_id":"raven/Raven/Transport","kind":"class","full_name":"Raven::Transport","name":"Transport"},"ancestors":[{"html_id":"raven/Raven/Transport","kind":"class","full_name":"Raven::Transport","name":"Transport"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/transports/http.cr","line_number":4,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/http.cr#L4"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Transport","kind":"class","full_name":"Raven::Transport","name":"Transport"},"instance_methods":[{"html_id":"send_event(auth_header,data,**options)-instance-method","name":"send_event","abstract":false,"args":[{"name":"auth_header","external_name":"auth_header","restriction":""},{"name":"data","external_name":"data","restriction":""}],"args_string":"(auth_header, data, **options)","args_html":"(auth_header, data, **options)","location":{"filename":"src/raven/transports/http.cr","line_number":54,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/http.cr#L54"},"def":{"name":"send_event","args":[{"name":"auth_header","external_name":"auth_header","restriction":""},{"name":"data","external_name":"data","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"if ex = configuration.capture_allowed!\n Log.debug do\n \"Event not sent: #{ex.error_messages}\"\n end\n return false\nend\nproject_id = configuration.project_id\npath = configuration.path.try(&.chomp('/'))\nheaders = ::HTTP::Headers {\"X-Sentry-Auth\" => auth_header, \"Content-Type\" => options[:content_type]}\nif configuration.encoding.gzip?\n headers[\"Content-Encoding\"] = \"gzip\"\nend\nLog.debug do\n \"HTTP Transport connecting to #{configuration.dsn}\"\nend\nclient = build_client\n(client.post(\"#{path}/api/#{project_id}/store/\", headers, data)).tap do |response|\n if response.success?\n else\n raise(Error.new(response))\n end\nend\n"}},{"html_id":"send_feedback(event_id,data)-instance-method","name":"send_feedback","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":""},{"name":"data","external_name":"data","restriction":""}],"args_string":"(event_id, data)","args_html":"(event_id, data)","location":{"filename":"src/raven/transports/http.cr","line_number":31,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/http.cr#L31"},"def":{"name":"send_feedback","args":[{"name":"event_id","external_name":"event_id","restriction":""},{"name":"data","external_name":"data","restriction":""}],"visibility":"Public","body":"headers = ::HTTP::Headers.new\nif origin = configuration.dsn\n headers[\"Origin\"] = origin\nend\nparams = ::HTTP::Params.build do |form|\n form.add(\"eventId\", event_id)\n form.add(\"dsn\", configuration.dsn)\nend\npath = String.build do |str|\n str << configuration.path.try(&.chomp('/'))\n str << \"/api/embed/error-page/?\"\n str << params\nend\nLog.debug do\n \"HTTP Transport connecting to #{path}\"\nend\nclient = build_client\n(client.post(path, form: data, headers: headers)).tap do |response|\n if response.success?\n else\n raise(Error.new(response))\n end\nend\n"}}],"types":[{"html_id":"raven/Raven/Transport/HTTP/Error","path":"Raven/Transport/HTTP/Error.html","kind":"class","full_name":"Raven::Transport::HTTP::Error","name":"Error","abstract":false,"superclass":{"html_id":"raven/Raven/Error","kind":"class","full_name":"Raven::Error","name":"Error"},"ancestors":[{"html_id":"raven/Raven/Error","kind":"class","full_name":"Raven::Error","name":"Error"},{"html_id":"raven/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"raven/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"raven/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/raven/transports/http.cr","line_number":5,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/http.cr#L5"}],"repository_name":"raven","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"raven/Raven/Transport/HTTP","kind":"class","full_name":"Raven::Transport::HTTP","name":"HTTP"},"constructors":[{"html_id":"new(response:::HTTP::Client::Response)-class-method","name":"new","abstract":false,"args":[{"name":"response","external_name":"response","restriction":"::HTTP::Client::Response"}],"args_string":"(response : ::HTTP::Client::Response)","args_html":"(response : ::HTTP::Client::Response)","location":{"filename":"src/raven/transports/http.cr","line_number":8,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/http.cr#L8"},"def":{"name":"new","args":[{"name":"response","external_name":"response","restriction":"::HTTP::Client::Response"}],"visibility":"Public","body":"_ = allocate\n_.initialize(response)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"response:::HTTP::Client::Response-instance-method","name":"response","abstract":false,"location":{"filename":"src/raven/transports/http.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/http.cr#L6"},"def":{"name":"response","return_type":"::HTTP::Client::Response","visibility":"Public","body":"@response"}},{"html_id":"response=(response:::HTTP::Client::Response)-instance-method","name":"response=","abstract":false,"args":[{"name":"response","external_name":"response","restriction":"::HTTP::Client::Response"}],"args_string":"(response : ::HTTP::Client::Response)","args_html":"(response : ::HTTP::Client::Response)","location":{"filename":"src/raven/transports/http.cr","line_number":6,"url":"https://github.com/Sija/raven.cr/blob/6707963/src/raven/transports/http.cr#L6"},"def":{"name":"response=","args":[{"name":"response","external_name":"response","restriction":"::HTTP::Client::Response"}],"visibility":"Public","body":"@response = response"}}]}]}]}]}]}}) \ No newline at end of file