diff --git a/.gitignore b/.gitignore index 0bbd4a9..82f1ad5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ -/docs/ /lib/ /bin/ /.shards/ diff --git a/docs/Caridina.html b/docs/Caridina.html index 6306a58..479f17e 100644 --- a/docs/Caridina.html +++ b/docs/Caridina.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina - caridina main + Caridina - caridina main-dev @@ -39,7 +39,7 @@

- main + main-dev @@ -211,11 +211,6 @@

-
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -490,34 +495,6 @@

    Defined in:

    - - - caridina.cr - - -
    - - - - connection.cr - - -
    - - - - errors.cr - - -
    - - - - events/base.cr - - -
    - @@ -539,7 +516,7 @@

    - VERSION = "0.3.1" + VERSION = "0.4.0"
    diff --git a/docs/Caridina/Connection.html b/docs/Caridina/Connection.html index de0cc1e..6be432b 100644 --- a/docs/Caridina/Connection.html +++ b/docs/Caridina/Connection.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Connection - caridina main + Caridina::Connection - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -515,13 +520,6 @@

    Defined in:

    - - - connection.cr - - -
    - @@ -601,8 +599,6 @@


    - [View source] -
    @@ -617,8 +613,6 @@


    - [View source] -
    @@ -633,8 +627,6 @@


    - [View source] -
    @@ -649,8 +641,6 @@


    - [View source] -
    @@ -665,8 +655,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Connection/ExecError.html b/docs/Caridina/Connection/ExecError.html index 8fb112e..51162db 100644 --- a/docs/Caridina/Connection/ExecError.html +++ b/docs/Caridina/Connection/ExecError.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Connection::ExecError - caridina main + Caridina::Connection::ExecError - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -492,13 +497,6 @@

    Defined in:

    - - - connection.cr - - -
    - diff --git a/docs/Caridina/ConnectionImpl.html b/docs/Caridina/ConnectionImpl.html index c33b960..6ddca0a 100644 --- a/docs/Caridina/ConnectionImpl.html +++ b/docs/Caridina/ConnectionImpl.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::ConnectionImpl - caridina main + Caridina::ConnectionImpl - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -506,13 +511,6 @@

    Defined in:

    - - - connection.cr - - -
    - @@ -725,8 +723,6 @@


    - [View source] -
    @@ -753,8 +749,6 @@


    - [View source] -
    @@ -781,8 +775,6 @@


    - [View source] -
    @@ -797,8 +789,6 @@


    - [View source] -
    @@ -813,8 +803,6 @@


    - [View source] -
    @@ -829,8 +817,6 @@


    - [View source] -
    @@ -845,8 +831,6 @@


    - [View source] -
    @@ -861,8 +845,6 @@


    - [View source] -
    @@ -877,8 +859,6 @@


    - [View source] -
    @@ -893,8 +873,6 @@


    - [View source] -
    @@ -909,8 +887,6 @@


    - [View source] -
    @@ -925,8 +901,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Errors.html b/docs/Caridina/Errors.html index 91e1750..f36a58f 100644 --- a/docs/Caridina/Errors.html +++ b/docs/Caridina/Errors.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Errors - caridina main + Caridina::Errors - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -490,13 +495,6 @@

    Defined in:

    - - - errors.cr - - -
    - diff --git a/docs/Caridina/Errors/RateLimited.html b/docs/Caridina/Errors/RateLimited.html index 0de76de..08eea46 100644 --- a/docs/Caridina/Errors/RateLimited.html +++ b/docs/Caridina/Errors/RateLimited.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Errors::RateLimited - caridina main + Caridina::Errors::RateLimited - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -492,13 +497,6 @@

    Defined in:

    - - - errors.cr - - -
    - @@ -601,8 +599,6 @@


    - [View source] -
    @@ -631,8 +627,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events.html b/docs/Caridina/Events.html index 6bb17ad..d510808 100644 --- a/docs/Caridina/Events.html +++ b/docs/Caridina/Events.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events - caridina main + Caridina::Events - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -490,34 +495,6 @@

    Defined in:

    - - - events/base.cr - - -
    - - - - events/modules/instant_messaging.cr - - -
    - - - - events/room_events.cr - - -
    - - - - events/state_events.cr - - -
    - diff --git a/docs/Caridina/Events/CanonicalAlias.html b/docs/Caridina/Events/CanonicalAlias.html index 631c9d4..8b62f99 100644 --- a/docs/Caridina/Events/CanonicalAlias.html +++ b/docs/Caridina/Events/CanonicalAlias.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::CanonicalAlias - caridina main + Caridina::Events::CanonicalAlias - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -492,13 +497,6 @@

    Defined in:

    - - - events/state_events.cr - - -
    - @@ -710,8 +708,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/CanonicalAlias/Content.html b/docs/Caridina/Events/CanonicalAlias/Content.html index 8cabcb7..7923d64 100644 --- a/docs/Caridina/Events/CanonicalAlias/Content.html +++ b/docs/Caridina/Events/CanonicalAlias/Content.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::CanonicalAlias::Content - caridina main + Caridina::Events::CanonicalAlias::Content - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -492,13 +497,6 @@

    Defined in:

    - - - events/state_events.cr - - -
    - @@ -634,8 +632,6 @@


    - [View source] -
    @@ -664,8 +660,6 @@


    - [View source] -
    @@ -680,8 +674,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/CanonicalAlias/UnsignedData.html b/docs/Caridina/Events/CanonicalAlias/UnsignedData.html index 526779d..6c9af6b 100644 --- a/docs/Caridina/Events/CanonicalAlias/UnsignedData.html +++ b/docs/Caridina/Events/CanonicalAlias/UnsignedData.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::CanonicalAlias::UnsignedData - caridina main + Caridina::Events::CanonicalAlias::UnsignedData - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -492,13 +497,6 @@

    Defined in:

    - - - events/state_events.cr - - -
    - diff --git a/docs/Caridina/Events/Create.html b/docs/Caridina/Events/Create.html index 6658eca..264dc65 100644 --- a/docs/Caridina/Events/Create.html +++ b/docs/Caridina/Events/Create.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::Create - caridina main + Caridina::Events::Create - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -492,13 +497,6 @@

    Defined in:

    - - - events/state_events.cr - - -
    - @@ -710,8 +708,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/Create/Content.html b/docs/Caridina/Events/Create/Content.html index 38d8602..769abac 100644 --- a/docs/Caridina/Events/Create/Content.html +++ b/docs/Caridina/Events/Create/Content.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::Create::Content - caridina main + Caridina::Events::Create::Content - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -492,13 +497,6 @@

    Defined in:

    - - - events/state_events.cr - - -
    - @@ -644,8 +642,6 @@


    - [View source] -
    @@ -674,8 +670,6 @@


    - [View source] -
    @@ -690,8 +684,6 @@


    - [View source] -
    @@ -706,8 +698,6 @@


    - [View source] -
    @@ -722,8 +712,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/Create/PreviousRoom.html b/docs/Caridina/Events/Create/PreviousRoom.html index 352c8d7..7ef9daa 100644 --- a/docs/Caridina/Events/Create/PreviousRoom.html +++ b/docs/Caridina/Events/Create/PreviousRoom.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::Create::PreviousRoom - caridina main + Caridina::Events::Create::PreviousRoom - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -506,13 +511,6 @@

    Defined in:

    - - - events/state_events.cr - - -
    - @@ -630,8 +628,6 @@


    - [View source] -
    @@ -660,8 +656,6 @@


    - [View source] -
    @@ -676,8 +670,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/Create/UnsignedData.html b/docs/Caridina/Events/Create/UnsignedData.html index 6110da8..e23dd5f 100644 --- a/docs/Caridina/Events/Create/UnsignedData.html +++ b/docs/Caridina/Events/Create/UnsignedData.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::Create::UnsignedData - caridina main + Caridina::Events::Create::UnsignedData - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -492,13 +497,6 @@

    Defined in:

    - - - events/state_events.cr - - -
    - diff --git a/docs/Caridina/Events/Event.html b/docs/Caridina/Events/Event.html index 3ede914..090b49f 100644 --- a/docs/Caridina/Events/Event.html +++ b/docs/Caridina/Events/Event.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::Event - caridina main + Caridina::Events::Event - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -520,6 +525,8 @@

  • Caridina::Events::RoomEvent
  • +
  • Caridina::Events::StrippedState
  • +
  • Caridina::Events::Unknown
  • @@ -538,13 +545,6 @@

    Defined in:

    - - - events/base.cr - - -
    - @@ -647,8 +647,6 @@


    - [View source] -
    @@ -677,8 +675,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/Event/Content.html b/docs/Caridina/Events/Event/Content.html index 8eece84..62e181f 100644 --- a/docs/Caridina/Events/Event/Content.html +++ b/docs/Caridina/Events/Event/Content.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::Event::Content - caridina main + Caridina::Events::Event::Content - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -534,13 +539,6 @@

    Defined in:

    - - - events/base.cr - - -
    - @@ -643,8 +641,6 @@


    - [View source] -
    @@ -673,8 +669,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/Event/RelatesTo.html b/docs/Caridina/Events/Event/RelatesTo.html index aae670a..d89c3d4 100644 --- a/docs/Caridina/Events/Event/RelatesTo.html +++ b/docs/Caridina/Events/Event/RelatesTo.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::Event::RelatesTo - caridina main + Caridina::Events::Event::RelatesTo - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -506,13 +511,6 @@

    Defined in:

    - - - events/base.cr - - -
    - @@ -635,8 +633,6 @@


    - [View source] -
    @@ -651,8 +647,6 @@


    - [View source] -
    @@ -681,8 +675,6 @@


    - [View source] -
    @@ -697,8 +689,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/JoinRules.html b/docs/Caridina/Events/JoinRules.html index 516bd41..0565cf4 100644 --- a/docs/Caridina/Events/JoinRules.html +++ b/docs/Caridina/Events/JoinRules.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::JoinRules - caridina main + Caridina::Events::JoinRules - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -492,13 +497,6 @@

    Defined in:

    - - - events/state_events.cr - - -
    - @@ -710,8 +708,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/JoinRules/Content.html b/docs/Caridina/Events/JoinRules/Content.html index 84600d5..c7b358c 100644 --- a/docs/Caridina/Events/JoinRules/Content.html +++ b/docs/Caridina/Events/JoinRules/Content.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::JoinRules::Content - caridina main + Caridina::Events::JoinRules::Content - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -492,13 +497,6 @@

    Defined in:

    - - - events/state_events.cr - - -
    - @@ -629,8 +627,6 @@


    - [View source] -
    @@ -659,8 +655,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/JoinRules/JoinRule.html b/docs/Caridina/Events/JoinRules/JoinRule.html index f9f66ae..949e0d6 100644 --- a/docs/Caridina/Events/JoinRules/JoinRule.html +++ b/docs/Caridina/Events/JoinRules/JoinRule.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::JoinRules::JoinRule - caridina main + Caridina::Events::JoinRules::JoinRule - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -490,13 +495,6 @@

    Defined in:

    - - - events/state_events.cr - - -
    - @@ -645,8 +643,6 @@


    - [View source] -
    @@ -661,8 +657,6 @@


    - [View source] -
    @@ -677,8 +671,6 @@


    - [View source] -
    @@ -693,8 +685,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/JoinRules/UnsignedData.html b/docs/Caridina/Events/JoinRules/UnsignedData.html index 9984e05..bd6a1eb 100644 --- a/docs/Caridina/Events/JoinRules/UnsignedData.html +++ b/docs/Caridina/Events/JoinRules/UnsignedData.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::JoinRules::UnsignedData - caridina main + Caridina::Events::JoinRules::UnsignedData - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -492,13 +497,6 @@

    Defined in:

    - - - events/state_events.cr - - -
    - diff --git a/docs/Caridina/Events/MSC2676.html b/docs/Caridina/Events/MSC2676.html new file mode 100644 index 0000000..fee956a --- /dev/null +++ b/docs/Caridina/Events/MSC2676.html @@ -0,0 +1,511 @@ + + + + + + + + + + + + + + + + + Caridina::Events::MSC2676 - caridina main-dev + + + + + + + +
    +

    + + module Caridina::Events::MSC2676 + +

    + + + + + + + + + + + + + + + + + + +

    + + + + Defined in: +

    + + + + + + + + + + + + + + +
    + +
    + + + + + + + + + +
    + + + diff --git a/docs/Caridina/Events/MSC2676/Message.html b/docs/Caridina/Events/MSC2676/Message.html new file mode 100644 index 0000000..5f2bf28 --- /dev/null +++ b/docs/Caridina/Events/MSC2676/Message.html @@ -0,0 +1,511 @@ + + + + + + + + + + + + + + + + + Caridina::Events::MSC2676::Message - caridina main-dev + + + + + + + +
    +

    + + module Caridina::Events::MSC2676::Message + +

    + + + + + + + + + + + + + + + + + + +

    + + + + Defined in: +

    + + + + + + + + + + + + + + +
    + +
    + + + + + + + + + +
    + + + diff --git a/docs/Caridina/Events/MSC2676/Message/Content.html b/docs/Caridina/Events/MSC2676/Message/Content.html new file mode 100644 index 0000000..6d7b664 --- /dev/null +++ b/docs/Caridina/Events/MSC2676/Message/Content.html @@ -0,0 +1,631 @@ + + + + + + + + + + + + + + + + + Caridina::Events::MSC2676::Message::Content - caridina main-dev + + + + + + + +
    +

    + + module Caridina::Events::MSC2676::Message::Content + +

    + + + + + + + + + +

    + + + + Included Modules +

    + + + + + + + + +

    + + + + Direct including types +

    + + + + + +

    + + + + Defined in: +

    + + + + + + +

    + + + + Constructors +

    + + + + + + +

    + + + + Instance Method Summary +

    + + + + + + +
    + + + + + + + + + + + +
    + + +

    + + + + Constructor Detail +

    + +
    +
    + + def self.new(pull : JSON::PullParser) + + # +
    + +
    +
    + +
    +
    + + + + + + +

    + + + + Instance Method Detail +

    + +
    +
    + + def new_content : Events::Message::Content + + # +
    + +
    +
    + +
    +
    + + + + + +
    + + + diff --git a/docs/Caridina/Events/MSC2676/Message/Text.html b/docs/Caridina/Events/MSC2676/Message/Text.html new file mode 100644 index 0000000..2534946 --- /dev/null +++ b/docs/Caridina/Events/MSC2676/Message/Text.html @@ -0,0 +1,730 @@ + + + + + + + + + + + + + + + + + Caridina::Events::MSC2676::Message::Text - caridina main-dev + + + + + + + +
    +

    + + class Caridina::Events::MSC2676::Message::Text + +

    + + + + + + + + + + + +

    + + + + Included Modules +

    + + + + + + + + + + + +

    + + + + Defined in: +

    + + + + + + +

    + + + + Constructors +

    + + + + + + + + + + +
    + + + +

    Instance methods inherited from module Caridina::Events::MSC2676::Message::Content

    + + + + new_content : Events::Message::Content + new_content + + + + + + +

    Constructor methods inherited from module Caridina::Events::MSC2676::Message::Content

    + + + + new(pull : JSON::PullParser) + new + + + + + + + + + + + + + + + + + + + + +

    Instance methods inherited from class Caridina::Events::Message::Text

    + + + + format : String? + format, + + + + formatted_body : String? + formatted_body + + + + + + +

    Constructor methods inherited from class Caridina::Events::Message::Text

    + + + + new(body, formatted_body)
    new(pull : JSON::PullParser)
    + new
    + + + + + + + + + + +

    Instance methods inherited from class Caridina::Events::Message::Content

    + + + + body : String + body, + + + + msgtype : String + msgtype + + + + + + +

    Constructor methods inherited from class Caridina::Events::Message::Content

    + + + + new(pull : JSON::PullParser) + new + + + + + + + + + + +

    Instance methods inherited from class Caridina::Events::Event::Content

    + + + + relates_to : RelatesTo? + relates_to + + + + + + +

    Constructor methods inherited from class Caridina::Events::Event::Content

    + + + + new(pull : JSON::PullParser) + new + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +

    + + + + Constructor Detail +

    + +
    +
    + + def self.new(pull : JSON::PullParser) + + # +
    + +
    +
    + +
    +
    + + + + + + + + + +
    + + + diff --git a/docs/Caridina/Events/MSC2676/MessageEdit.html b/docs/Caridina/Events/MSC2676/MessageEdit.html new file mode 100644 index 0000000..7a2c453 --- /dev/null +++ b/docs/Caridina/Events/MSC2676/MessageEdit.html @@ -0,0 +1,739 @@ + + + + + + + + + + + + + + + + + Caridina::Events::MSC2676::MessageEdit - caridina main-dev + + + + + + + +
    +

    + + class Caridina::Events::MSC2676::MessageEdit + +

    + + + + + + + + + + + + + + + + + + + + +

    + + + + Defined in: +

    + + + + + + +

    + + + + Constructors +

    + + + + + + +

    + + + + Instance Method Summary +

    + + + + + + +
    + + + +

    Instance methods inherited from class Caridina::Events::Message

    + + + + content : Content + content, + + + + unsigned : UnsignedData? + unsigned + + + + + + +

    Constructor methods inherited from class Caridina::Events::Message

    + + + + new(pull : JSON::PullParser) + new + + + + + + + + + + +

    Instance methods inherited from class Caridina::Events::RoomEvent

    + + + + event_id : String + event_id, + + + + origin_server_ts : UInt64 + origin_server_ts, + + + + room_id : String? + room_id, + + + + sender : String + sender + + + + + + +

    Constructor methods inherited from class Caridina::Events::RoomEvent

    + + + + new(pull : JSON::PullParser) + new + + + + + + + + + + +

    Instance methods inherited from class Caridina::Events::Event

    + + + + type : String + type + + + + + + +

    Constructor methods inherited from class Caridina::Events::Event

    + + + + new(pull : JSON::PullParser) + new + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +

    + + + + Constructor Detail +

    + +
    +
    + + def self.new(pull : JSON::PullParser) + + # +
    + +
    +
    + +
    +
    + + + + + + +

    + + + + Instance Method Detail +

    + +
    +
    + + def content + + # +
    + +
    +
    + +
    +
    + + + + + +
    + + + diff --git a/docs/Caridina/Events/MSC2676/MessageEdit/Content.html b/docs/Caridina/Events/MSC2676/MessageEdit/Content.html new file mode 100644 index 0000000..125950e --- /dev/null +++ b/docs/Caridina/Events/MSC2676/MessageEdit/Content.html @@ -0,0 +1,706 @@ + + + + + + + + + + + + + + + + + Caridina::Events::MSC2676::MessageEdit::Content - caridina main-dev + + + + + + + +
    +

    + + class Caridina::Events::MSC2676::MessageEdit::Content + +

    + + + + + + + + + + + + + + + + + + + + +

    + + + + Defined in: +

    + + + + + + +

    + + + + Constructors +

    + + + + + + +

    + + + + Instance Method Summary +

    + + + + + + +
    + + + +

    Instance methods inherited from class Caridina::Events::Message::Content

    + + + + body : String + body, + + + + msgtype : String + msgtype + + + + + + +

    Constructor methods inherited from class Caridina::Events::Message::Content

    + + + + new(pull : JSON::PullParser) + new + + + + + + + + + + + + + +

    Constructor methods inherited from class Caridina::Events::Event::Content

    + + + + new(pull : JSON::PullParser) + new + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +

    + + + + Constructor Detail +

    + +
    +
    + + def self.new(pull : JSON::PullParser) + + # +
    + +
    +
    + +
    +
    + + + + + + +

    + + + + Instance Method Detail +

    + +
    +
    + + def m_new_content : Caridina::Events::Message::Content + + # +
    + +
    +
    + +
    +
    + +
    +
    + + def m_relates_to : Caridina::Events::MSC2676::RelatesTo + + # +
    + +
    +
    + +
    +
    + + + + + +
    + + + diff --git a/docs/Caridina/Events/MSC2676/RedactionEdit.html b/docs/Caridina/Events/MSC2676/RedactionEdit.html new file mode 100644 index 0000000..600c977 --- /dev/null +++ b/docs/Caridina/Events/MSC2676/RedactionEdit.html @@ -0,0 +1,739 @@ + + + + + + + + + + + + + + + + + Caridina::Events::MSC2676::RedactionEdit - caridina main-dev + + + + + + + +
    +

    + + class Caridina::Events::MSC2676::RedactionEdit + +

    + + + + + + + + + + + + + + + + + + + + +

    + + + + Defined in: +

    + + + + + + +

    + + + + Constructors +

    + + + + + + +

    + + + + Instance Method Summary +

    + + + + + + +
    + + + +

    Instance methods inherited from class Caridina::Events::Redaction

    + + + + content : Content + content, + + + + unsigned : UnsignedData? + unsigned + + + + + + +

    Constructor methods inherited from class Caridina::Events::Redaction

    + + + + new(pull : JSON::PullParser) + new + + + + + + + + + + +

    Instance methods inherited from class Caridina::Events::RoomEvent

    + + + + event_id : String + event_id, + + + + origin_server_ts : UInt64 + origin_server_ts, + + + + room_id : String? + room_id, + + + + sender : String + sender + + + + + + +

    Constructor methods inherited from class Caridina::Events::RoomEvent

    + + + + new(pull : JSON::PullParser) + new + + + + + + + + + + +

    Instance methods inherited from class Caridina::Events::Event

    + + + + type : String + type + + + + + + +

    Constructor methods inherited from class Caridina::Events::Event

    + + + + new(pull : JSON::PullParser) + new + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +

    + + + + Constructor Detail +

    + +
    +
    + + def self.new(pull : JSON::PullParser) + + # +
    + +
    +
    + +
    +
    + + + + + + +

    + + + + Instance Method Detail +

    + +
    +
    + + def content + + # +
    + +
    +
    + +
    +
    + + + + + +
    + + + diff --git a/docs/Caridina/Events/MSC2676/RedactionEdit/Content.html b/docs/Caridina/Events/MSC2676/RedactionEdit/Content.html new file mode 100644 index 0000000..e1421aa --- /dev/null +++ b/docs/Caridina/Events/MSC2676/RedactionEdit/Content.html @@ -0,0 +1,701 @@ + + + + + + + + + + + + + + + + + Caridina::Events::MSC2676::RedactionEdit::Content - caridina main-dev + + + + + + + +
    +

    + + class Caridina::Events::MSC2676::RedactionEdit::Content + +

    + + + + + + + + + + + + + + + + + + + + +

    + + + + Defined in: +

    + + + + + + +

    + + + + Constructors +

    + + + + + + +

    + + + + Instance Method Summary +

    + + + + + + +
    + + + +

    Instance methods inherited from class Caridina::Events::Redaction::Content

    + + + + reason : String? + reason + + + + + + +

    Constructor methods inherited from class Caridina::Events::Redaction::Content

    + + + + new(pull : JSON::PullParser) + new + + + + + + + + + + + + + +

    Constructor methods inherited from class Caridina::Events::Event::Content

    + + + + new(pull : JSON::PullParser) + new + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +

    + + + + Constructor Detail +

    + +
    +
    + + def self.new(pull : JSON::PullParser) + + # +
    + +
    +
    + +
    +
    + + + + + + +

    + + + + Instance Method Detail +

    + +
    +
    + + def m_new_content : Caridina::Events::Redaction::Content + + # +
    + +
    +
    + +
    +
    + +
    +
    + + def m_relates_to : Caridina::Events::MSC2676::RelatesTo + + # +
    + +
    +
    + +
    +
    + + + + + +
    + + + diff --git a/docs/Caridina/Events/MSC2676/RelatesTo.html b/docs/Caridina/Events/MSC2676/RelatesTo.html new file mode 100644 index 0000000..0840926 --- /dev/null +++ b/docs/Caridina/Events/MSC2676/RelatesTo.html @@ -0,0 +1,663 @@ + + + + + + + + + + + + + + + + + Caridina::Events::MSC2676::RelatesTo - caridina main-dev + + + + + + + +
    +

    + + class Caridina::Events::MSC2676::RelatesTo + +

    + + + + + + + + + + + +

    + + + + Included Modules +

    + + + + + + + + + + + +

    + + + + Defined in: +

    + + + + + + +

    + + + + Constructors +

    + + + + + + +

    + + + + Instance Method Summary +

    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +

    + + + + Constructor Detail +

    + +
    +
    + + def self.new(pull : JSON::PullParser) + + # +
    + +
    +
    + +
    +
    + + + + + + +

    + + + + Instance Method Detail +

    + +
    +
    + + def event_id : String + + # +
    + +
    +
    + +
    +
    + +
    +
    + + def rel_type : String + + # +
    + +
    +
    + +
    +
    + + + + + +
    + + + diff --git a/docs/Caridina/Events/MSC2676/RoomEventEdit.html b/docs/Caridina/Events/MSC2676/RoomEventEdit.html new file mode 100644 index 0000000..c5170c1 --- /dev/null +++ b/docs/Caridina/Events/MSC2676/RoomEventEdit.html @@ -0,0 +1,730 @@ + + + + + + + + + + + + + + + + + Caridina::Events::MSC2676::RoomEventEdit - caridina main-dev + + + + + + + +
    +

    + + class Caridina::Events::MSC2676::RoomEventEdit + +

    + + + + + + + + + + + + + + + + + + + + +

    + + + + Defined in: +

    + + + + + + +

    + + + + Constructors +

    + + + + + + +

    + + + + Instance Method Summary +

    + + + + + + +
    + + + +

    Instance methods inherited from class Caridina::Events::RoomEvent

    + + + + event_id : String + event_id, + + + + origin_server_ts : UInt64 + origin_server_ts, + + + + room_id : String? + room_id, + + + + sender : String + sender + + + + + + +

    Constructor methods inherited from class Caridina::Events::RoomEvent

    + + + + new(pull : JSON::PullParser) + new + + + + + + + + + + +

    Instance methods inherited from class Caridina::Events::Event

    + + + + type : String + type + + + + + + +

    Constructor methods inherited from class Caridina::Events::Event

    + + + + new(pull : JSON::PullParser) + new + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +

    + + + + Constructor Detail +

    + +
    +
    + + def self.new(pull : JSON::PullParser) + + # +
    + +
    +
    + +
    +
    + + + + + + +

    + + + + Instance Method Detail +

    + +
    +
    + + def content + + # +
    + +
    +
    + +
    +
    + +
    +
    + + def unsigned : UnsignedData? + + # +
    + +
    +
    + +
    +
    + + + + + +
    + + + diff --git a/docs/Caridina/Events/MSC2676/RoomEventEdit/Content.html b/docs/Caridina/Events/MSC2676/RoomEventEdit/Content.html new file mode 100644 index 0000000..f1a2620 --- /dev/null +++ b/docs/Caridina/Events/MSC2676/RoomEventEdit/Content.html @@ -0,0 +1,678 @@ + + + + + + + + + + + + + + + + + Caridina::Events::MSC2676::RoomEventEdit::Content - caridina main-dev + + + + + + + +
    +

    + + class Caridina::Events::MSC2676::RoomEventEdit::Content + +

    + + + + + + + + + + + + + + + + + + + + +

    + + + + Defined in: +

    + + + + + + +

    + + + + Constructors +

    + + + + + + +

    + + + + Instance Method Summary +

    + + + + + + +
    + + + + + + +

    Constructor methods inherited from class Caridina::Events::Event::Content

    + + + + new(pull : JSON::PullParser) + new + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +

    + + + + Constructor Detail +

    + +
    +
    + + def self.new(pull : JSON::PullParser) + + # +
    + +
    +
    + +
    +
    + + + + + + +

    + + + + Instance Method Detail +

    + +
    +
    + + def m_new_content : Caridina::Events::RoomEvent::Content + + # +
    + +
    +
    + +
    +
    + +
    +
    + + def m_relates_to : Caridina::Events::MSC2676::RelatesTo + + # +
    + +
    +
    + +
    +
    + + + + + +
    + + + diff --git a/docs/Caridina/Events/MSC2676/RoomEventEdit/UnsignedData.html b/docs/Caridina/Events/MSC2676/RoomEventEdit/UnsignedData.html new file mode 100644 index 0000000..935c029 --- /dev/null +++ b/docs/Caridina/Events/MSC2676/RoomEventEdit/UnsignedData.html @@ -0,0 +1,642 @@ + + + + + + + + + + + + + + + + + Caridina::Events::MSC2676::RoomEventEdit::UnsignedData - caridina main-dev + + + + + + + +
    +

    + + struct Caridina::Events::MSC2676::RoomEventEdit::UnsignedData + +

    + + + + + + + + + + + + + + + + + + + + +

    + + + + Defined in: +

    + + + + + + +

    + + + + Constructors +

    + + + + + + + + + + +
    + + + +

    Instance methods inherited from struct Caridina::Events::RoomEvent::UnsignedData

    + + + + age : Int64 + age, + + + + transaction_id : String? + transaction_id + + + + + + +

    Constructor methods inherited from struct Caridina::Events::RoomEvent::UnsignedData

    + + + + new(pull : JSON::PullParser) + new + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +

    + + + + Constructor Detail +

    + +
    +
    + + def self.new(pull : JSON::PullParser) + + # +
    + +
    +
    + +
    +
    + + + + + + + + + +
    + + + diff --git a/docs/Caridina/Events/MSC2676/UnknownEdit.html b/docs/Caridina/Events/MSC2676/UnknownEdit.html new file mode 100644 index 0000000..003ddc8 --- /dev/null +++ b/docs/Caridina/Events/MSC2676/UnknownEdit.html @@ -0,0 +1,696 @@ + + + + + + + + + + + + + + + + + Caridina::Events::MSC2676::UnknownEdit - caridina main-dev + + + + + + + +
    +

    + + class Caridina::Events::MSC2676::UnknownEdit + +

    + + + + + + + + + + + + + + + + + + + + +

    + + + + Defined in: +

    + + + + + + +

    + + + + Constructors +

    + + + + + + +

    + + + + Instance Method Summary +

    + + + + + + +
    + + + +

    Instance methods inherited from class Caridina::Events::Unknown

    + + + + content : Content? + content + + + + + + +

    Constructor methods inherited from class Caridina::Events::Unknown

    + + + + new(pull : JSON::PullParser) + new + + + + + + + + + + +

    Instance methods inherited from class Caridina::Events::Event

    + + + + type : String + type + + + + + + +

    Constructor methods inherited from class Caridina::Events::Event

    + + + + new(pull : JSON::PullParser) + new + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +

    + + + + Constructor Detail +

    + +
    +
    + + def self.new(pull : JSON::PullParser) + + # +
    + +
    +
    + +
    +
    + + + + + + +

    + + + + Instance Method Detail +

    + +
    +
    + + def content + + # +
    + +
    +
    + +
    +
    + + + + + +
    + + + diff --git a/docs/Caridina/Events/MSC2676/UnknownEdit/Content.html b/docs/Caridina/Events/MSC2676/UnknownEdit/Content.html new file mode 100644 index 0000000..bc59c5e --- /dev/null +++ b/docs/Caridina/Events/MSC2676/UnknownEdit/Content.html @@ -0,0 +1,697 @@ + + + + + + + + + + + + + + + + + Caridina::Events::MSC2676::UnknownEdit::Content - caridina main-dev + + + + + + + +
    +

    + + class Caridina::Events::MSC2676::UnknownEdit::Content + +

    + + + + + + + + + + + + + + + + + + + + +

    + + + + Defined in: +

    + + + + + + +

    + + + + Constructors +

    + + + + + + +

    + + + + Instance Method Summary +

    + + + + + + +
    + + + + + + +

    Constructor methods inherited from class Caridina::Events::Unknown::Content

    + + + + new(pull : JSON::PullParser) + new + + + + + + + + + + + + + +

    Constructor methods inherited from class Caridina::Events::Event::Content

    + + + + new(pull : JSON::PullParser) + new + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +

    + + + + Constructor Detail +

    + +
    +
    + + def self.new(pull : JSON::PullParser) + + # +
    + +
    +
    + +
    +
    + + + + + + +

    + + + + Instance Method Detail +

    + +
    +
    + + def m_new_content : Caridina::Events::Unknown::Content + + # +
    + +
    +
    + +
    +
    + +
    +
    + + def m_relates_to : Caridina::Events::MSC2676::RelatesTo + + # +
    + +
    +
    + +
    +
    + + + + + +
    + + + diff --git a/docs/Caridina/Events/Member.html b/docs/Caridina/Events/Member.html index 8f1dcda..e7ca7cf 100644 --- a/docs/Caridina/Events/Member.html +++ b/docs/Caridina/Events/Member.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::Member - caridina main + Caridina::Events::Member - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -492,13 +497,6 @@

    Defined in:

    - - - events/state_events.cr - - -
    - @@ -710,8 +708,6 @@


    - [View source] -
    @@ -754,8 +750,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/Member/Content.html b/docs/Caridina/Events/Member/Content.html index bf5b659..042391d 100644 --- a/docs/Caridina/Events/Member/Content.html +++ b/docs/Caridina/Events/Member/Content.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::Member::Content - caridina main + Caridina::Events::Member::Content - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -492,13 +497,6 @@

    Defined in:

    - - - events/state_events.cr - - -
    - @@ -649,8 +647,6 @@


    - [View source] -
    @@ -679,8 +675,6 @@


    - [View source] -
    @@ -695,8 +689,6 @@


    - [View source] -
    @@ -711,8 +703,6 @@


    - [View source] -
    @@ -727,8 +717,6 @@


    - [View source] -
    @@ -743,8 +731,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/Member/Invite.html b/docs/Caridina/Events/Member/Invite.html index 2b183a9..289ea18 100644 --- a/docs/Caridina/Events/Member/Invite.html +++ b/docs/Caridina/Events/Member/Invite.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::Member::Invite - caridina main + Caridina::Events::Member::Invite - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -506,13 +511,6 @@

    Defined in:

    - - - events/state_events.cr - - -
    - @@ -625,8 +623,6 @@


    - [View source] -
    @@ -655,8 +651,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/Member/Membership.html b/docs/Caridina/Events/Member/Membership.html index 3039c52..8cc8310 100644 --- a/docs/Caridina/Events/Member/Membership.html +++ b/docs/Caridina/Events/Member/Membership.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::Member::Membership - caridina main + Caridina::Events::Member::Membership - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -490,13 +495,6 @@

    Defined in:

    - - - events/state_events.cr - - -
    - @@ -655,8 +653,6 @@


    - [View source] -
    @@ -671,8 +667,6 @@


    - [View source] -
    @@ -687,8 +681,6 @@


    - [View source] -
    @@ -703,8 +695,6 @@


    - [View source] -
    @@ -719,8 +709,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/Member/UnsignedData.html b/docs/Caridina/Events/Member/UnsignedData.html index b3d2da7..7a9a6dc 100644 --- a/docs/Caridina/Events/Member/UnsignedData.html +++ b/docs/Caridina/Events/Member/UnsignedData.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::Member::UnsignedData - caridina main + Caridina::Events::Member::UnsignedData - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -506,20 +511,6 @@

    Defined in:

    - - - events/state_events.cr:47 - - -
    - - - - events/state_events.cr:62 - - -
    - @@ -675,8 +666,6 @@


    - [View source] -
    @@ -697,7 +686,7 @@

    - def invite_room_state : Array(StrippedState)? + def invite_room_state : Array(StrippedState)? #
    @@ -705,8 +694,6 @@


    - [View source] -

    diff --git a/docs/Caridina/Events/Message.html b/docs/Caridina/Events/Message.html index 2aa4441..d8a668b 100644 --- a/docs/Caridina/Events/Message.html +++ b/docs/Caridina/Events/Message.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::Message - caridina main + Caridina::Events::Message - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -492,13 +497,6 @@

    Defined in:

    - - - events/modules/instant_messaging.cr - - -
    - @@ -682,8 +680,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/Message/Content.html b/docs/Caridina/Events/Message/Content.html index 396b7f4..c2dff82 100644 --- a/docs/Caridina/Events/Message/Content.html +++ b/docs/Caridina/Events/Message/Content.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::Message::Content - caridina main + Caridina::Events::Message::Content - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -508,13 +513,6 @@

    Defined in:

    - - - events/modules/instant_messaging.cr - - -
    - @@ -650,8 +648,6 @@


    - [View source] -
    @@ -680,8 +676,6 @@


    - [View source] -
    @@ -696,8 +690,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/Message/MSC2676.html b/docs/Caridina/Events/Message/MSC2676.html index 1bc4c3a..5db88b6 100644 --- a/docs/Caridina/Events/Message/MSC2676.html +++ b/docs/Caridina/Events/Message/MSC2676.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::Message::MSC2676 - caridina main + Caridina::Events::Message::MSC2676 - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -490,13 +495,6 @@

    Defined in:

    - - - events/modules/instant_messaging.cr - - -
    - diff --git a/docs/Caridina/Events/Message/MSC2676/Content.html b/docs/Caridina/Events/Message/MSC2676/Content.html index 2a2fb30..aff59e1 100644 --- a/docs/Caridina/Events/Message/MSC2676/Content.html +++ b/docs/Caridina/Events/Message/MSC2676/Content.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::Message::MSC2676::Content - caridina main + Caridina::Events::Message::MSC2676::Content - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -504,13 +509,6 @@

    Defined in:

    - - - events/modules/instant_messaging.cr - - -
    - @@ -570,8 +568,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/Message/MSC2676/Text.html b/docs/Caridina/Events/Message/MSC2676/Text.html index 6f50659..dafc2ac 100644 --- a/docs/Caridina/Events/Message/MSC2676/Text.html +++ b/docs/Caridina/Events/Message/MSC2676/Text.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::Message::MSC2676::Text - caridina main + Caridina::Events::Message::MSC2676::Text - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -506,13 +511,6 @@

    Defined in:

    - - - events/modules/instant_messaging.cr - - -
    - @@ -716,8 +714,6 @@


    - [View source] -
    @@ -732,8 +728,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/Message/Text.html b/docs/Caridina/Events/Message/Text.html index 3971afe..7d13b69 100644 --- a/docs/Caridina/Events/Message/Text.html +++ b/docs/Caridina/Events/Message/Text.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::Message::Text - caridina main + Caridina::Events::Message::Text - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -517,13 +522,6 @@

    Defined in:

    - - - events/modules/instant_messaging.cr - - -
    - @@ -699,8 +697,6 @@


    - [View source] -
    @@ -720,8 +716,6 @@


    - [View source] -
    @@ -750,8 +744,6 @@


    - [View source] -
    @@ -766,8 +758,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/Message/Unknown.html b/docs/Caridina/Events/Message/Unknown.html index 286249f..39de6b6 100644 --- a/docs/Caridina/Events/Message/Unknown.html +++ b/docs/Caridina/Events/Message/Unknown.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::Message::Unknown - caridina main + Caridina::Events::Message::Unknown - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -492,13 +497,6 @@

    Defined in:

    - - - events/modules/instant_messaging.cr - - -
    - @@ -645,8 +643,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/Message/UnsignedData.html b/docs/Caridina/Events/Message/UnsignedData.html index f49ef5c..b3be680 100644 --- a/docs/Caridina/Events/Message/UnsignedData.html +++ b/docs/Caridina/Events/Message/UnsignedData.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::Message::UnsignedData - caridina main + Caridina::Events::Message::UnsignedData - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -492,13 +497,6 @@

    Defined in:

    - - - events/modules/instant_messaging.cr - - -
    - diff --git a/docs/Caridina/Events/PowerLevels.html b/docs/Caridina/Events/PowerLevels.html index 615bdc0..7175d35 100644 --- a/docs/Caridina/Events/PowerLevels.html +++ b/docs/Caridina/Events/PowerLevels.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::PowerLevels - caridina main + Caridina::Events::PowerLevels - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -492,13 +497,6 @@

    Defined in:

    - - - events/state_events.cr - - -
    - @@ -710,8 +708,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/PowerLevels/Content.html b/docs/Caridina/Events/PowerLevels/Content.html index 900d4f8..337b233 100644 --- a/docs/Caridina/Events/PowerLevels/Content.html +++ b/docs/Caridina/Events/PowerLevels/Content.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::PowerLevels::Content - caridina main + Caridina::Events::PowerLevels::Content - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -492,13 +497,6 @@

    Defined in:

    - - - events/state_events.cr - - -
    - @@ -674,8 +672,6 @@


    - [View source] -
    @@ -704,8 +700,6 @@


    - [View source] -
    @@ -720,8 +714,6 @@


    - [View source] -
    @@ -736,8 +728,6 @@


    - [View source] -
    @@ -752,8 +742,6 @@


    - [View source] -
    @@ -768,8 +756,6 @@


    - [View source] -
    @@ -784,8 +770,6 @@


    - [View source] -
    @@ -800,8 +784,6 @@


    - [View source] -
    @@ -816,8 +798,6 @@


    - [View source] -
    @@ -832,8 +812,6 @@


    - [View source] -
    @@ -848,8 +826,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/PowerLevels/Notifications.html b/docs/Caridina/Events/PowerLevels/Notifications.html index 214a481..d501ef3 100644 --- a/docs/Caridina/Events/PowerLevels/Notifications.html +++ b/docs/Caridina/Events/PowerLevels/Notifications.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::PowerLevels::Notifications - caridina main + Caridina::Events::PowerLevels::Notifications - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -506,13 +511,6 @@

    Defined in:

    - - - events/state_events.cr - - -
    - @@ -625,8 +623,6 @@


    - [View source] -
    @@ -655,8 +651,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/PowerLevels/UnsignedData.html b/docs/Caridina/Events/PowerLevels/UnsignedData.html index 3185401..5a2e402 100644 --- a/docs/Caridina/Events/PowerLevels/UnsignedData.html +++ b/docs/Caridina/Events/PowerLevels/UnsignedData.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::PowerLevels::UnsignedData - caridina main + Caridina::Events::PowerLevels::UnsignedData - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -492,13 +497,6 @@

    Defined in:

    - - - events/state_events.cr - - -
    - diff --git a/docs/Caridina/Events/Redaction.html b/docs/Caridina/Events/Redaction.html index c95d94a..cf9a2f2 100644 --- a/docs/Caridina/Events/Redaction.html +++ b/docs/Caridina/Events/Redaction.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::Redaction - caridina main + Caridina::Events::Redaction - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -492,13 +497,6 @@

    Defined in:

    - - - events/room_events.cr - - -
    - @@ -682,8 +680,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/Redaction/Content.html b/docs/Caridina/Events/Redaction/Content.html index 3dcef6e..a964ced 100644 --- a/docs/Caridina/Events/Redaction/Content.html +++ b/docs/Caridina/Events/Redaction/Content.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::Redaction::Content - caridina main + Caridina::Events::Redaction::Content - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -492,13 +497,6 @@

    Defined in:

    - - - events/room_events.cr - - -
    - @@ -629,8 +627,6 @@


    - [View source] -
    @@ -659,8 +655,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/Redaction/UnsignedData.html b/docs/Caridina/Events/Redaction/UnsignedData.html index 22ab70c..fe61222 100644 --- a/docs/Caridina/Events/Redaction/UnsignedData.html +++ b/docs/Caridina/Events/Redaction/UnsignedData.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::Redaction::UnsignedData - caridina main + Caridina::Events::Redaction::UnsignedData - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -492,13 +497,6 @@

    Defined in:

    - - - events/room_events.cr - - -
    - diff --git a/docs/Caridina/Events/RoomEvent.html b/docs/Caridina/Events/RoomEvent.html index 7de0704..7f0b28c 100644 --- a/docs/Caridina/Events/RoomEvent.html +++ b/docs/Caridina/Events/RoomEvent.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::RoomEvent - caridina main + Caridina::Events::RoomEvent - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -510,13 +515,6 @@

    Defined in:

    - - - events/room_events.cr - - -
    - @@ -671,8 +669,6 @@


    - [View source] -
    @@ -701,8 +697,6 @@


    - [View source] -
    @@ -717,8 +711,6 @@


    - [View source] -
    @@ -739,8 +731,6 @@


    - [View source] -
    @@ -761,8 +751,6 @@


    - [View source] -
    @@ -777,8 +765,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/RoomEvent/UnsignedData.html b/docs/Caridina/Events/RoomEvent/UnsignedData.html index 072e1ef..f13ecd3 100644 --- a/docs/Caridina/Events/RoomEvent/UnsignedData.html +++ b/docs/Caridina/Events/RoomEvent/UnsignedData.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::RoomEvent::UnsignedData - caridina main + Caridina::Events::RoomEvent::UnsignedData - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -532,13 +537,6 @@

    Defined in:

    - - - events/room_events.cr - - -
    - @@ -656,8 +654,6 @@


    - [View source] -
    @@ -686,8 +682,6 @@


    - [View source] -
    @@ -702,8 +696,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/StateEvent.html b/docs/Caridina/Events/StateEvent.html index 09fa1b1..7d076fd 100644 --- a/docs/Caridina/Events/StateEvent.html +++ b/docs/Caridina/Events/StateEvent.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::StateEvent - caridina main + Caridina::Events::StateEvent - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -514,13 +519,6 @@

    Defined in:

    - - - events/state_events.cr - - -
    - @@ -699,8 +697,6 @@


    - [View source] -
    @@ -729,8 +725,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Events/StrippedState.html b/docs/Caridina/Events/StrippedState.html new file mode 100644 index 0000000..3ae2636 --- /dev/null +++ b/docs/Caridina/Events/StrippedState.html @@ -0,0 +1,816 @@ + + + + + + + + + + + + + + + + + Caridina::Events::StrippedState - caridina main-dev + + + + + + + +
    +

    + + class Caridina::Events::StrippedState + +

    + + + + + + + +

    + + + + Overview +

    + +

    This event represents a StrippedState event.

    + +

    It is used in Member event and in Responses::Sync in invited rooms's state. +It is actually a state event, but it does not inherit from StateEvent as +some fields are not presents.

    + +

    This type is used to represents many distinct stripped state events. +To distinguish them you must check the #content's type.

    + + + + + +

    + + + + Included Modules +

    + + + + + + + + + + + +

    + + + + Defined in: +

    + + + + + + +

    + + + + Constructors +

    + + + + + + +

    + + + + Instance Method Summary +

    + + + + + + +
    + + + + + + + + + + + + + +

    Instance methods inherited from class Caridina::Events::Event

    + + + + type : String + type + + + + + + +

    Constructor methods inherited from class Caridina::Events::Event

    + + + + new(pull : JSON::PullParser) + new + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +

    + + + + Constructor Detail +

    + +
    +
    + + def self.new(pull : JSON::PullParser) + + # +
    + +
    + +

    This event represents a StrippedState event.

    + +

    It is used in Member event and in Responses::Sync in invited rooms's state. +It is actually a state event, but it does not inherit from StateEvent as +some fields are not presents.

    + +

    This type is used to represents many distinct stripped state events. +To distinguish them you must check the #content's type.

    +
    + +
    +
    + +
    +
    + + + + + + +

    + + + + Instance Method Detail +

    + +
    +
    + + def content + + # +
    + +
    +
    + +
    +
    + +
    +
    + + def room_id : String? + + # +
    + +
    + +

    "room_id" is not set in events returned from the sync API, so we need to +set it up ourself.

    +
    + +
    +
    + +
    +
    + +
    +
    + + def room_id=(room_id : String?) + + # +
    + +
    + +

    "room_id" is not set in events returned from the sync API, so we need to +set it up ourself.

    +
    + +
    +
    + +
    +
    + +
    +
    + + def sender : String + + # +
    + +
    +
    + +
    +
    + +
    +
    + + def state_key : String + + # +
    + +
    +
    + +
    +
    + + + + + +
    + + + diff --git a/docs/Caridina/Events/Type.html b/docs/Caridina/Events/Type.html index e826041..b6199ba 100644 --- a/docs/Caridina/Events/Type.html +++ b/docs/Caridina/Events/Type.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::Type - caridina main + Caridina::Events::Type - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -501,13 +506,6 @@

    Defined in:

    - - - events/base.cr - - -
    - diff --git a/docs/Caridina/Events/Unknown.html b/docs/Caridina/Events/Unknown.html index 02121f1..bb6a15f 100644 --- a/docs/Caridina/Events/Unknown.html +++ b/docs/Caridina/Events/Unknown.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Events::Unknown - caridina main + Caridina::Events::Unknown - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -492,13 +497,6 @@

    Defined in:

    - - - events/base.cr - - -
    - @@ -536,7 +534,7 @@

    @@ -492,13 +497,6 @@

    Defined in:

    - - - events/base.cr - - -
    - @@ -612,8 +610,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Responses.html b/docs/Caridina/Responses.html index 5d6a48b..076194f 100644 --- a/docs/Caridina/Responses.html +++ b/docs/Caridina/Responses.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Responses - caridina main + Caridina::Responses - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -490,41 +495,6 @@

    Defined in:

    - - - responses/base.cr - - -
    - - - - responses/filter.cr - - -
    - - - - responses/send.cr - - -
    - - - - responses/sync.cr - - -
    - - - - responses/whoami.cr - - -
    - diff --git a/docs/Caridina/Responses/Filter.html b/docs/Caridina/Responses/Filter.html index a47b515..e1f5791 100644 --- a/docs/Caridina/Responses/Filter.html +++ b/docs/Caridina/Responses/Filter.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Responses::Filter - caridina main + Caridina::Responses::Filter - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -492,13 +497,6 @@

    Defined in:

    - - - responses/filter.cr - - -
    - @@ -630,8 +628,6 @@


    - [View source] -
    @@ -660,8 +656,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Responses/Response.html b/docs/Caridina/Responses/Response.html index 0da3aa0..4f79bb1 100644 --- a/docs/Caridina/Responses/Response.html +++ b/docs/Caridina/Responses/Response.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Responses::Response - caridina main + Caridina::Responses::Response - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -526,13 +531,6 @@

    Defined in:

    - - - responses/base.cr - - -
    - @@ -628,8 +626,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Responses/Send.html b/docs/Caridina/Responses/Send.html index 6242aa2..b4930be 100644 --- a/docs/Caridina/Responses/Send.html +++ b/docs/Caridina/Responses/Send.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Responses::Send - caridina main + Caridina::Responses::Send - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -492,13 +497,6 @@

    Defined in:

    - - - responses/send.cr - - -
    - @@ -630,8 +628,6 @@


    - [View source] -
    @@ -660,8 +656,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Responses/Sync.html b/docs/Caridina/Responses/Sync.html index 6a211eb..b85f3c1 100644 --- a/docs/Caridina/Responses/Sync.html +++ b/docs/Caridina/Responses/Sync.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Responses::Sync - caridina main + Caridina::Responses::Sync - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -492,13 +497,6 @@

    Defined in:

    - - - responses/sync.cr - - -
    - @@ -635,8 +633,6 @@


    - [View source] -
    @@ -665,8 +661,6 @@


    - [View source] -
    @@ -681,8 +675,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Responses/Sync/InviteState.html b/docs/Caridina/Responses/Sync/InviteState.html index e8ac444..cabcade 100644 --- a/docs/Caridina/Responses/Sync/InviteState.html +++ b/docs/Caridina/Responses/Sync/InviteState.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Responses::Sync::InviteState - caridina main + Caridina::Responses::Sync::InviteState - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -506,13 +511,6 @@

    Defined in:

    - - - responses/sync.cr - - -
    - @@ -550,7 +548,7 @@

    @@ -506,13 +511,6 @@

    Defined in:

    - - - responses/sync.cr - - -
    - @@ -625,8 +623,6 @@


    - [View source] -
    @@ -655,8 +651,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Responses/Sync/JoinedRoom.html b/docs/Caridina/Responses/Sync/JoinedRoom.html index a1c094f..d011848 100644 --- a/docs/Caridina/Responses/Sync/JoinedRoom.html +++ b/docs/Caridina/Responses/Sync/JoinedRoom.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Responses::Sync::JoinedRoom - caridina main + Caridina::Responses::Sync::JoinedRoom - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -506,13 +511,6 @@

    Defined in:

    - - - responses/sync.cr - - -
    - @@ -625,8 +623,6 @@


    - [View source] -
    @@ -655,8 +651,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Responses/Sync/Rooms.html b/docs/Caridina/Responses/Sync/Rooms.html index 7bdee48..3b4198e 100644 --- a/docs/Caridina/Responses/Sync/Rooms.html +++ b/docs/Caridina/Responses/Sync/Rooms.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Responses::Sync::Rooms - caridina main + Caridina::Responses::Sync::Rooms - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -506,13 +511,6 @@

    Defined in:

    - - - responses/sync.cr - - -
    - @@ -630,8 +628,6 @@


    - [View source] -
    @@ -660,8 +656,6 @@


    - [View source] -
    @@ -676,8 +670,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Responses/Sync/Timeline.html b/docs/Caridina/Responses/Sync/Timeline.html index 1f78e23..cf8b9f1 100644 --- a/docs/Caridina/Responses/Sync/Timeline.html +++ b/docs/Caridina/Responses/Sync/Timeline.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Responses::Sync::Timeline - caridina main + Caridina::Responses::Sync::Timeline - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -506,13 +511,6 @@

    Defined in:

    - - - responses/sync.cr - - -
    - @@ -625,8 +623,6 @@


    - [View source] -
    @@ -655,8 +651,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Responses/WhoAmI.html b/docs/Caridina/Responses/WhoAmI.html index de99452..f787b71 100644 --- a/docs/Caridina/Responses/WhoAmI.html +++ b/docs/Caridina/Responses/WhoAmI.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Responses::WhoAmI - caridina main + Caridina::Responses::WhoAmI - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -492,13 +497,6 @@

    Defined in:

    - - - responses/whoami.cr - - -
    - @@ -630,8 +628,6 @@


    - [View source] -
    @@ -660,8 +656,6 @@


    - [View source] -
    diff --git a/docs/Caridina/Syncer.html b/docs/Caridina/Syncer.html index 4601c6a..7ab66ef 100644 --- a/docs/Caridina/Syncer.html +++ b/docs/Caridina/Syncer.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Caridina::Syncer - caridina main + Caridina::Syncer - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -470,6 +475,32 @@

    +

    + + + + Overview +

    + +

    This object allow you to register listeners to be executed when some events +are received.

    + +

    This avoid you to have to parse the whole Responses::Sync. +However #process_response must be called with a Responses::Sync manually. +This allow you to control precisely when you want to handle events.

    + +
    syncer = Caridina::Syncer.new
    +syncer.on(Caridina::Events::Message) do |event|
    +  # TODO: actually do something
    +end
    +
    +syncer.process_response(sync)
    + +

    Events sent to listeners are Events::Event objects. +You should use a type restriction in order to access all their fields.

    + @@ -492,13 +523,6 @@

    Defined in:

    - - - syncer.cr - - -
    - @@ -519,7 +543,7 @@

    @@ -478,7 +483,7 @@

    Alias Definition

    - Caridina::Events::Event -> Nil + Caridina::Events::Event, Caridina::Syncer::Source -> Nil @@ -500,13 +505,6 @@

    Defined in:

    - - - syncer.cr - - -
    - diff --git a/docs/Caridina/Syncer/Source.html b/docs/Caridina/Syncer/Source.html new file mode 100644 index 0000000..a2597d7 --- /dev/null +++ b/docs/Caridina/Syncer/Source.html @@ -0,0 +1,669 @@ + + + + + + + + + + + + + + + + + Caridina::Syncer::Source - caridina main-dev + + + + + + + +
    +

    + + enum Caridina::Syncer::Source + +

    + + + + + + + + + + + + + + + + + + +

    + + + + Defined in: +

    + + + + + +

    + + + + Enum Members +

    + +
    + +
    + InvitedRooms = 1 +
    + + +
    + JoinedRooms = 2 +
    + + +
    + + + + + + + +

    + + + + Instance Method Summary +

    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + +

    + + + + Instance Method Detail +

    + +
    +
    + + def invited_rooms? + + # +
    + +
    +
    + +
    +
    + +
    +
    + + def joined_rooms? + + # +
    + +
    +
    + +
    +
    + +
    +
    + + def none? + + # +
    + +
    +
    + +
    +
    + + + + + +
    + + + diff --git a/docs/index.html b/docs/index.html index 63b978c..d9021c3 100644 --- a/docs/index.html +++ b/docs/index.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - caridina main + caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -526,20 +531,20 @@

    Now we can create a new channel, and tell the connection object to start syncing. The sync responses will be streamed in the channel.

    -
    matrix = Channel(Caridina::Events::Sync).new
    +
    matrix = Channel(Caridina::Events::Sync).new
     conn.sync(matrix)
     
    -sync = matrix.receive
    +sync = matrix.receive

    You have now a sync response.

    If you don't want to go through the whole sync response by yourself (which is understandable), we provide you a Caridina::Syncer object.

    -
    syncer = Caridina::Syncer.new
    -syncer.on(Caridina::Events::Message) do |event|
    -  # TODO: actually do something
    -end
    +
    syncer = Caridina::Syncer.new
    +syncer.on(Caridina::Events::Message) do |event|
    +  # TODO: actually do something
    +end
     
     syncer.process_response(sync)
    @@ -557,20 +562,20 @@

    will be Caridina::Events::Event objects. You need to restrict the type of an event object to access all its fields.

    -
    sync.rooms.try &.join.each do |room_id, room|
    -  room.timeline.events.each do |event|
    -    case event
    -    when Caridina::Events::Member
    -      # someone's membership changed
    -    when Caridina:: Events::PowerLevels
    -      # some authorization changed
    -    when Caridina::Events::Messages
    -      # someone talked
    -    else
    -      # unknown event
    -    end
    -  end
    -end
    +
    sync.rooms.try &.join.each do |room_id, room|
    +  room.timeline.events.each do |event|
    +    case event
    +    when Caridina::Events::Member
    +      # someone's membership changed
    +    when Caridina:: Events::PowerLevels
    +      # some authorization changed
    +    when Caridina::Events::Messages
    +      # someone talked
    +    else
    +      # unknown event
    +    end
    +  end
    +end

    Sometimes the event's content can be polymorphic too. That is especially the case for message events. @@ -590,12 +595,12 @@

    :warning: This part is in a very early stage. > Currently only a few methods are provided.
    -
    # join a room
    -conn.join("!room_id:matrix.org")
    -# send a message
    -event_id = conn.send_message("!room_id:matrix.org", "Hello, wurld!")
    -# edit a message
    -conn.edit_message("!room_id:matrix.org", "Hello, world!"))
    +
    # join a room
    +conn.join("!room_id:matrix.org")
    +# send a message
    +event_id = conn.send_message("!room_id:matrix.org", "Hello, wurld!")
    +# edit a message
    +conn.edit_message("!room_id:matrix.org", "Hello, world!"))

    \"a\n\n## Installation\n\n1. Add the dependency to your `shard.yml`:\n\n ```yaml\n dependencies:\n caridina:\n github: erdnaxeli/caridina\n ```\n\n2. Run `shards install`\n\n## Usage\n\n### Connecting\n\nCreate a new connection object:\n\n```crystal\nrequire \"caridina\"\n\nconn = Caridina::ConnectionImpl.new(\n \"https://my-favorite-hs.example.org\",\n \"my access token\",\n)\n```\n\nYou can also login to get a new access token:\n\n```crystal\naccess_token = Caridina::ConnectionImpl.login(\n \"https://my-favorite-hs.example.org\",\n \"@mybotuserid:my-favorite-hs.example.org\",\n \"my secret password\",\n)\n```\n\n### Sync\n\nNow we can create a new channel, and tell the connection object to start syncing.\nThe sync responses will be streamed in the channel.\n\n```\nmatrix = Channel(Caridina::Events::Sync).new\nconn.sync(matrix)\n\nsync = matrix.receive\n```\n\nYou have now a [sync response](src/response/sync.cr).\n\nIf you don't want to go through the whole sync response by yourself (which is\nunderstandable), we provide you a [Caridina::Syncer](src/syncer.cr) object.\n\n```\nsyncer = Caridina::Syncer.new\nsyncer.on(Caridina::Events::Message) do |event|\n # TODO: actually do something\nend\n\nsyncer.process_response(sync)\n```\n\n> :warning: The syncer is a new feature still in development.\n> It currently only supports events in the joined rooms timeline.\n> To access to other events, you need to go through the sync response.\n\n### Read event\n\nIf you don't use the `Syncer`, most of the events you will see in the sync response\nwill be `Caridina::Events::Event` objects. You need to restrict the type of an event\nobject to access all its fields.\n\n```\nsync.rooms.try &.join.each do |room_id, room|\n room.timeline.events.each do |event|\n case event\n when Caridina::Events::Member\n # someone's membership changed\n when Caridina:: Events::PowerLevels\n # some authorization changed\n when Caridina::Events::Messages\n # someone talked\n else\n # unknown event\n end\n end\nend\n```\n\nSometimes the event's content can be polymorphic too.\nThat is especially the case for message events.\nBy using again a `case` clause you can restrict its type to access all its fields.\n\n### Send events\n\nTheir is not a single method to send an event.\nInstead this library provides a set of methods that correspond to different\nactions you may want to do.\nYou usually do not need to worry about crafting the event to send.\n\n> :warning: This part is in a very early stage.\n> Currently only a few methods are provided.\n\n```\n# join a room\nconn.join(\"!room_id:matrix.org\")\n# send a message\nevent_id = conn.send_message(\"!room_id:matrix.org\", \"Hello, wurld!\")\n# edit a message\nconn.edit_message(\"!room_id:matrix.org\", \"Hello, world!\"))\n```\n\n## Development\n\nInstall the depencies with `shards install`.\n\n* `make test` runs the tests\n* `make lint` runs the formater plus a linter\n\n## Contributing\n\n1. Fork it ()\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\n\n## Contributors\n\n- [erdnaxeli](https://github.com/erdnaxeli) - creator and maintainer\n","program":{"html_id":"caridina/toplevel","path":"toplevel.html","kind":"module","full_name":"Top Level Namespace","name":"Top Level Namespace","abstract":false,"superclass":null,"ancestors":[],"locations":[],"repository_name":"caridina","program":true,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":null,"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[{"id":"caridina_use_json_discriminator(mapping,fallback=nil)-macro","html_id":"caridina_use_json_discriminator(mapping,fallback=nil)-macro","name":"caridina_use_json_discriminator","doc":"`JSON::Serializable::use_json_discriminator` on steroids.\n\nIt supports looking at many fields to discriminate the type, and case use nested\nfields. If no known discriminator value is found, it use the fallback type if any\nor raise an error.\n\nThe mapping should be order by priority, in case many discriminator values are\nfound, higher priority last.\n\nFor example:\n\n```\nstruct Event\n include JSON::Serializable\n\n caridina_use_json_discriminator(\n {\n [\"type\", \"name\"] => {\"A\": EventA, \"B\": EventB},\n \"event_type\" => {\"A\": EventA, \"C\": EventC},\n }\n )\n\n struct Type\n include JSON::Serializable\n\n getter name : String\n end\n\n getter type : Type\n getter event_type : String\nend\n\nEvent.from_json(%(\n {\n \"type\": {\"name\": \"A\"},\n ...\n }\n)) # => EventA(…)\n\nEvent.from_json(%(\n {\n \"event_type\": \"C\",\n ...\n }\n)) # => EventC(…)\n```\n\nYou MUST use an array when using a nested field as a discriminator field. There\nis no limit on the level of nesting.\n\nIf many discriminator fields match, the last one with a known value will be used.\n\n```\nEvent.from(%(\n {\n \"type\": {\"name\": \"unknown\"},\n \"event_type\": \"C\"\n }\n)) # => EventC(…)\n\nEvent.from(%(\n {\n \"type\": {\"name\": \"A\"},\n \"event_type\": \"unknown\"\n }\n)) # => EventA(…)\n\n# \"event_type\" is read first, but in the mapping [\"type\", \"name\"] came last so\n# it has priority.\nEvent.from(%(\n {\n \"event_type\": \"C\",\n \"type\": {\"name\": \"A\"}\n }\n)) # => EventA(…)","summary":"

    JSON::Serializable::use_json_discriminator on steroids.

    ","abstract":false,"args":[{"name":"mapping","doc":null,"default_value":"","external_name":"mapping","restriction":""},{"name":"fallback","doc":null,"default_value":"nil","external_name":"fallback","restriction":""}],"args_string":"(mapping, fallback = nil)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/macros.cr#L76","def":{"name":"caridina_use_json_discriminator","args":[{"name":"mapping","doc":null,"default_value":"","external_name":"mapping","restriction":""},{"name":"fallback","doc":null,"default_value":"nil","external_name":"fallback","restriction":""}],"double_splat":null,"splat_index":null,"block_arg":null,"visibility":"Public","body":" \n{% if mapping.is_a?(HashLiteral) || mapping.is_a?(NamedTupleLiteral) %}{% else %}\n {% mapping.raise(\"mapping argument must be a HashLiteral or a NamedTupleLiteral, not #{mapping.class_name.id}\") %}\n {% end %}\n\n\n def self.new(pull : ::JSON::PullParser)\n location = pull.location\n\n \n# Array of tuples(field name, discriminator value)\n\n discriminators = Array(Tuple(String | Array(String), String)).new\n\n \n# We read the JSON to find discriminators fields, while also rebuiding it\n\n \n# to give it to the final type.\n\n json = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n \n# We try to match the key to a discriminator field\n\n case key\n \n{% for field in mapping.keys %}\n {% if field.is_a?(ArrayLiteral) %}\n when {{ field[0].id.stringify }}\n field_name = [{{ field[0] }}]\n\n # If the field is an array, we construct nested `cases` blocks.\n {% for subfield, index in field %}\n {% if index != 0 %}\n builder.field(key) do\n builder.start_object\n pull.read_object do |key|\n case key\n when {{ subfield.id.stringify }}\n # We construct the field's fully qualified name,\n # with all the nested fields.\n field_name << {{ subfield.id.stringify }}\n {% end %}\n {% end %}\n\n # We come here if we matched a full nested discriminator. We\n # save the value and the field's fully qualified name.\n value = pull.read_string\n builder.field(key, value)\n discriminators << {field_name, value}\n\n # We need to do a second loop to write all the `else` clauses\n # and close all the `case` blocks.\n {% for f, index in field %}\n {% if index != 0 %}\n else\n # We save the raw json at for each non matched field.\n builder.field(key) { pull.read_raw(builder) }\n end\n end\n builder.end_object\n end\n {% end %}\n {% end %}\n {% else %}\n # If the field is not an array, we just try to match it.\n when {{ field.id.stringify }}\n value = pull.read_string\n builder.field(key, value)\n discriminators << {key, value}\n {% end %}\n {% end %}\n\n \nelse\n \n# We save the raw json at for each non matched field.\n\n builder.field(key) \n{ pull.read_raw(builder) }\n \nend\n \nend\n builder.end_object\n \nend\n \nend\n\n fields = \n{{ mapping.keys.id }}\n\n unless discriminators.size\n raise ::JSON::MappingError.new(\"JSON is missing one of discriminator fields: #{fields}\", to_s, nil, *location, nil)\n \nend\n\n \n# Order the discriminators found by priority, higher priority first.\n\n discriminators.sort_by! \n{ |x| fields.index(x[0]) || 0 }.reverse!\n \n# For each discriminator found, we match its field name (this can't fail),\n\n \n# then we try to match the field's value.\n\n discriminators.each do |field_name, discriminator_value|\n case field_name\n \n{% for field_key, field_mapping in mapping %}\n when {{ field_key }}\n case discriminator_value\n {% for key, value in mapping[field_key] %}\n when {{ key.id.stringify }}\n # We found a valid discriminator value, we can stop here.\n return {{ value.id }}.from_json(json)\n {% end %}\n end\n {% end %}\n\n \nelse\n raise Exception.new(\"This can't happen\")\n \nend\n \nend\n\n \n# If we did not return at this point, it means no discriminator value matched.\n\n \n{% if fallback %}\n {{ fallback.id }}.from_json(json)\n {% else %}\n raise ::JSON::MappingError.new(\"Unknown discriminators #{discriminators.inspect}\", to_s, nil, *location, nil)\n {% end %}\n\n \nend\n\n"}}],"types":[{"html_id":"caridina/Caridina","path":"Caridina.html","kind":"module","full_name":"Caridina","name":"Caridina","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/caridina.cr","line_number":5,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/caridina.cr#L5"},{"filename":"src/connection.cr","line_number":8,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L8"},{"filename":"src/errors.cr","line_number":1,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/errors.cr#L1"},{"filename":"src/events/base.cr","line_number":1,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L1"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[{"id":"Log","name":"Log","value":"::Log.for(self)","doc":null,"summary":null},{"id":"VERSION","name":"VERSION","value":"\"0.3.1\"","doc":null,"summary":null}],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":null,"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[{"html_id":"caridina/Caridina/Connection","path":"Caridina/Connection.html","kind":"module","full_name":"Caridina::Connection","name":"Connection","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/connection.cr","line_number":10,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L10"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[{"html_id":"caridina/Caridina/ConnectionImpl","kind":"class","full_name":"Caridina::ConnectionImpl","name":"ConnectionImpl"}],"namespace":{"html_id":"caridina/Caridina","kind":"module","full_name":"Caridina","name":"Caridina"},"doc":"Interface to represent a Matrix client.","summary":"

    Interface to represent a Matrix client.

    ","class_methods":[],"constructors":[],"instance_methods":[{"id":"edit_message(room_id:String,event_id:String,message:String,html:String?=nil):Nil-instance-method","html_id":"edit_message(room_id:String,event_id:String,message:String,html:String?=nil):Nil-instance-method","name":"edit_message","doc":null,"summary":null,"abstract":true,"args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"args_string":"(room_id : String, event_id : String, message : String, html : String? = nil) : Nil","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L14","def":{"name":"edit_message","args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Nil","visibility":"Public","body":""}},{"id":"get(route,**options)-instance-method","html_id":"get(route,**options)-instance-method","name":"get","doc":null,"summary":null,"abstract":true,"args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""}],"args_string":"(route, **options)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L16","def":{"name":"get","args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""}],"double_splat":{"name":"options","doc":null,"default_value":"","external_name":"options","restriction":""},"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":""}},{"id":"post(route,data=nil,**options)-instance-method","html_id":"post(route,data=nil,**options)-instance-method","name":"post","doc":null,"summary":null,"abstract":true,"args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"args_string":"(route, data = nil, **options)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L17","def":{"name":"post","args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"double_splat":{"name":"options","doc":null,"default_value":"","external_name":"options","restriction":""},"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":""}},{"id":"put(route,data=nil)-instance-method","html_id":"put(route,data=nil)-instance-method","name":"put","doc":null,"summary":null,"abstract":true,"args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"args_string":"(route, data = nil)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L18","def":{"name":"put","args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":""}},{"id":"send_message(room_id:String,message:String,html:String?=nil):String-instance-method","html_id":"send_message(room_id:String,message:String,html:String?=nil):String-instance-method","name":"send_message","doc":null,"summary":null,"abstract":true,"args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"args_string":"(room_id : String, message : String, html : String? = nil) : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L15","def":{"name":"send_message","args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":""}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Connection/ExecError","path":"Caridina/Connection/ExecError.html","kind":"class","full_name":"Caridina::Connection::ExecError","name":"ExecError","abstract":false,"superclass":{"html_id":"caridina/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"caridina/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/connection.cr","line_number":11,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L11"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Connection","kind":"module","full_name":"Caridina::Connection","name":"Connection"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/ConnectionImpl","path":"Caridina/ConnectionImpl.html","kind":"class","full_name":"Caridina::ConnectionImpl","name":"ConnectionImpl","abstract":false,"superclass":{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"caridina/Caridina/Connection","kind":"module","full_name":"Caridina::Connection","name":"Connection"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/connection.cr","line_number":21,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L21"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[{"id":"Log","name":"Log","value":"Caridina::Log.for(self)","doc":null,"summary":null}],"included_modules":[{"html_id":"caridina/Caridina/Connection","kind":"module","full_name":"Caridina::Connection","name":"Connection"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina","kind":"module","full_name":"Caridina","name":"Caridina"},"doc":null,"summary":null,"class_methods":[{"id":"login(hs_url:String,user_id:String,password:String):String-class-method","html_id":"login(hs_url:String,user_id:String,password:String):String-class-method","name":"login","doc":null,"summary":null,"abstract":false,"args":[{"name":"hs_url","doc":null,"default_value":"","external_name":"hs_url","restriction":"String"},{"name":"user_id","doc":null,"default_value":"","external_name":"user_id","restriction":"String"},{"name":"password","doc":null,"default_value":"","external_name":"password","restriction":"String"}],"args_string":"(hs_url : String, user_id : String, password : String) : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L30","def":{"name":"login","args":[{"name":"hs_url","doc":null,"default_value":"","external_name":"hs_url","restriction":"String"},{"name":"user_id","doc":null,"default_value":"","external_name":"user_id","restriction":"String"},{"name":"password","doc":null,"default_value":"","external_name":"password","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"data = {type: \"m.login.password\", identifier: {type: \"m.id.user\", user: user_id}, password: password}\nresponse = HTTP::Client.post(\"#{hs_url}/_matrix/client/r0/login\", headers: HTTP::Headers {\"Content-Type\" => \"application/json\"}, body: data.to_json)\nif !response.success\n raise(Exception.new(\"Error with status_code #{response.status_code}\"))\nend\ndata = Hash(String, String).from_json(response.body)\ndata[\"access_token\"]\n"}}],"constructors":[{"id":"new(hs_url:String,access_token:String)-class-method","html_id":"new(hs_url:String,access_token:String)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"hs_url","doc":null,"default_value":"","external_name":"hs_url","restriction":"String"},{"name":"access_token","doc":null,"default_value":"","external_name":"access_token","restriction":"String"}],"args_string":"(hs_url : String, access_token : String)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L53","def":{"name":"new","args":[{"name":"hs_url","doc":null,"default_value":"","external_name":"hs_url","restriction":"String"},{"name":"access_token","doc":null,"default_value":"","external_name":"access_token","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(hs_url, access_token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"id":"create_filter(filter):String-instance-method","html_id":"create_filter(filter):String-instance-method","name":"create_filter","doc":null,"summary":null,"abstract":false,"args":[{"name":"filter","doc":null,"default_value":"","external_name":"filter","restriction":""}],"args_string":"(filter) : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L63","def":{"name":"create_filter","args":[{"name":"filter","doc":null,"default_value":"","external_name":"filter","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"response = post(\"/user/#{@user_id}/filter\", filter)\nresponse = Responses::Filter.from_json(response)\nresponse.filter_id\n"}},{"id":"edit_message(room_id:String,event_id:String,message:String,html:String?=nil):Nil-instance-method","html_id":"edit_message(room_id:String,event_id:String,message:String,html:String?=nil):Nil-instance-method","name":"edit_message","doc":null,"summary":null,"abstract":false,"args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"args_string":"(room_id : String, event_id : String, message : String, html : String? = nil) : Nil","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L73","def":{"name":"edit_message","args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Nil","visibility":"Public","body":"tx_id = get_tx_id\ndata = Events::Message::MSC2676::Text.new(message, html, event_id)\nput(\"/rooms/#{room_id}/send/m.room.message/#{tx_id}\", data)\n"}},{"id":"get(route,**options)-instance-method","html_id":"get(route,**options)-instance-method","name":"get","doc":null,"summary":null,"abstract":false,"args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""}],"args_string":"(route, **options)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L136","def":{"name":"get","args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""}],"double_splat":{"name":"options","doc":null,"default_value":"","external_name":"options","restriction":""},"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"exec(\"GET\", route, **options)"}},{"id":"join(room_id):Nil-instance-method","html_id":"join(room_id):Nil-instance-method","name":"join","doc":null,"summary":null,"abstract":false,"args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":""}],"args_string":"(room_id) : Nil","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L69","def":{"name":"join","args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Nil","visibility":"Public","body":"post(\"/rooms/#{room_id}/join\")"}},{"id":"post(route,data=nil,**options)-instance-method","html_id":"post(route,data=nil,**options)-instance-method","name":"post","doc":null,"summary":null,"abstract":false,"args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"args_string":"(route, data = nil, **options)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L140","def":{"name":"post","args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"double_splat":{"name":"options","doc":null,"default_value":"","external_name":"options","restriction":""},"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"exec(\"POST\", route, **options, body: data)"}},{"id":"put(route,data=nil)-instance-method","html_id":"put(route,data=nil)-instance-method","name":"put","doc":null,"summary":null,"abstract":false,"args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"args_string":"(route, data = nil)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L144","def":{"name":"put","args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"exec(\"PUT\", route, body: data)"}},{"id":"send_message(room_id:String,message:String,html:String?=nil):String-instance-method","html_id":"send_message(room_id:String,message:String,html:String?=nil):String-instance-method","name":"send_message","doc":null,"summary":null,"abstract":false,"args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"args_string":"(room_id : String, message : String, html : String? = nil) : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L79","def":{"name":"send_message","args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"tx_id = get_tx_id\npayload = Events::Message::Text.new(message, html)\ndata = put(\"/rooms/#{room_id}/send/m.room.message/#{tx_id}\", payload)\n(Responses::Send.from_json(data)).event_id\n"}},{"id":"sync(channel)-instance-method","html_id":"sync(channel)-instance-method","name":"sync","doc":null,"summary":null,"abstract":false,"args":[{"name":"channel","doc":null,"default_value":"","external_name":"channel","restriction":""}],"args_string":"(channel)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L87","def":{"name":"sync","args":[{"name":"channel","doc":null,"default_value":"","external_name":"channel","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"if @syncing\n raise(Exception.new(\"Already syncing\"))\nend\nfilter = {account_data: {types: [] of String}, presence: {types: [] of String}, room: {account_data: {types: [] of String}, ephemeral: {types: [] of String}, timeline: {lazy_load_members: true}, state: {lazy_load_members: true}}}\nfilter_id = create_filter(filter)\nspawn do\n next_batch = nil\n loop do\n begin\n if next_batch.nil?\n response = get(\"/sync\", is_sync: true, filter: filter_id)\n else\n response = get(\"/sync\", is_sync: true, filter: filter_id, since: next_batch, timeout: 300000)\n end\n rescue ex : ExecError\n Log.error(exception: ex) do\n \"Error while syncing, waiting 10s before retry\"\n end\n sleep(10)\n next\n end\n sync = Responses::Sync.from_json(response)\n next_batch = sync.next_batch\n channel.send(sync)\n end\nend\n"}},{"id":"user_id:String-instance-method","html_id":"user_id:String-instance-method","name":"user_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L28","def":{"name":"user_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@user_id"}},{"id":"whoami:String-instance-method","html_id":"whoami:String-instance-method","name":"whoami","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L130","def":{"name":"whoami","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"response = get(\"/account/whoami\")\nresponse = Responses::WhoAmI.from_json(response)\nresponse.user_id\n"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Errors","path":"Caridina/Errors.html","kind":"module","full_name":"Caridina::Errors","name":"Errors","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/errors.cr","line_number":2,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/errors.cr#L2"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina","kind":"module","full_name":"Caridina","name":"Caridina"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[{"html_id":"caridina/Caridina/Errors/RateLimited","path":"Caridina/Errors/RateLimited.html","kind":"struct","full_name":"Caridina::Errors::RateLimited","name":"RateLimited","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/errors.cr","line_number":3,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/errors.cr#L3"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Errors","kind":"module","full_name":"Caridina::Errors","name":"Errors"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(payload)-class-method","html_id":"new(payload)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"payload","doc":null,"default_value":"","external_name":"payload","restriction":""}],"args_string":"(payload)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/errors.cr#L6","def":{"name":"new","args":[{"name":"payload","doc":null,"default_value":"","external_name":"payload","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(payload)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"id":"retry_after_ms:Int32-instance-method","html_id":"retry_after_ms:Int32-instance-method","name":"retry_after_ms","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int32","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/errors.cr#L4","def":{"name":"retry_after_ms","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Int32","visibility":"Public","body":"@retry_after_ms"}}],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events","path":"Caridina/Events.html","kind":"module","full_name":"Caridina::Events","name":"Events","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/events/base.cr","line_number":1,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L1"},{"filename":"src/events/modules/instant_messaging.cr","line_number":1,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L1"},{"filename":"src/events/room_events.cr","line_number":1,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L1"},{"filename":"src/events/state_events.cr","line_number":1,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L1"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina","kind":"module","full_name":"Caridina","name":"Caridina"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/CanonicalAlias","path":"Caridina/Events/CanonicalAlias.html","kind":"class","full_name":"Caridina::Events::CanonicalAlias","name":"CanonicalAlias","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":7,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L7"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L7","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content-instance-method","html_id":"content:Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content","visibility":"Public","body":"@content"}},{"id":"unsigned:UnsignedData?-instance-method","html_id":"unsigned:UnsignedData?-instance-method","name":"unsigned","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UnsignedData?","source_link":null,"def":{"name":"unsigned","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UnsignedData | ::Nil","visibility":"Public","body":"@unsigned"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/CanonicalAlias/Content","path":"Caridina/Events/CanonicalAlias/Content.html","kind":"class","full_name":"Caridina::Events::CanonicalAlias::Content","name":"Content","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":8,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L8"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/CanonicalAlias","kind":"class","full_name":"Caridina::Events::CanonicalAlias","name":"CanonicalAlias"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L8","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"alias:String?-instance-method","html_id":"alias:String?-instance-method","name":"alias","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L9","def":{"name":"alias","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@alias"}},{"id":"alt_aliases:Array(String)-instance-method","html_id":"alt_aliases:Array(String)-instance-method","name":"alt_aliases","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(String)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L10","def":{"name":"alt_aliases","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(String)","visibility":"Public","body":"@alt_aliases"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/CanonicalAlias/UnsignedData","path":"Caridina/Events/CanonicalAlias/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::CanonicalAlias::UnsignedData","name":"UnsignedData","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":7,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L7"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/CanonicalAlias","kind":"class","full_name":"Caridina::Events::CanonicalAlias","name":"CanonicalAlias"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/Create","path":"Caridina/Events/Create.html","kind":"class","full_name":"Caridina::Events::Create","name":"Create","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":15,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L15"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L15","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content-instance-method","html_id":"content:Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content","visibility":"Public","body":"@content"}},{"id":"unsigned:UnsignedData?-instance-method","html_id":"unsigned:UnsignedData?-instance-method","name":"unsigned","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UnsignedData?","source_link":null,"def":{"name":"unsigned","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UnsignedData | ::Nil","visibility":"Public","body":"@unsigned"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/Create/Content","path":"Caridina/Events/Create/Content.html","kind":"class","full_name":"Caridina::Events::Create::Content","name":"Content","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":23,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L23"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Create","kind":"class","full_name":"Caridina::Events::Create","name":"Create"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L23","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"creator:String-instance-method","html_id":"creator:String-instance-method","name":"creator","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L24","def":{"name":"creator","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@creator"}},{"id":"m_federate:Bool-instance-method","html_id":"m_federate:Bool-instance-method","name":"m_federate","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Bool","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L26","def":{"name":"m_federate","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@m_federate"}},{"id":"predecessor:PreviousRoom?-instance-method","html_id":"predecessor:PreviousRoom?-instance-method","name":"predecessor","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : PreviousRoom?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L28","def":{"name":"predecessor","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"PreviousRoom | ::Nil","visibility":"Public","body":"@predecessor"}},{"id":"room_version:String-instance-method","html_id":"room_version:String-instance-method","name":"room_version","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L27","def":{"name":"room_version","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@room_version"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Create/PreviousRoom","path":"Caridina/Events/Create/PreviousRoom.html","kind":"struct","full_name":"Caridina::Events::Create::PreviousRoom","name":"PreviousRoom","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":16,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L16"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Create","kind":"class","full_name":"Caridina::Events::Create","name":"Create"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L17","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"event_id:String-instance-method","html_id":"event_id:String-instance-method","name":"event_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L20","def":{"name":"event_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@event_id"}},{"id":"room_id:String-instance-method","html_id":"room_id:String-instance-method","name":"room_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L19","def":{"name":"room_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@room_id"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Create/UnsignedData","path":"Caridina/Events/Create/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::Create::UnsignedData","name":"UnsignedData","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":15,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L15"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Create","kind":"class","full_name":"Caridina::Events::Create","name":"Create"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/Event","path":"Caridina/Events/Event.html","kind":"class","full_name":"Caridina::Events::Event","name":"Event","abstract":true,"superclass":{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/base.cr","line_number":12,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L12"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Unknown","kind":"class","full_name":"Caridina::Events::Unknown","name":"Unknown"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":"Base type representing an event.\n\nIt has a class method `#from_json` that can be used to deserialize an event.\n You can then match the returned event type against known types.\n\nIf the event is unknown, it returns nil.","summary":"

    Base type representing an event.

    ","class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L15","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"location = pull.location\ndiscriminators = Array(Tuple(String | Array(String), String)).new\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n case key\n when \"type\"\n value = pull.read_string\n builder.field(key, value)\n discriminators << {key, value}\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nfields = [\"type\"]\nif discriminators.size\nelse\n raise(::JSON::MappingError.new(\"JSON is missing one of discriminator fields: #{fields}\", to_s, nil, *location, nil))\nend\ndiscriminators.sort_by! do |x|\n (fields.index(x[0])) || 0\nend.reverse!\ndiscriminators.each do |field_name, discriminator_value|\n case field_name\n when \"type\"\n case discriminator_value\n when \"m.room.canonical_alias\"\n return CanonicalAlias.from_json(json)\n when \"m.room.create\"\n return Create.from_json(json)\n when \"m.room.join_rules\"\n return JoinRules.from_json(json)\n when \"m.room.member\"\n return Member.from_json(json)\n when \"m.room.power_levels\"\n return PowerLevels.from_json(json)\n when \"m.room.redaction\"\n return Redaction.from_json(json)\n when \"m.room.message\"\n return Message.from_json(json)\n end\n else\n raise(Exception.new(\"This can't happen\"))\n end\nend\nUnknown.from_json(json)\n"}}],"instance_methods":[{"id":"type:String-instance-method","html_id":"type:String-instance-method","name":"type","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L48","def":{"name":"type","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@type"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/Event/Content","path":"Caridina/Events/Event/Content.html","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content","abstract":true,"superclass":{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/base.cr","line_number":40,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L40"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Events/CanonicalAlias/Content","kind":"class","full_name":"Caridina::Events::CanonicalAlias::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Create/Content","kind":"class","full_name":"Caridina::Events::Create::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/JoinRules/Content","kind":"class","full_name":"Caridina::Events::JoinRules::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Member/Content","kind":"class","full_name":"Caridina::Events::Member::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Message/Content","kind":"class","full_name":"Caridina::Events::Message::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/PowerLevels/Content","kind":"class","full_name":"Caridina::Events::PowerLevels::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Redaction/Content","kind":"class","full_name":"Caridina::Events::Redaction::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Unknown/Content","kind":"class","full_name":"Caridina::Events::Unknown::Content","name":"Content"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L41","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"relates_to:RelatesTo?-instance-method","html_id":"relates_to:RelatesTo?-instance-method","name":"relates_to","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : RelatesTo?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L45","def":{"name":"relates_to","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"RelatesTo | ::Nil","visibility":"Public","body":"@relates_to"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Event/RelatesTo","path":"Caridina/Events/Event/RelatesTo.html","kind":"struct","full_name":"Caridina::Events::Event::RelatesTo","name":"RelatesTo","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/base.cr","line_number":30,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L30"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(rel_type,event_id)-class-method","html_id":"new(rel_type,event_id)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"rel_type","doc":null,"default_value":"","external_name":"rel_type","restriction":""},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":""}],"args_string":"(rel_type, event_id)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L36","def":{"name":"new","args":[{"name":"rel_type","doc":null,"default_value":"","external_name":"rel_type","restriction":""},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(rel_type, event_id)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L31","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"event_id:String-instance-method","html_id":"event_id:String-instance-method","name":"event_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L34","def":{"name":"event_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@event_id"}},{"id":"rel_type:String-instance-method","html_id":"rel_type:String-instance-method","name":"rel_type","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L33","def":{"name":"rel_type","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@rel_type"}}],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/JoinRules","path":"Caridina/Events/JoinRules.html","kind":"class","full_name":"Caridina::Events::JoinRules","name":"JoinRules","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":33,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L33"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L33","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content-instance-method","html_id":"content:Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content","visibility":"Public","body":"@content"}},{"id":"unsigned:UnsignedData?-instance-method","html_id":"unsigned:UnsignedData?-instance-method","name":"unsigned","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UnsignedData?","source_link":null,"def":{"name":"unsigned","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UnsignedData | ::Nil","visibility":"Public","body":"@unsigned"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/JoinRules/Content","path":"Caridina/Events/JoinRules/Content.html","kind":"class","full_name":"Caridina::Events::JoinRules::Content","name":"Content","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":41,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L41"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/JoinRules","kind":"class","full_name":"Caridina::Events::JoinRules","name":"JoinRules"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L41","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"join_rule:JoinRule-instance-method","html_id":"join_rule:JoinRule-instance-method","name":"join_rule","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : JoinRule","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L42","def":{"name":"join_rule","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"JoinRule","visibility":"Public","body":"@join_rule"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/JoinRules/JoinRule","path":"Caridina/Events/JoinRules/JoinRule.html","kind":"enum","full_name":"Caridina::Events::JoinRules::JoinRule","name":"JoinRule","abstract":false,"superclass":null,"ancestors":[{"html_id":"caridina/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"caridina/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":34,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L34"}],"repository_name":"caridina","program":false,"enum":true,"alias":false,"aliased":"","const":false,"constants":[{"id":"Public","name":"Public","value":"0","doc":null,"summary":null},{"id":"Knock","name":"Knock","value":"1","doc":null,"summary":null},{"id":"Invite","name":"Invite","value":"2","doc":null,"summary":null},{"id":"Private","name":"Private","value":"3","doc":null,"summary":null}],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/JoinRules","kind":"class","full_name":"Caridina::Events::JoinRules","name":"JoinRules"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[{"id":"invite?-instance-method","html_id":"invite?-instance-method","name":"invite?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L37","def":{"name":"invite?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Invite"}},{"id":"knock?-instance-method","html_id":"knock?-instance-method","name":"knock?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L36","def":{"name":"knock?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Knock"}},{"id":"private?-instance-method","html_id":"private?-instance-method","name":"private?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L38","def":{"name":"private?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Private"}},{"id":"public?-instance-method","html_id":"public?-instance-method","name":"public?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L35","def":{"name":"public?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Public"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/JoinRules/UnsignedData","path":"Caridina/Events/JoinRules/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::JoinRules::UnsignedData","name":"UnsignedData","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":33,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L33"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/JoinRules","kind":"class","full_name":"Caridina::Events::JoinRules","name":"JoinRules"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/Member","path":"Caridina/Events/Member.html","kind":"class","full_name":"Caridina::Events::Member","name":"Member","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":47,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L47"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L47","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content-instance-method","html_id":"content:Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content","visibility":"Public","body":"@content"}},{"id":"unsigned:UnsignedData?-instance-method","html_id":"unsigned:UnsignedData?-instance-method","name":"unsigned","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UnsignedData?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L102","def":{"name":"unsigned","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UnsignedData | ::Nil","visibility":"Public","body":"@unsigned"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/Member/Content","path":"Caridina/Events/Member/Content.html","kind":"class","full_name":"Caridina::Events::Member::Content","name":"Content","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":94,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L94"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Member","kind":"class","full_name":"Caridina::Events::Member","name":"Member"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L94","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"avatar_url:String?-instance-method","html_id":"avatar_url:String?-instance-method","name":"avatar_url","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L95","def":{"name":"avatar_url","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@avatar_url"}},{"id":"displayname:String?-instance-method","html_id":"displayname:String?-instance-method","name":"displayname","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L96","def":{"name":"displayname","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@displayname"}},{"id":"is_direct:Bool?-instance-method","html_id":"is_direct:Bool?-instance-method","name":"is_direct","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Bool?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L98","def":{"name":"is_direct","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Bool | ::Nil","visibility":"Public","body":"@is_direct"}},{"id":"membership:Membership-instance-method","html_id":"membership:Membership-instance-method","name":"membership","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Membership","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L97","def":{"name":"membership","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Membership","visibility":"Public","body":"@membership"}},{"id":"third_party_invite:Invite?-instance-method","html_id":"third_party_invite:Invite?-instance-method","name":"third_party_invite","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Invite?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L99","def":{"name":"third_party_invite","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Invite | ::Nil","visibility":"Public","body":"@third_party_invite"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Member/Invite","path":"Caridina/Events/Member/Invite.html","kind":"struct","full_name":"Caridina::Events::Member::Invite","name":"Invite","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":56,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L56"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Member","kind":"class","full_name":"Caridina::Events::Member","name":"Member"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L57","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"display_name:String-instance-method","html_id":"display_name:String-instance-method","name":"display_name","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L59","def":{"name":"display_name","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@display_name"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Member/Membership","path":"Caridina/Events/Member/Membership.html","kind":"enum","full_name":"Caridina::Events::Member::Membership","name":"Membership","abstract":false,"superclass":null,"ancestors":[{"html_id":"caridina/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"caridina/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":48,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L48"}],"repository_name":"caridina","program":false,"enum":true,"alias":false,"aliased":"","const":false,"constants":[{"id":"Invite","name":"Invite","value":"0","doc":null,"summary":null},{"id":"Join","name":"Join","value":"1","doc":null,"summary":null},{"id":"Knock","name":"Knock","value":"2","doc":null,"summary":null},{"id":"Leave","name":"Leave","value":"3","doc":null,"summary":null},{"id":"Ban","name":"Ban","value":"4","doc":null,"summary":null}],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Member","kind":"class","full_name":"Caridina::Events::Member","name":"Member"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[{"id":"ban?-instance-method","html_id":"ban?-instance-method","name":"ban?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L53","def":{"name":"ban?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Ban"}},{"id":"invite?-instance-method","html_id":"invite?-instance-method","name":"invite?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L49","def":{"name":"invite?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Invite"}},{"id":"join?-instance-method","html_id":"join?-instance-method","name":"join?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L50","def":{"name":"join?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Join"}},{"id":"knock?-instance-method","html_id":"knock?-instance-method","name":"knock?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L51","def":{"name":"knock?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Knock"}},{"id":"leave?-instance-method","html_id":"leave?-instance-method","name":"leave?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L52","def":{"name":"leave?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Leave"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Member/StrippedState","path":"Caridina/Events/Member/StrippedState.html","kind":"struct","full_name":"Caridina::Events::Member::StrippedState","name":"StrippedState","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":68,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L68"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Member","kind":"class","full_name":"Caridina::Events::Member","name":"Member"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L69","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Event::Content-instance-method","html_id":"content:Event::Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Event::Content","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L76","def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Event::Content","visibility":"Public","body":"json = @json_unmapped[\"content\"].to_json\n{% if true %}\n case type\n {% for subclass in StateEvent.subclasses %}\n {% if subclass.annotation(Type) %}\n when {{ (subclass.annotation(Type))[0] }}\n {{ subclass.id }}::Content.from_json(json)\n {% end %}\n {% end %}\n else\n Unknown::Content.from_json(json)\n end\n {% end %}\n"}},{"id":"sender:String-instance-method","html_id":"sender:String-instance-method","name":"sender","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L74","def":{"name":"sender","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@sender"}},{"id":"state_key:String-instance-method","html_id":"state_key:String-instance-method","name":"state_key","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L72","def":{"name":"state_key","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@state_key"}},{"id":"type:String-instance-method","html_id":"type:String-instance-method","name":"type","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L73","def":{"name":"type","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@type"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Member/UnsignedData","path":"Caridina/Events/Member/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::Member::UnsignedData","name":"UnsignedData","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":47,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L47"},{"filename":"src/events/state_events.cr","line_number":62,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L62"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Member","kind":"class","full_name":"Caridina::Events::Member","name":"Member"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L63","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"invite_room_state:Array(StrippedState)?-instance-method","html_id":"invite_room_state:Array(StrippedState)?-instance-method","name":"invite_room_state","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(StrippedState)?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L65","def":{"name":"invite_room_state","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(StrippedState) | ::Nil","visibility":"Public","body":"@invite_room_state"}}],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/Message","path":"Caridina/Events/Message.html","kind":"class","full_name":"Caridina::Events::Message","name":"Message","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/modules/instant_messaging.cr","line_number":3,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L3"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L3","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content-instance-method","html_id":"content:Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content","visibility":"Public","body":"@content"}},{"id":"unsigned:UnsignedData?-instance-method","html_id":"unsigned:UnsignedData?-instance-method","name":"unsigned","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UnsignedData?","source_link":null,"def":{"name":"unsigned","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UnsignedData | ::Nil","visibility":"Public","body":"@unsigned"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/Message/Content","path":"Caridina/Events/Message/Content.html","kind":"class","full_name":"Caridina::Events::Message::Content","name":"Content","abstract":true,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/modules/instant_messaging.cr","line_number":4,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L4"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Events/Message/Text","kind":"class","full_name":"Caridina::Events::Message::Text","name":"Text"},{"html_id":"caridina/Caridina/Events/Message/Unknown","kind":"class","full_name":"Caridina::Events::Message::Unknown","name":"Unknown"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Message","kind":"class","full_name":"Caridina::Events::Message","name":"Message"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L5","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"location = pull.location\ndiscriminators = Array(Tuple(String | Array(String), String)).new\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n case key\n when \"msgtype\"\n value = pull.read_string\n builder.field(key, value)\n discriminators << {key, value}\n when \"m.relates_to\"\n field_name = [\"m.relates_to\"]\n builder.field(key) do\n builder.start_object\n pull.read_object do |key|\n case key\n when \"rel_type\"\n field_name << \"rel_type\"\n value = pull.read_string\n builder.field(key, value)\n discriminators << {field_name, value}\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nfields = [\"msgtype\", [\"m.relates_to\", \"rel_type\"]]\nif discriminators.size\nelse\n raise(::JSON::MappingError.new(\"JSON is missing one of discriminator fields: #{fields}\", to_s, nil, *location, nil))\nend\ndiscriminators.sort_by! do |x|\n (fields.index(x[0])) || 0\nend.reverse!\ndiscriminators.each do |field_name, discriminator_value|\n case field_name\n when \"msgtype\"\n case discriminator_value\n when \"m.text\"\n return Text.from_json(json)\n end\n when [\"m.relates_to\", \"rel_type\"]\n case discriminator_value\n when \"m.replace\"\n return MSC2676::Dispatcher.from_json(json)\n end\n else\n raise(Exception.new(\"This can't happen\"))\n end\nend\nUnknown.from_json(json)\n"}}],"instance_methods":[{"id":"body:String-instance-method","html_id":"body:String-instance-method","name":"body","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L17","def":{"name":"body","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@body"}},{"id":"msgtype:String-instance-method","html_id":"msgtype:String-instance-method","name":"msgtype","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L18","def":{"name":"msgtype","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@msgtype"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Message/MSC2676","path":"Caridina/Events/Message/MSC2676.html","kind":"module","full_name":"Caridina::Events::Message::MSC2676","name":"MSC2676","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/events/modules/instant_messaging.cr","line_number":38,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L38"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Message","kind":"class","full_name":"Caridina::Events::Message","name":"Message"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/Message/MSC2676/Content","path":"Caridina/Events/Message/MSC2676/Content.html","kind":"module","full_name":"Caridina::Events::Message::MSC2676::Content","name":"Content","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/events/modules/instant_messaging.cr","line_number":52,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L52"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[{"html_id":"caridina/Caridina/Events/Message/MSC2676/Text","kind":"class","full_name":"Caridina::Events::Message::MSC2676::Text","name":"Text"}],"namespace":{"html_id":"caridina/Caridina/Events/Message/MSC2676","kind":"module","full_name":"Caridina::Events::Message::MSC2676","name":"MSC2676"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[{"id":"new_content:Events::Message::Content-instance-method","html_id":"new_content:Events::Message::Content-instance-method","name":"new_content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Events::Message::Content","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L54","def":{"name":"new_content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Events::Message::Content","visibility":"Public","body":"@new_content"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Message/MSC2676/Text","path":"Caridina/Events/Message/MSC2676/Text.html","kind":"class","full_name":"Caridina::Events::Message::MSC2676::Text","name":"Text","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Message/Text","kind":"class","full_name":"Caridina::Events::Message::Text","name":"Text"},"ancestors":[{"html_id":"caridina/Caridina/Events/Message/MSC2676/Content","kind":"module","full_name":"Caridina::Events::Message::MSC2676::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Message/Text","kind":"class","full_name":"Caridina::Events::Message::Text","name":"Text"},{"html_id":"caridina/Caridina/Events/Message/Content","kind":"class","full_name":"Caridina::Events::Message::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/modules/instant_messaging.cr","line_number":57,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L57"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/Caridina/Events/Message/MSC2676/Content","kind":"module","full_name":"Caridina::Events::Message::MSC2676::Content","name":"Content"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Message/MSC2676","kind":"module","full_name":"Caridina::Events::Message::MSC2676","name":"MSC2676"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(body,formatted_body,event_id)-class-method","html_id":"new(body,formatted_body,event_id)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"body","doc":null,"default_value":"","external_name":"body","restriction":""},{"name":"formatted_body","doc":null,"default_value":"","external_name":"formatted_body","restriction":""},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":""}],"args_string":"(body, formatted_body, event_id)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L60","def":{"name":"new","args":[{"name":"body","doc":null,"default_value":"","external_name":"body","restriction":""},{"name":"formatted_body","doc":null,"default_value":"","external_name":"formatted_body","restriction":""},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(body, formatted_body, event_id)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L57","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/Message/Text","path":"Caridina/Events/Message/Text.html","kind":"class","full_name":"Caridina::Events::Message::Text","name":"Text","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Message/Content","kind":"class","full_name":"Caridina::Events::Message::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Message/Content","kind":"class","full_name":"Caridina::Events::Message::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/modules/instant_messaging.cr","line_number":23,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L23"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Events/Message/MSC2676/Text","kind":"class","full_name":"Caridina::Events::Message::MSC2676::Text","name":"Text"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Message","kind":"class","full_name":"Caridina::Events::Message","name":"Message"},"doc":"m.text","summary":"

    m.text

    ","class_methods":[],"constructors":[{"id":"new(body,formatted_body)-class-method","html_id":"new(body,formatted_body)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"body","doc":null,"default_value":"","external_name":"body","restriction":""},{"name":"formatted_body","doc":null,"default_value":"","external_name":"formatted_body","restriction":""}],"args_string":"(body, formatted_body)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L27","def":{"name":"new","args":[{"name":"body","doc":null,"default_value":"","external_name":"body","restriction":""},{"name":"formatted_body","doc":null,"default_value":"","external_name":"formatted_body","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(body, formatted_body)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":"m.text","summary":"

    m.text

    ","abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L23","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"format:String?-instance-method","html_id":"format:String?-instance-method","name":"format","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L24","def":{"name":"format","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@format"}},{"id":"formatted_body:String?-instance-method","html_id":"formatted_body:String?-instance-method","name":"formatted_body","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L25","def":{"name":"formatted_body","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@formatted_body"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Message/Unknown","path":"Caridina/Events/Message/Unknown.html","kind":"class","full_name":"Caridina::Events::Message::Unknown","name":"Unknown","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Message/Content","kind":"class","full_name":"Caridina::Events::Message::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Message/Content","kind":"class","full_name":"Caridina::Events::Message::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/modules/instant_messaging.cr","line_number":35,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L35"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Message","kind":"class","full_name":"Caridina::Events::Message","name":"Message"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L35","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Message/UnsignedData","path":"Caridina/Events/Message/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::Message::UnsignedData","name":"UnsignedData","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/modules/instant_messaging.cr","line_number":3,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L3"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Message","kind":"class","full_name":"Caridina::Events::Message","name":"Message"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/PowerLevels","path":"Caridina/Events/PowerLevels.html","kind":"class","full_name":"Caridina::Events::PowerLevels","name":"PowerLevels","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":106,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L106"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L106","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content-instance-method","html_id":"content:Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content","visibility":"Public","body":"@content"}},{"id":"unsigned:UnsignedData?-instance-method","html_id":"unsigned:UnsignedData?-instance-method","name":"unsigned","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UnsignedData?","source_link":null,"def":{"name":"unsigned","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UnsignedData | ::Nil","visibility":"Public","body":"@unsigned"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/PowerLevels/Content","path":"Caridina/Events/PowerLevels/Content.html","kind":"class","full_name":"Caridina::Events::PowerLevels::Content","name":"Content","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":113,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L113"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/PowerLevels","kind":"class","full_name":"Caridina::Events::PowerLevels","name":"PowerLevels"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L113","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"ban:UInt8-instance-method","html_id":"ban:UInt8-instance-method","name":"ban","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt8","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L114","def":{"name":"ban","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@ban"}},{"id":"events:Hash(String,UInt8)-instance-method","html_id":"events:Hash(String,UInt8)-instance-method","name":"events","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Hash(String, UInt8)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L115","def":{"name":"events","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@events"}},{"id":"events_default:UInt8-instance-method","html_id":"events_default:UInt8-instance-method","name":"events_default","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt8","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L116","def":{"name":"events_default","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@events_default"}},{"id":"invite:UInt8-instance-method","html_id":"invite:UInt8-instance-method","name":"invite","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt8","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L117","def":{"name":"invite","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@invite"}},{"id":"kick:UInt8-instance-method","html_id":"kick:UInt8-instance-method","name":"kick","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt8","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L118","def":{"name":"kick","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@kick"}},{"id":"notifications:Notifications?-instance-method","html_id":"notifications:Notifications?-instance-method","name":"notifications","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Notifications?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L123","def":{"name":"notifications","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Notifications | ::Nil","visibility":"Public","body":"@notifications"}},{"id":"redact:UInt8-instance-method","html_id":"redact:UInt8-instance-method","name":"redact","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt8","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L119","def":{"name":"redact","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@redact"}},{"id":"states_default:UInt8-instance-method","html_id":"states_default:UInt8-instance-method","name":"states_default","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt8","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L120","def":{"name":"states_default","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@states_default"}},{"id":"users:Hash(String,UInt8)-instance-method","html_id":"users:Hash(String,UInt8)-instance-method","name":"users","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Hash(String, UInt8)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L121","def":{"name":"users","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@users"}},{"id":"users_default:Int8-instance-method","html_id":"users_default:Int8-instance-method","name":"users_default","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int8","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L122","def":{"name":"users_default","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@users_default"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/PowerLevels/Notifications","path":"Caridina/Events/PowerLevels/Notifications.html","kind":"struct","full_name":"Caridina::Events::PowerLevels::Notifications","name":"Notifications","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":107,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L107"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/PowerLevels","kind":"class","full_name":"Caridina::Events::PowerLevels","name":"PowerLevels"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L108","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"room:UInt8-instance-method","html_id":"room:UInt8-instance-method","name":"room","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt8","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L110","def":{"name":"room","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@room"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/PowerLevels/UnsignedData","path":"Caridina/Events/PowerLevels/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::PowerLevels::UnsignedData","name":"UnsignedData","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":106,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L106"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/PowerLevels","kind":"class","full_name":"Caridina::Events::PowerLevels","name":"PowerLevels"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/Redaction","path":"Caridina/Events/Redaction.html","kind":"class","full_name":"Caridina::Events::Redaction","name":"Redaction","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/room_events.cr","line_number":28,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L28"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L28","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content-instance-method","html_id":"content:Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content","visibility":"Public","body":"@content"}},{"id":"unsigned:UnsignedData?-instance-method","html_id":"unsigned:UnsignedData?-instance-method","name":"unsigned","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UnsignedData?","source_link":null,"def":{"name":"unsigned","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UnsignedData | ::Nil","visibility":"Public","body":"@unsigned"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/Redaction/Content","path":"Caridina/Events/Redaction/Content.html","kind":"class","full_name":"Caridina::Events::Redaction::Content","name":"Content","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/room_events.cr","line_number":29,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L29"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Redaction","kind":"class","full_name":"Caridina::Events::Redaction","name":"Redaction"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L29","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"reason:String?-instance-method","html_id":"reason:String?-instance-method","name":"reason","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L30","def":{"name":"reason","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@reason"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Redaction/UnsignedData","path":"Caridina/Events/Redaction/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::Redaction::UnsignedData","name":"UnsignedData","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/room_events.cr","line_number":28,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L28"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Redaction","kind":"class","full_name":"Caridina::Events::Redaction","name":"Redaction"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/RoomEvent","path":"Caridina/Events/RoomEvent.html","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent","abstract":true,"superclass":{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/room_events.cr","line_number":2,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L2"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Events/Message","kind":"class","full_name":"Caridina::Events::Message","name":"Message"},{"html_id":"caridina/Caridina/Events/Redaction","kind":"class","full_name":"Caridina::Events::Redaction","name":"Redaction"},{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L2","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"event_id:String-instance-method","html_id":"event_id:String-instance-method","name":"event_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L10","def":{"name":"event_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@event_id"}},{"id":"origin_server_ts:UInt64-instance-method","html_id":"origin_server_ts:UInt64-instance-method","name":"origin_server_ts","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt64","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L12","def":{"name":"origin_server_ts","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UInt64","visibility":"Public","body":"@origin_server_ts"}},{"id":"room_id:String?-instance-method","html_id":"room_id:String?-instance-method","name":"room_id","doc":"\"room_id\" is not set in events returned from the sync API, so we need to\nset it up ourself.","summary":"

    \"room_id\" is not set in events returned from the sync API, so we need to set it up ourself.

    ","abstract":false,"args":[],"args_string":" : String?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L15","def":{"name":"room_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@room_id"}},{"id":"room_id=(room_id:String?)-instance-method","html_id":"room_id=(room_id:String?)-instance-method","name":"room_id=","doc":"\"room_id\" is not set in events returned from the sync API, so we need to\nset it up ourself.","summary":"

    \"room_id\" is not set in events returned from the sync API, so we need to set it up ourself.

    ","abstract":false,"args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String | ::Nil"}],"args_string":"(room_id : String?)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L15","def":{"name":"room_id=","args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@room_id = room_id"}},{"id":"sender:String-instance-method","html_id":"sender:String-instance-method","name":"sender","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L11","def":{"name":"sender","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@sender"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","path":"Caridina/Events/RoomEvent/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData","abstract":true,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/room_events.cr","line_number":3,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L3"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Events/CanonicalAlias/UnsignedData","kind":"struct","full_name":"Caridina::Events::CanonicalAlias::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/Caridina/Events/Create/UnsignedData","kind":"struct","full_name":"Caridina::Events::Create::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/Caridina/Events/JoinRules/UnsignedData","kind":"struct","full_name":"Caridina::Events::JoinRules::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/Caridina/Events/Member/UnsignedData","kind":"struct","full_name":"Caridina::Events::Member::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/Caridina/Events/Message/UnsignedData","kind":"struct","full_name":"Caridina::Events::Message::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/Caridina/Events/PowerLevels/UnsignedData","kind":"struct","full_name":"Caridina::Events::PowerLevels::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/Caridina/Events/Redaction/UnsignedData","kind":"struct","full_name":"Caridina::Events::Redaction::UnsignedData","name":"UnsignedData"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L4","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"age:Int64-instance-method","html_id":"age:Int64-instance-method","name":"age","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int64","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L6","def":{"name":"age","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Int64","visibility":"Public","body":"@age"}},{"id":"transaction_id:String?-instance-method","html_id":"transaction_id:String?-instance-method","name":"transaction_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L7","def":{"name":"transaction_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@transaction_id"}}],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/StateEvent","path":"Caridina/Events/StateEvent.html","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent","abstract":true,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":2,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L2"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Events/CanonicalAlias","kind":"class","full_name":"Caridina::Events::CanonicalAlias","name":"CanonicalAlias"},{"html_id":"caridina/Caridina/Events/Create","kind":"class","full_name":"Caridina::Events::Create","name":"Create"},{"html_id":"caridina/Caridina/Events/JoinRules","kind":"class","full_name":"Caridina::Events::JoinRules","name":"JoinRules"},{"html_id":"caridina/Caridina/Events/Member","kind":"class","full_name":"Caridina::Events::Member","name":"Member"},{"html_id":"caridina/Caridina/Events/PowerLevels","kind":"class","full_name":"Caridina::Events::PowerLevels","name":"PowerLevels"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L2","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"state_key:String-instance-method","html_id":"state_key:String-instance-method","name":"state_key","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L3","def":{"name":"state_key","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@state_key"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Type","path":"Caridina/Events/Type.html","kind":"annotation","full_name":"Caridina::Events::Type","name":"Type","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/events/base.cr","line_number":3,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L3"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":"Use this annotation to specify the event's type.","summary":"

    Use this annotation to specify the event's type.

    ","class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Unknown","path":"Caridina/Events/Unknown.html","kind":"class","full_name":"Caridina::Events::Unknown","name":"Unknown","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/base.cr","line_number":57,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L57"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L57","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content?-instance-method","html_id":"content:Content?-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L61","def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content | ::Nil","visibility":"Public","body":"@content"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/Unknown/Content","path":"Caridina/Events/Unknown/Content.html","kind":"class","full_name":"Caridina::Events::Unknown::Content","name":"Content","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/base.cr","line_number":58,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L58"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Unknown","kind":"class","full_name":"Caridina::Events::Unknown","name":"Unknown"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L58","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]}]},{"html_id":"caridina/Caridina/Responses","path":"Caridina/Responses.html","kind":"module","full_name":"Caridina::Responses","name":"Responses","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/responses/base.cr","line_number":1,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/base.cr#L1"},{"filename":"src/responses/filter.cr","line_number":3,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/filter.cr#L3"},{"filename":"src/responses/send.cr","line_number":3,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/send.cr#L3"},{"filename":"src/responses/sync.cr","line_number":5,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L5"},{"filename":"src/responses/whoami.cr","line_number":3,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/whoami.cr#L3"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina","kind":"module","full_name":"Caridina","name":"Caridina"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[{"html_id":"caridina/Caridina/Responses/Filter","path":"Caridina/Responses/Filter.html","kind":"struct","full_name":"Caridina::Responses::Filter","name":"Filter","abstract":false,"superclass":{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},"ancestors":[{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/responses/filter.cr","line_number":4,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/filter.cr#L4"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses","kind":"module","full_name":"Caridina::Responses","name":"Responses"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/filter.cr#L4","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"filter_id:String-instance-method","html_id":"filter_id:String-instance-method","name":"filter_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/filter.cr#L5","def":{"name":"filter_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@filter_id"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Responses/Response","path":"Caridina/Responses/Response.html","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response","abstract":true,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/responses/base.cr","line_number":2,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/base.cr#L2"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Responses/Filter","kind":"struct","full_name":"Caridina::Responses::Filter","name":"Filter"},{"html_id":"caridina/Caridina/Responses/Send","kind":"struct","full_name":"Caridina::Responses::Send","name":"Send"},{"html_id":"caridina/Caridina/Responses/Sync","kind":"struct","full_name":"Caridina::Responses::Sync","name":"Sync"},{"html_id":"caridina/Caridina/Responses/WhoAmI","kind":"struct","full_name":"Caridina::Responses::WhoAmI","name":"WhoAmI"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses","kind":"module","full_name":"Caridina::Responses","name":"Responses"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/base.cr#L3","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Responses/Send","path":"Caridina/Responses/Send.html","kind":"struct","full_name":"Caridina::Responses::Send","name":"Send","abstract":false,"superclass":{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},"ancestors":[{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/responses/send.cr","line_number":4,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/send.cr#L4"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses","kind":"module","full_name":"Caridina::Responses","name":"Responses"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/send.cr#L4","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"event_id:String-instance-method","html_id":"event_id:String-instance-method","name":"event_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/send.cr#L5","def":{"name":"event_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@event_id"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Responses/Sync","path":"Caridina/Responses/Sync.html","kind":"struct","full_name":"Caridina::Responses::Sync","name":"Sync","abstract":false,"superclass":{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},"ancestors":[{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/responses/sync.cr","line_number":6,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L6"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses","kind":"module","full_name":"Caridina::Responses","name":"Responses"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L6","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"next_batch:String-instance-method","html_id":"next_batch:String-instance-method","name":"next_batch","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L38","def":{"name":"next_batch","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@next_batch"}},{"id":"rooms:Rooms?-instance-method","html_id":"rooms:Rooms?-instance-method","name":"rooms","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Rooms?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L39","def":{"name":"rooms","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Rooms | ::Nil","visibility":"Public","body":"@rooms"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Responses/Sync/InvitedRoom","path":"Caridina/Responses/Sync/InvitedRoom.html","kind":"struct","full_name":"Caridina::Responses::Sync::InvitedRoom","name":"InvitedRoom","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/responses/sync.cr","line_number":26,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L26"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses/Sync","kind":"struct","full_name":"Caridina::Responses::Sync","name":"Sync"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L27","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"invite_state:InviteState-instance-method","html_id":"invite_state:InviteState-instance-method","name":"invite_state","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : InviteState","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L29","def":{"name":"invite_state","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"InviteState","visibility":"Public","body":"@invite_state"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Responses/Sync/InviteState","path":"Caridina/Responses/Sync/InviteState.html","kind":"struct","full_name":"Caridina::Responses::Sync::InviteState","name":"InviteState","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/responses/sync.cr","line_number":32,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L32"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses/Sync","kind":"struct","full_name":"Caridina::Responses::Sync","name":"Sync"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L33","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"events:Array(Events::Member::StrippedState)-instance-method","html_id":"events:Array(Events::Member::StrippedState)-instance-method","name":"events","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(Events::Member::StrippedState)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L35","def":{"name":"events","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(Events::Member::StrippedState)","visibility":"Public","body":"@events"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Responses/Sync/JoinedRoom","path":"Caridina/Responses/Sync/JoinedRoom.html","kind":"struct","full_name":"Caridina::Responses::Sync::JoinedRoom","name":"JoinedRoom","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/responses/sync.cr","line_number":14,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L14"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses/Sync","kind":"struct","full_name":"Caridina::Responses::Sync","name":"Sync"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L15","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"timeline:Timeline-instance-method","html_id":"timeline:Timeline-instance-method","name":"timeline","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Timeline","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L17","def":{"name":"timeline","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Timeline","visibility":"Public","body":"@timeline"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Responses/Sync/Rooms","path":"Caridina/Responses/Sync/Rooms.html","kind":"struct","full_name":"Caridina::Responses::Sync::Rooms","name":"Rooms","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/responses/sync.cr","line_number":7,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L7"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses/Sync","kind":"struct","full_name":"Caridina::Responses::Sync","name":"Sync"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L8","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"invite:Hash(String,InvitedRoom)-instance-method","html_id":"invite:Hash(String,InvitedRoom)-instance-method","name":"invite","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Hash(String, InvitedRoom)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L11","def":{"name":"invite","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Hash(String, InvitedRoom)","visibility":"Public","body":"@invite"}},{"id":"join:Hash(String,JoinedRoom)-instance-method","html_id":"join:Hash(String,JoinedRoom)-instance-method","name":"join","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Hash(String, JoinedRoom)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L10","def":{"name":"join","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Hash(String, JoinedRoom)","visibility":"Public","body":"@join"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Responses/Sync/Timeline","path":"Caridina/Responses/Sync/Timeline.html","kind":"struct","full_name":"Caridina::Responses::Sync::Timeline","name":"Timeline","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/responses/sync.cr","line_number":20,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L20"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses/Sync","kind":"struct","full_name":"Caridina::Responses::Sync","name":"Sync"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L21","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"events:Array(Events::Event)-instance-method","html_id":"events:Array(Events::Event)-instance-method","name":"events","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(Events::Event)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L23","def":{"name":"events","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(Events::Event)","visibility":"Public","body":"@events"}}],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Responses/WhoAmI","path":"Caridina/Responses/WhoAmI.html","kind":"struct","full_name":"Caridina::Responses::WhoAmI","name":"WhoAmI","abstract":false,"superclass":{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},"ancestors":[{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/responses/whoami.cr","line_number":4,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/whoami.cr#L4"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses","kind":"module","full_name":"Caridina::Responses","name":"Responses"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/whoami.cr#L4","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"user_id:String-instance-method","html_id":"user_id:String-instance-method","name":"user_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/whoami.cr#L5","def":{"name":"user_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@user_id"}}],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Syncer","path":"Caridina/Syncer.html","kind":"class","full_name":"Caridina::Syncer","name":"Syncer","abstract":false,"superclass":{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/syncer.cr","line_number":3,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/syncer.cr#L3"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina","kind":"module","full_name":"Caridina","name":"Caridina"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[{"id":"on(event_type:Events::Event.class,&block:EventListener):Nil-instance-method","html_id":"on(event_type:Events::Event.class,&block:EventListener):Nil-instance-method","name":"on","doc":null,"summary":null,"abstract":false,"args":[{"name":"event_type","doc":null,"default_value":"","external_name":"event_type","restriction":"Events::Event.class"}],"args_string":"(event_type : Events::Event.class, &block : EventListener) : Nil","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/syncer.cr#L21","def":{"name":"on","args":[{"name":"event_type","doc":null,"default_value":"","external_name":"event_type","restriction":"Events::Event.class"}],"double_splat":null,"splat_index":null,"yields":0,"block_arg":{"name":"block","doc":null,"default_value":"","external_name":"block","restriction":"EventListener"},"return_type":"Nil","visibility":"Public","body":"if !(@listeners.has_key?(event_type))\n @listeners[event_type] = Array(EventListener).new\nend\n@listeners[event_type] << block\n"}},{"id":"process_response(sync:Responses::Sync):Nil-instance-method","html_id":"process_response(sync:Responses::Sync):Nil-instance-method","name":"process_response","doc":null,"summary":null,"abstract":false,"args":[{"name":"sync","doc":null,"default_value":"","external_name":"sync","restriction":"Responses::Sync"}],"args_string":"(sync : Responses::Sync) : Nil","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/syncer.cr#L7","def":{"name":"process_response","args":[{"name":"sync","doc":null,"default_value":"","external_name":"sync","restriction":"Responses::Sync"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Nil","visibility":"Public","body":"sync.rooms.try do |__arg0|\n __arg0.join.each do |room_id, room|\n room.timeline.events.each do |event|\n if event = event.as?(Events::RoomEvent)\n event.room_id = room_id\n @listeners[event.class]?.try(&.each do |listener|\n listener.call(event)\n end)\n end\n end\n end\nend"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Syncer/EventListener","path":"Caridina/Syncer/EventListener.html","kind":"alias","full_name":"Caridina::Syncer::EventListener","name":"EventListener","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/syncer.cr","line_number":4,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/syncer.cr#L4"}],"repository_name":"caridina","program":false,"enum":false,"alias":true,"aliased":"Proc(Caridina::Events::Event, Nil)","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Syncer","kind":"class","full_name":"Caridina::Syncer","name":"Syncer"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[]}]}]}]}} \ No newline at end of file +{"repository_name":"caridina","body":"# caridina\n\nA [Matrix](https://matrix.org) client library written in [Crystal](https://crystal-lang.org).\n\nIt is also a species of shrimp, one of them being named \"crystal red\". Crystal for the language, red for the Matrix's red pill.\n\n\"a\n\n## Installation\n\n1. Add the dependency to your `shard.yml`:\n\n ```yaml\n dependencies:\n caridina:\n github: erdnaxeli/caridina\n ```\n\n2. Run `shards install`\n\n## Usage\n\n### Connecting\n\nCreate a new connection object:\n\n```crystal\nrequire \"caridina\"\n\nconn = Caridina::ConnectionImpl.new(\n \"https://my-favorite-hs.example.org\",\n \"my access token\",\n)\n```\n\nYou can also login to get a new access token:\n\n```crystal\naccess_token = Caridina::ConnectionImpl.login(\n \"https://my-favorite-hs.example.org\",\n \"@mybotuserid:my-favorite-hs.example.org\",\n \"my secret password\",\n)\n```\n\n### Sync\n\nNow we can create a new channel, and tell the connection object to start syncing.\nThe sync responses will be streamed in the channel.\n\n```Crystal\nmatrix = Channel(Caridina::Events::Sync).new\nconn.sync(matrix)\n\nsync = matrix.receive\n```\n\nYou have now a [sync response](src/response/sync.cr).\n\nIf you don't want to go through the whole sync response by yourself (which is\nunderstandable), we provide you a [Caridina::Syncer](src/syncer.cr) object.\n\n```Crystal\nsyncer = Caridina::Syncer.new\nsyncer.on(Caridina::Events::Message) do |event|\n # TODO: actually do something\nend\n\nsyncer.process_response(sync)\n```\n\n> :warning: The syncer is a new feature still in development.\n> It currently only supports events in the joined rooms timeline.\n> To access to other events, you need to go through the sync response.\n\n### Read event\n\nIf you don't use the `Syncer`, most of the events you will see in the sync response\nwill be `Caridina::Events::Event` objects. You need to restrict the type of an event\nobject to access all its fields.\n\n```Crystal\nsync.rooms.try &.join.each do |room_id, room|\n room.timeline.events.each do |event|\n case event\n when Caridina::Events::Member\n # someone's membership changed\n when Caridina:: Events::PowerLevels\n # some authorization changed\n when Caridina::Events::Messages\n # someone talked\n else\n # unknown event\n end\n end\nend\n```\n\nSometimes the event's content can be polymorphic too.\nThat is especially the case for message events.\nBy using again a `case` clause you can restrict its type to access all its fields.\n\n### Send events\n\nTheir is not a single method to send an event.\nInstead this library provides a set of methods that correspond to different\nactions you may want to do.\nYou usually do not need to worry about crafting the event to send.\n\n> :warning: This part is in a very early stage.\n> Currently only a few methods are provided.\n\n```Crystal\n# join a room\nconn.join(\"!room_id:matrix.org\")\n# send a message\nevent_id = conn.send_message(\"!room_id:matrix.org\", \"Hello, wurld!\")\n# edit a message\nconn.edit_message(\"!room_id:matrix.org\", \"Hello, world!\"))\n```\n\n## Development\n\nInstall the depencies with `shards install`.\n\n* `make test` runs the tests\n* `make lint` runs the formater plus a linter\n\n## Contributing\n\n1. Fork it ()\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\n\n## Contributors\n\n- [erdnaxeli](https://github.com/erdnaxeli) - creator and maintainer\n","program":{"html_id":"caridina/toplevel","path":"toplevel.html","kind":"module","full_name":"Top Level Namespace","name":"Top Level Namespace","abstract":false,"superclass":null,"ancestors":[],"locations":[],"repository_name":"caridina","program":true,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":null,"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[{"id":"caridina_use_json_discriminator(mapping,fallback=nil)-macro","html_id":"caridina_use_json_discriminator(mapping,fallback=nil)-macro","name":"caridina_use_json_discriminator","doc":"`JSON::Serializable::use_json_discriminator` on steroids.\n\nIt supports looking at many fields to discriminate the type, and case use nested\nfields. If no known discriminator value is found, it use the fallback type if any\nor raise an error.\n\nThe mapping should be order by priority, in case many discriminator values are\nfound, higher priority last.\n\nFor example:\n\n```\nstruct Event\n include JSON::Serializable\n\n caridina_use_json_discriminator(\n {\n [\"type\", \"name\"] => {\"A\": EventA, \"B\": EventB},\n \"event_type\" => {\"A\": EventA, \"C\": EventC},\n }\n )\n\n struct Type\n include JSON::Serializable\n\n getter name : String\n end\n\n getter type : Type\n getter event_type : String\nend\n\nEvent.from_json(%(\n {\n \"type\": {\"name\": \"A\"},\n ...\n }\n)) # => EventA(…)\n\nEvent.from_json(%(\n {\n \"event_type\": \"C\",\n ...\n }\n)) # => EventC(…)\n```\n\nYou MUST use an array when using a nested field as a discriminator field. There\nis no limit on the level of nesting.\n\nIf many discriminator fields match, the last one with a known value will be used.\n\n```\nEvent.from(%(\n {\n \"type\": {\"name\": \"unknown\"},\n \"event_type\": \"C\"\n }\n)) # => EventC(…)\n\nEvent.from(%(\n {\n \"type\": {\"name\": \"A\"},\n \"event_type\": \"unknown\"\n }\n)) # => EventA(…)\n\n# \"event_type\" is read first, but in the mapping [\"type\", \"name\"] came last so\n# it has priority.\nEvent.from(%(\n {\n \"event_type\": \"C\",\n \"type\": {\"name\": \"A\"}\n }\n)) # => EventA(…)","summary":"

    JSON::Serializable::use_json_discriminator on steroids.

    ","abstract":false,"args":[{"name":"mapping","doc":null,"default_value":"","external_name":"mapping","restriction":""},{"name":"fallback","doc":null,"default_value":"nil","external_name":"fallback","restriction":""}],"args_string":"(mapping, fallback = nil)","source_link":null,"def":{"name":"caridina_use_json_discriminator","args":[{"name":"mapping","doc":null,"default_value":"","external_name":"mapping","restriction":""},{"name":"fallback","doc":null,"default_value":"nil","external_name":"fallback","restriction":""}],"double_splat":null,"splat_index":null,"block_arg":null,"visibility":"Public","body":" \n{% if mapping.is_a?(HashLiteral) || mapping.is_a?(NamedTupleLiteral) %}{% else %}\n {% mapping.raise(\"mapping argument must be a HashLiteral or a NamedTupleLiteral, not #{mapping.class_name.id}\") %}\n {% end %}\n\n\n def self.new(pull : ::JSON::PullParser)\n location = pull.location\n\n \n# Array of tuples(field name, discriminator value)\n\n discriminators = Array(Tuple(String | Array(String), String)).new\n\n \n# We read the JSON to find discriminators fields, while also rebuiding it\n\n \n# to give it to the final type.\n\n json = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n \n# We try to match the key to a discriminator field\n\n case key\n \n{% for field in mapping.keys %}\n {% if field.is_a?(ArrayLiteral) %}\n when {{ field[0].id.stringify }}\n field_name = [{{ field[0] }}]\n\n # If the field is an array, we construct nested `cases` blocks.\n {% for subfield, index in field %}\n {% if index != 0 %}\n builder.field(key) do\n builder.start_object\n pull.read_object do |key|\n case key\n when {{ subfield.id.stringify }}\n # We construct the field's fully qualified name,\n # with all the nested fields.\n field_name << {{ subfield.id.stringify }}\n {% end %}\n {% end %}\n\n # We come here if we matched a full nested discriminator. We\n # save the value and the field's fully qualified name.\n value = pull.read_string\n builder.field(key, value)\n discriminators << {field_name, value}\n\n # We need to do a second loop to write all the `else` clauses\n # and close all the `case` blocks.\n {% for f, index in field %}\n {% if index != 0 %}\n else\n # We save the raw json at for each non matched field.\n builder.field(key) { pull.read_raw(builder) }\n end\n end\n builder.end_object\n end\n {% end %}\n {% end %}\n {% else %}\n # If the field is not an array, we just try to match it.\n when {{ field.id.stringify }}\n value = pull.read_string\n builder.field(key, value)\n discriminators << {key, value}\n {% end %}\n {% end %}\n\n \nelse\n \n# We save the raw json at for each non matched field.\n\n builder.field(key) \n{ pull.read_raw(builder) }\n \nend\n \nend\n builder.end_object\n \nend\n \nend\n\n fields = \n{{ mapping.keys.id }}\n\n unless discriminators.size\n raise ::JSON::MappingError.new(\"JSON is missing one of discriminator fields: #{fields}\", to_s, nil, *location, nil)\n \nend\n\n \n# Order the discriminators found by priority, higher priority first.\n\n discriminators.sort_by! \n{ |x| fields.index(x[0]) || 0 }.reverse!\n \n# For each discriminator found, we match its field name (this can't fail),\n\n \n# then we try to match the field's value.\n\n discriminators.each do |field_name, discriminator_value|\n case field_name\n \n{% for field_key, field_mapping in mapping %}\n when {{ field_key }}\n case discriminator_value\n {% for key, value in mapping[field_key] %}\n when {{ key.id.stringify }}\n # We found a valid discriminator value, we can stop here.\n return {{ value.id }}.from_json(json)\n {% end %}\n end\n {% end %}\n\n \nelse\n raise Exception.new(\"This can't happen\")\n \nend\n \nend\n\n \n# If we did not return at this point, it means no discriminator value matched.\n\n \n{% if fallback %}\n {{ fallback.id }}.from_json(json)\n {% else %}\n raise ::JSON::MappingError.new(\"Unknown discriminators #{discriminators.inspect}\", to_s, nil, *location, nil)\n {% end %}\n\n \nend\n\n"}}],"types":[{"html_id":"caridina/Caridina","path":"Caridina.html","kind":"module","full_name":"Caridina","name":"Caridina","abstract":false,"superclass":null,"ancestors":[],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[{"id":"Log","name":"Log","value":"::Log.for(self)","doc":null,"summary":null},{"id":"VERSION","name":"VERSION","value":"\"0.4.0\"","doc":null,"summary":null}],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":null,"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[{"html_id":"caridina/Caridina/Connection","path":"Caridina/Connection.html","kind":"module","full_name":"Caridina::Connection","name":"Connection","abstract":false,"superclass":null,"ancestors":[],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[{"html_id":"caridina/Caridina/ConnectionImpl","kind":"class","full_name":"Caridina::ConnectionImpl","name":"ConnectionImpl"}],"namespace":{"html_id":"caridina/Caridina","kind":"module","full_name":"Caridina","name":"Caridina"},"doc":"Interface to represent a Matrix client.","summary":"

    Interface to represent a Matrix client.

    ","class_methods":[],"constructors":[],"instance_methods":[{"id":"edit_message(room_id:String,event_id:String,message:String,html:String?=nil):Nil-instance-method","html_id":"edit_message(room_id:String,event_id:String,message:String,html:String?=nil):Nil-instance-method","name":"edit_message","doc":null,"summary":null,"abstract":true,"args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"args_string":"(room_id : String, event_id : String, message : String, html : String? = nil) : Nil","source_link":null,"def":{"name":"edit_message","args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Nil","visibility":"Public","body":""}},{"id":"get(route,**options)-instance-method","html_id":"get(route,**options)-instance-method","name":"get","doc":null,"summary":null,"abstract":true,"args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""}],"args_string":"(route, **options)","source_link":null,"def":{"name":"get","args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""}],"double_splat":{"name":"options","doc":null,"default_value":"","external_name":"options","restriction":""},"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":""}},{"id":"post(route,data=nil,**options)-instance-method","html_id":"post(route,data=nil,**options)-instance-method","name":"post","doc":null,"summary":null,"abstract":true,"args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"args_string":"(route, data = nil, **options)","source_link":null,"def":{"name":"post","args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"double_splat":{"name":"options","doc":null,"default_value":"","external_name":"options","restriction":""},"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":""}},{"id":"put(route,data=nil)-instance-method","html_id":"put(route,data=nil)-instance-method","name":"put","doc":null,"summary":null,"abstract":true,"args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"args_string":"(route, data = nil)","source_link":null,"def":{"name":"put","args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":""}},{"id":"send_message(room_id:String,message:String,html:String?=nil):String-instance-method","html_id":"send_message(room_id:String,message:String,html:String?=nil):String-instance-method","name":"send_message","doc":null,"summary":null,"abstract":true,"args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"args_string":"(room_id : String, message : String, html : String? = nil) : String","source_link":null,"def":{"name":"send_message","args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":""}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Connection/ExecError","path":"Caridina/Connection/ExecError.html","kind":"class","full_name":"Caridina::Connection::ExecError","name":"ExecError","abstract":false,"superclass":{"html_id":"caridina/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"caridina/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Connection","kind":"module","full_name":"Caridina::Connection","name":"Connection"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/ConnectionImpl","path":"Caridina/ConnectionImpl.html","kind":"class","full_name":"Caridina::ConnectionImpl","name":"ConnectionImpl","abstract":false,"superclass":{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"caridina/Caridina/Connection","kind":"module","full_name":"Caridina::Connection","name":"Connection"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[{"id":"Log","name":"Log","value":"Caridina::Log.for(self)","doc":null,"summary":null}],"included_modules":[{"html_id":"caridina/Caridina/Connection","kind":"module","full_name":"Caridina::Connection","name":"Connection"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina","kind":"module","full_name":"Caridina","name":"Caridina"},"doc":null,"summary":null,"class_methods":[{"id":"login(hs_url:String,user_id:String,password:String):String-class-method","html_id":"login(hs_url:String,user_id:String,password:String):String-class-method","name":"login","doc":null,"summary":null,"abstract":false,"args":[{"name":"hs_url","doc":null,"default_value":"","external_name":"hs_url","restriction":"String"},{"name":"user_id","doc":null,"default_value":"","external_name":"user_id","restriction":"String"},{"name":"password","doc":null,"default_value":"","external_name":"password","restriction":"String"}],"args_string":"(hs_url : String, user_id : String, password : String) : String","source_link":null,"def":{"name":"login","args":[{"name":"hs_url","doc":null,"default_value":"","external_name":"hs_url","restriction":"String"},{"name":"user_id","doc":null,"default_value":"","external_name":"user_id","restriction":"String"},{"name":"password","doc":null,"default_value":"","external_name":"password","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"data = {type: \"m.login.password\", identifier: {type: \"m.id.user\", user: user_id}, password: password}\nresponse = HTTP::Client.post(\"#{hs_url}/_matrix/client/r0/login\", headers: HTTP::Headers {\"Content-Type\" => \"application/json\"}, body: data.to_json)\nif !response.success\n raise(Exception.new(\"Error with status_code #{response.status_code}\"))\nend\ndata = Hash(String, String).from_json(response.body)\ndata[\"access_token\"]\n"}}],"constructors":[{"id":"new(hs_url:String,access_token:String)-class-method","html_id":"new(hs_url:String,access_token:String)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"hs_url","doc":null,"default_value":"","external_name":"hs_url","restriction":"String"},{"name":"access_token","doc":null,"default_value":"","external_name":"access_token","restriction":"String"}],"args_string":"(hs_url : String, access_token : String)","source_link":null,"def":{"name":"new","args":[{"name":"hs_url","doc":null,"default_value":"","external_name":"hs_url","restriction":"String"},{"name":"access_token","doc":null,"default_value":"","external_name":"access_token","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(hs_url, access_token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"id":"create_filter(filter):String-instance-method","html_id":"create_filter(filter):String-instance-method","name":"create_filter","doc":null,"summary":null,"abstract":false,"args":[{"name":"filter","doc":null,"default_value":"","external_name":"filter","restriction":""}],"args_string":"(filter) : String","source_link":null,"def":{"name":"create_filter","args":[{"name":"filter","doc":null,"default_value":"","external_name":"filter","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"response = post(\"/user/#{@user_id}/filter\", filter)\nresponse = Responses::Filter.from_json(response)\nresponse.filter_id\n"}},{"id":"edit_message(room_id:String,event_id:String,message:String,html:String?=nil):Nil-instance-method","html_id":"edit_message(room_id:String,event_id:String,message:String,html:String?=nil):Nil-instance-method","name":"edit_message","doc":null,"summary":null,"abstract":false,"args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"args_string":"(room_id : String, event_id : String, message : String, html : String? = nil) : Nil","source_link":null,"def":{"name":"edit_message","args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Nil","visibility":"Public","body":"tx_id = get_tx_id\ndata = Events::Message::MSC2676::Text.new(message, html, event_id)\nput(\"/rooms/#{room_id}/send/m.room.message/#{tx_id}\", data)\n"}},{"id":"get(route,**options)-instance-method","html_id":"get(route,**options)-instance-method","name":"get","doc":null,"summary":null,"abstract":false,"args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""}],"args_string":"(route, **options)","source_link":null,"def":{"name":"get","args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""}],"double_splat":{"name":"options","doc":null,"default_value":"","external_name":"options","restriction":""},"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"exec(\"GET\", route, **options)"}},{"id":"join(room_id):Nil-instance-method","html_id":"join(room_id):Nil-instance-method","name":"join","doc":null,"summary":null,"abstract":false,"args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":""}],"args_string":"(room_id) : Nil","source_link":null,"def":{"name":"join","args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Nil","visibility":"Public","body":"post(\"/rooms/#{room_id}/join\")"}},{"id":"post(route,data=nil,**options)-instance-method","html_id":"post(route,data=nil,**options)-instance-method","name":"post","doc":null,"summary":null,"abstract":false,"args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"args_string":"(route, data = nil, **options)","source_link":null,"def":{"name":"post","args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"double_splat":{"name":"options","doc":null,"default_value":"","external_name":"options","restriction":""},"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"exec(\"POST\", route, **options, body: data)"}},{"id":"put(route,data=nil)-instance-method","html_id":"put(route,data=nil)-instance-method","name":"put","doc":null,"summary":null,"abstract":false,"args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"args_string":"(route, data = nil)","source_link":null,"def":{"name":"put","args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"exec(\"PUT\", route, body: data)"}},{"id":"send_message(room_id:String,message:String,html:String?=nil):String-instance-method","html_id":"send_message(room_id:String,message:String,html:String?=nil):String-instance-method","name":"send_message","doc":null,"summary":null,"abstract":false,"args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"args_string":"(room_id : String, message : String, html : String? = nil) : String","source_link":null,"def":{"name":"send_message","args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"tx_id = get_tx_id\npayload = Events::Message::Text.new(message, html)\ndata = put(\"/rooms/#{room_id}/send/m.room.message/#{tx_id}\", payload)\n(Responses::Send.from_json(data)).event_id\n"}},{"id":"sync(channel)-instance-method","html_id":"sync(channel)-instance-method","name":"sync","doc":null,"summary":null,"abstract":false,"args":[{"name":"channel","doc":null,"default_value":"","external_name":"channel","restriction":""}],"args_string":"(channel)","source_link":null,"def":{"name":"sync","args":[{"name":"channel","doc":null,"default_value":"","external_name":"channel","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"if @syncing\n raise(Exception.new(\"Already syncing\"))\nend\nfilter = {account_data: {types: [] of String}, presence: {types: [] of String}, room: {account_data: {types: [] of String}, ephemeral: {types: [] of String}, timeline: {lazy_load_members: true}, state: {lazy_load_members: true}}}\nfilter_id = create_filter(filter)\nspawn do\n next_batch = nil\n loop do\n begin\n if next_batch.nil?\n response = get(\"/sync\", is_sync: true, filter: filter_id)\n else\n response = get(\"/sync\", is_sync: true, filter: filter_id, since: next_batch, timeout: 300000)\n end\n rescue ex : ExecError\n Log.error(exception: ex) do\n \"Error while syncing, waiting 10s before retry\"\n end\n sleep(10)\n next\n end\n sync = Responses::Sync.from_json(response)\n next_batch = sync.next_batch\n channel.send(sync)\n end\nend\n"}},{"id":"user_id:String-instance-method","html_id":"user_id:String-instance-method","name":"user_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"user_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@user_id"}},{"id":"whoami:String-instance-method","html_id":"whoami:String-instance-method","name":"whoami","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"whoami","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"response = get(\"/account/whoami\")\nresponse = Responses::WhoAmI.from_json(response)\nresponse.user_id\n"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Errors","path":"Caridina/Errors.html","kind":"module","full_name":"Caridina::Errors","name":"Errors","abstract":false,"superclass":null,"ancestors":[],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina","kind":"module","full_name":"Caridina","name":"Caridina"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[{"html_id":"caridina/Caridina/Errors/RateLimited","path":"Caridina/Errors/RateLimited.html","kind":"struct","full_name":"Caridina::Errors::RateLimited","name":"RateLimited","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Errors","kind":"module","full_name":"Caridina::Errors","name":"Errors"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(payload)-class-method","html_id":"new(payload)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"payload","doc":null,"default_value":"","external_name":"payload","restriction":""}],"args_string":"(payload)","source_link":null,"def":{"name":"new","args":[{"name":"payload","doc":null,"default_value":"","external_name":"payload","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(payload)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"id":"retry_after_ms:Int32-instance-method","html_id":"retry_after_ms:Int32-instance-method","name":"retry_after_ms","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int32","source_link":null,"def":{"name":"retry_after_ms","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Int32","visibility":"Public","body":"@retry_after_ms"}}],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events","path":"Caridina/Events.html","kind":"module","full_name":"Caridina::Events","name":"Events","abstract":false,"superclass":null,"ancestors":[],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina","kind":"module","full_name":"Caridina","name":"Caridina"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/CanonicalAlias","path":"Caridina/Events/CanonicalAlias.html","kind":"class","full_name":"Caridina::Events::CanonicalAlias","name":"CanonicalAlias","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content-instance-method","html_id":"content:Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content","visibility":"Public","body":"@content"}},{"id":"unsigned:UnsignedData?-instance-method","html_id":"unsigned:UnsignedData?-instance-method","name":"unsigned","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UnsignedData?","source_link":null,"def":{"name":"unsigned","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UnsignedData | ::Nil","visibility":"Public","body":"@unsigned"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/CanonicalAlias/Content","path":"Caridina/Events/CanonicalAlias/Content.html","kind":"class","full_name":"Caridina::Events::CanonicalAlias::Content","name":"Content","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/CanonicalAlias","kind":"class","full_name":"Caridina::Events::CanonicalAlias","name":"CanonicalAlias"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"alias:String?-instance-method","html_id":"alias:String?-instance-method","name":"alias","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":null,"def":{"name":"alias","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@alias"}},{"id":"alt_aliases:Array(String)-instance-method","html_id":"alt_aliases:Array(String)-instance-method","name":"alt_aliases","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(String)","source_link":null,"def":{"name":"alt_aliases","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(String)","visibility":"Public","body":"@alt_aliases"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/CanonicalAlias/UnsignedData","path":"Caridina/Events/CanonicalAlias/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::CanonicalAlias::UnsignedData","name":"UnsignedData","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/CanonicalAlias","kind":"class","full_name":"Caridina::Events::CanonicalAlias","name":"CanonicalAlias"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/Create","path":"Caridina/Events/Create.html","kind":"class","full_name":"Caridina::Events::Create","name":"Create","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content-instance-method","html_id":"content:Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content","visibility":"Public","body":"@content"}},{"id":"unsigned:UnsignedData?-instance-method","html_id":"unsigned:UnsignedData?-instance-method","name":"unsigned","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UnsignedData?","source_link":null,"def":{"name":"unsigned","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UnsignedData | ::Nil","visibility":"Public","body":"@unsigned"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/Create/Content","path":"Caridina/Events/Create/Content.html","kind":"class","full_name":"Caridina::Events::Create::Content","name":"Content","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Create","kind":"class","full_name":"Caridina::Events::Create","name":"Create"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"creator:String-instance-method","html_id":"creator:String-instance-method","name":"creator","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"creator","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@creator"}},{"id":"m_federate:Bool-instance-method","html_id":"m_federate:Bool-instance-method","name":"m_federate","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Bool","source_link":null,"def":{"name":"m_federate","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@m_federate"}},{"id":"predecessor:PreviousRoom?-instance-method","html_id":"predecessor:PreviousRoom?-instance-method","name":"predecessor","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : PreviousRoom?","source_link":null,"def":{"name":"predecessor","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"PreviousRoom | ::Nil","visibility":"Public","body":"@predecessor"}},{"id":"room_version:String-instance-method","html_id":"room_version:String-instance-method","name":"room_version","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"room_version","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@room_version"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Create/PreviousRoom","path":"Caridina/Events/Create/PreviousRoom.html","kind":"struct","full_name":"Caridina::Events::Create::PreviousRoom","name":"PreviousRoom","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Create","kind":"class","full_name":"Caridina::Events::Create","name":"Create"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"event_id:String-instance-method","html_id":"event_id:String-instance-method","name":"event_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"event_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@event_id"}},{"id":"room_id:String-instance-method","html_id":"room_id:String-instance-method","name":"room_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"room_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@room_id"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Create/UnsignedData","path":"Caridina/Events/Create/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::Create::UnsignedData","name":"UnsignedData","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Create","kind":"class","full_name":"Caridina::Events::Create","name":"Create"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/Event","path":"Caridina/Events/Event.html","kind":"class","full_name":"Caridina::Events::Event","name":"Event","abstract":true,"superclass":{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/StrippedState","kind":"class","full_name":"Caridina::Events::StrippedState","name":"StrippedState"},{"html_id":"caridina/Caridina/Events/Unknown","kind":"class","full_name":"Caridina::Events::Unknown","name":"Unknown"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":"Base type representing an event.\n\nIt has a class method `#from_json` that can be used to deserialize an event.\n You can then match the returned event type against known types.\n\nIf the event is unknown, it returns nil.","summary":"

    Base type representing an event.

    ","class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"location = pull.location\ndiscriminators = Array(Tuple(String | Array(String), String)).new\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n case key\n when \"type\"\n value = pull.read_string\n builder.field(key, value)\n discriminators << {key, value}\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nfields = [\"type\"]\nif discriminators.size\nelse\n raise(::JSON::MappingError.new(\"JSON is missing one of discriminator fields: #{fields}\", to_s, nil, *location, nil))\nend\ndiscriminators.sort_by! do |x|\n (fields.index(x[0])) || 0\nend.reverse!\ndiscriminators.each do |field_name, discriminator_value|\n case field_name\n when \"type\"\n case discriminator_value\n when \"m.room.canonical_alias\"\n return CanonicalAlias.from_json(json)\n when \"m.room.create\"\n return Create.from_json(json)\n when \"m.room.join_rules\"\n return JoinRules.from_json(json)\n when \"m.room.member\"\n return Member.from_json(json)\n when \"m.room.power_levels\"\n return PowerLevels.from_json(json)\n when \"m.room.redaction\"\n return Redaction.from_json(json)\n when \"m.room.message\"\n return Message.from_json(json)\n end\n else\n raise(Exception.new(\"This can't happen\"))\n end\nend\nUnknown.from_json(json)\n"}}],"instance_methods":[{"id":"type:String-instance-method","html_id":"type:String-instance-method","name":"type","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"type","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@type"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/Event/Content","path":"Caridina/Events/Event/Content.html","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content","abstract":true,"superclass":{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Events/CanonicalAlias/Content","kind":"class","full_name":"Caridina::Events::CanonicalAlias::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Create/Content","kind":"class","full_name":"Caridina::Events::Create::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/JoinRules/Content","kind":"class","full_name":"Caridina::Events::JoinRules::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Member/Content","kind":"class","full_name":"Caridina::Events::Member::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Message/Content","kind":"class","full_name":"Caridina::Events::Message::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/PowerLevels/Content","kind":"class","full_name":"Caridina::Events::PowerLevels::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Redaction/Content","kind":"class","full_name":"Caridina::Events::Redaction::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Unknown/Content","kind":"class","full_name":"Caridina::Events::Unknown::Content","name":"Content"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"relates_to:RelatesTo?-instance-method","html_id":"relates_to:RelatesTo?-instance-method","name":"relates_to","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : RelatesTo?","source_link":null,"def":{"name":"relates_to","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"RelatesTo | ::Nil","visibility":"Public","body":"@relates_to"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Event/RelatesTo","path":"Caridina/Events/Event/RelatesTo.html","kind":"struct","full_name":"Caridina::Events::Event::RelatesTo","name":"RelatesTo","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(rel_type,event_id)-class-method","html_id":"new(rel_type,event_id)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"rel_type","doc":null,"default_value":"","external_name":"rel_type","restriction":""},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":""}],"args_string":"(rel_type, event_id)","source_link":null,"def":{"name":"new","args":[{"name":"rel_type","doc":null,"default_value":"","external_name":"rel_type","restriction":""},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(rel_type, event_id)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"event_id:String-instance-method","html_id":"event_id:String-instance-method","name":"event_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"event_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@event_id"}},{"id":"rel_type:String-instance-method","html_id":"rel_type:String-instance-method","name":"rel_type","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"rel_type","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@rel_type"}}],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/JoinRules","path":"Caridina/Events/JoinRules.html","kind":"class","full_name":"Caridina::Events::JoinRules","name":"JoinRules","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content-instance-method","html_id":"content:Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content","visibility":"Public","body":"@content"}},{"id":"unsigned:UnsignedData?-instance-method","html_id":"unsigned:UnsignedData?-instance-method","name":"unsigned","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UnsignedData?","source_link":null,"def":{"name":"unsigned","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UnsignedData | ::Nil","visibility":"Public","body":"@unsigned"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/JoinRules/Content","path":"Caridina/Events/JoinRules/Content.html","kind":"class","full_name":"Caridina::Events::JoinRules::Content","name":"Content","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/JoinRules","kind":"class","full_name":"Caridina::Events::JoinRules","name":"JoinRules"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"join_rule:JoinRule-instance-method","html_id":"join_rule:JoinRule-instance-method","name":"join_rule","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : JoinRule","source_link":null,"def":{"name":"join_rule","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"JoinRule","visibility":"Public","body":"@join_rule"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/JoinRules/JoinRule","path":"Caridina/Events/JoinRules/JoinRule.html","kind":"enum","full_name":"Caridina::Events::JoinRules::JoinRule","name":"JoinRule","abstract":false,"superclass":null,"ancestors":[{"html_id":"caridina/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"caridina/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":true,"alias":false,"aliased":"","const":false,"constants":[{"id":"Public","name":"Public","value":"0","doc":null,"summary":null},{"id":"Knock","name":"Knock","value":"1","doc":null,"summary":null},{"id":"Invite","name":"Invite","value":"2","doc":null,"summary":null},{"id":"Private","name":"Private","value":"3","doc":null,"summary":null}],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/JoinRules","kind":"class","full_name":"Caridina::Events::JoinRules","name":"JoinRules"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[{"id":"invite?-instance-method","html_id":"invite?-instance-method","name":"invite?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":null,"def":{"name":"invite?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Invite"}},{"id":"knock?-instance-method","html_id":"knock?-instance-method","name":"knock?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":null,"def":{"name":"knock?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Knock"}},{"id":"private?-instance-method","html_id":"private?-instance-method","name":"private?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":null,"def":{"name":"private?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Private"}},{"id":"public?-instance-method","html_id":"public?-instance-method","name":"public?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":null,"def":{"name":"public?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Public"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/JoinRules/UnsignedData","path":"Caridina/Events/JoinRules/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::JoinRules::UnsignedData","name":"UnsignedData","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/JoinRules","kind":"class","full_name":"Caridina::Events::JoinRules","name":"JoinRules"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/Member","path":"Caridina/Events/Member.html","kind":"class","full_name":"Caridina::Events::Member","name":"Member","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content-instance-method","html_id":"content:Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content","visibility":"Public","body":"@content"}},{"id":"unsigned:UnsignedData?-instance-method","html_id":"unsigned:UnsignedData?-instance-method","name":"unsigned","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UnsignedData?","source_link":null,"def":{"name":"unsigned","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UnsignedData | ::Nil","visibility":"Public","body":"@unsigned"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/Member/Content","path":"Caridina/Events/Member/Content.html","kind":"class","full_name":"Caridina::Events::Member::Content","name":"Content","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Member","kind":"class","full_name":"Caridina::Events::Member","name":"Member"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"avatar_url:String?-instance-method","html_id":"avatar_url:String?-instance-method","name":"avatar_url","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":null,"def":{"name":"avatar_url","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@avatar_url"}},{"id":"displayname:String?-instance-method","html_id":"displayname:String?-instance-method","name":"displayname","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":null,"def":{"name":"displayname","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@displayname"}},{"id":"is_direct:Bool?-instance-method","html_id":"is_direct:Bool?-instance-method","name":"is_direct","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Bool?","source_link":null,"def":{"name":"is_direct","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Bool | ::Nil","visibility":"Public","body":"@is_direct"}},{"id":"membership:Membership-instance-method","html_id":"membership:Membership-instance-method","name":"membership","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Membership","source_link":null,"def":{"name":"membership","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Membership","visibility":"Public","body":"@membership"}},{"id":"third_party_invite:Invite?-instance-method","html_id":"third_party_invite:Invite?-instance-method","name":"third_party_invite","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Invite?","source_link":null,"def":{"name":"third_party_invite","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Invite | ::Nil","visibility":"Public","body":"@third_party_invite"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Member/Invite","path":"Caridina/Events/Member/Invite.html","kind":"struct","full_name":"Caridina::Events::Member::Invite","name":"Invite","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Member","kind":"class","full_name":"Caridina::Events::Member","name":"Member"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"display_name:String-instance-method","html_id":"display_name:String-instance-method","name":"display_name","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"display_name","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@display_name"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Member/Membership","path":"Caridina/Events/Member/Membership.html","kind":"enum","full_name":"Caridina::Events::Member::Membership","name":"Membership","abstract":false,"superclass":null,"ancestors":[{"html_id":"caridina/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"caridina/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":true,"alias":false,"aliased":"","const":false,"constants":[{"id":"Invite","name":"Invite","value":"0","doc":null,"summary":null},{"id":"Join","name":"Join","value":"1","doc":null,"summary":null},{"id":"Knock","name":"Knock","value":"2","doc":null,"summary":null},{"id":"Leave","name":"Leave","value":"3","doc":null,"summary":null},{"id":"Ban","name":"Ban","value":"4","doc":null,"summary":null}],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Member","kind":"class","full_name":"Caridina::Events::Member","name":"Member"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[{"id":"ban?-instance-method","html_id":"ban?-instance-method","name":"ban?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":null,"def":{"name":"ban?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Ban"}},{"id":"invite?-instance-method","html_id":"invite?-instance-method","name":"invite?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":null,"def":{"name":"invite?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Invite"}},{"id":"join?-instance-method","html_id":"join?-instance-method","name":"join?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":null,"def":{"name":"join?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Join"}},{"id":"knock?-instance-method","html_id":"knock?-instance-method","name":"knock?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":null,"def":{"name":"knock?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Knock"}},{"id":"leave?-instance-method","html_id":"leave?-instance-method","name":"leave?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":null,"def":{"name":"leave?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Leave"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Member/UnsignedData","path":"Caridina/Events/Member/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::Member::UnsignedData","name":"UnsignedData","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Member","kind":"class","full_name":"Caridina::Events::Member","name":"Member"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"invite_room_state:Array(StrippedState)?-instance-method","html_id":"invite_room_state:Array(StrippedState)?-instance-method","name":"invite_room_state","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(StrippedState)?","source_link":null,"def":{"name":"invite_room_state","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(StrippedState) | ::Nil","visibility":"Public","body":"@invite_room_state"}}],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/Message","path":"Caridina/Events/Message.html","kind":"class","full_name":"Caridina::Events::Message","name":"Message","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content-instance-method","html_id":"content:Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content","visibility":"Public","body":"@content"}},{"id":"unsigned:UnsignedData?-instance-method","html_id":"unsigned:UnsignedData?-instance-method","name":"unsigned","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UnsignedData?","source_link":null,"def":{"name":"unsigned","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UnsignedData | ::Nil","visibility":"Public","body":"@unsigned"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/Message/Content","path":"Caridina/Events/Message/Content.html","kind":"class","full_name":"Caridina::Events::Message::Content","name":"Content","abstract":true,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Events/Message/Text","kind":"class","full_name":"Caridina::Events::Message::Text","name":"Text"},{"html_id":"caridina/Caridina/Events/Message/Unknown","kind":"class","full_name":"Caridina::Events::Message::Unknown","name":"Unknown"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Message","kind":"class","full_name":"Caridina::Events::Message","name":"Message"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"location = pull.location\ndiscriminators = Array(Tuple(String | Array(String), String)).new\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n case key\n when \"msgtype\"\n value = pull.read_string\n builder.field(key, value)\n discriminators << {key, value}\n when \"m.relates_to\"\n field_name = [\"m.relates_to\"]\n builder.field(key) do\n builder.start_object\n pull.read_object do |key|\n case key\n when \"rel_type\"\n field_name << \"rel_type\"\n value = pull.read_string\n builder.field(key, value)\n discriminators << {field_name, value}\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nfields = [\"msgtype\", [\"m.relates_to\", \"rel_type\"]]\nif discriminators.size\nelse\n raise(::JSON::MappingError.new(\"JSON is missing one of discriminator fields: #{fields}\", to_s, nil, *location, nil))\nend\ndiscriminators.sort_by! do |x|\n (fields.index(x[0])) || 0\nend.reverse!\ndiscriminators.each do |field_name, discriminator_value|\n case field_name\n when \"msgtype\"\n case discriminator_value\n when \"m.text\"\n return Text.from_json(json)\n end\n when [\"m.relates_to\", \"rel_type\"]\n case discriminator_value\n when \"m.replace\"\n return MSC2676::Dispatcher.from_json(json)\n end\n else\n raise(Exception.new(\"This can't happen\"))\n end\nend\nUnknown.from_json(json)\n"}}],"instance_methods":[{"id":"body:String-instance-method","html_id":"body:String-instance-method","name":"body","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"body","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@body"}},{"id":"msgtype:String-instance-method","html_id":"msgtype:String-instance-method","name":"msgtype","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"msgtype","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@msgtype"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Message/MSC2676","path":"Caridina/Events/Message/MSC2676.html","kind":"module","full_name":"Caridina::Events::Message::MSC2676","name":"MSC2676","abstract":false,"superclass":null,"ancestors":[],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Message","kind":"class","full_name":"Caridina::Events::Message","name":"Message"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/Message/MSC2676/Content","path":"Caridina/Events/Message/MSC2676/Content.html","kind":"module","full_name":"Caridina::Events::Message::MSC2676::Content","name":"Content","abstract":false,"superclass":null,"ancestors":[],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[{"html_id":"caridina/Caridina/Events/Message/MSC2676/Text","kind":"class","full_name":"Caridina::Events::Message::MSC2676::Text","name":"Text"}],"namespace":{"html_id":"caridina/Caridina/Events/Message/MSC2676","kind":"module","full_name":"Caridina::Events::Message::MSC2676","name":"MSC2676"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[{"id":"new_content:Events::Message::Content-instance-method","html_id":"new_content:Events::Message::Content-instance-method","name":"new_content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Events::Message::Content","source_link":null,"def":{"name":"new_content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Events::Message::Content","visibility":"Public","body":"@new_content"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Message/MSC2676/Text","path":"Caridina/Events/Message/MSC2676/Text.html","kind":"class","full_name":"Caridina::Events::Message::MSC2676::Text","name":"Text","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Message/Text","kind":"class","full_name":"Caridina::Events::Message::Text","name":"Text"},"ancestors":[{"html_id":"caridina/Caridina/Events/Message/MSC2676/Content","kind":"module","full_name":"Caridina::Events::Message::MSC2676::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Message/Text","kind":"class","full_name":"Caridina::Events::Message::Text","name":"Text"},{"html_id":"caridina/Caridina/Events/Message/Content","kind":"class","full_name":"Caridina::Events::Message::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/Caridina/Events/Message/MSC2676/Content","kind":"module","full_name":"Caridina::Events::Message::MSC2676::Content","name":"Content"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Message/MSC2676","kind":"module","full_name":"Caridina::Events::Message::MSC2676","name":"MSC2676"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(body,formatted_body,event_id)-class-method","html_id":"new(body,formatted_body,event_id)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"body","doc":null,"default_value":"","external_name":"body","restriction":""},{"name":"formatted_body","doc":null,"default_value":"","external_name":"formatted_body","restriction":""},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":""}],"args_string":"(body, formatted_body, event_id)","source_link":null,"def":{"name":"new","args":[{"name":"body","doc":null,"default_value":"","external_name":"body","restriction":""},{"name":"formatted_body","doc":null,"default_value":"","external_name":"formatted_body","restriction":""},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(body, formatted_body, event_id)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/Message/Text","path":"Caridina/Events/Message/Text.html","kind":"class","full_name":"Caridina::Events::Message::Text","name":"Text","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Message/Content","kind":"class","full_name":"Caridina::Events::Message::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Message/Content","kind":"class","full_name":"Caridina::Events::Message::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Events/Message/MSC2676/Text","kind":"class","full_name":"Caridina::Events::Message::MSC2676::Text","name":"Text"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Message","kind":"class","full_name":"Caridina::Events::Message","name":"Message"},"doc":"m.text","summary":"

    m.text

    ","class_methods":[],"constructors":[{"id":"new(body,formatted_body)-class-method","html_id":"new(body,formatted_body)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"body","doc":null,"default_value":"","external_name":"body","restriction":""},{"name":"formatted_body","doc":null,"default_value":"","external_name":"formatted_body","restriction":""}],"args_string":"(body, formatted_body)","source_link":null,"def":{"name":"new","args":[{"name":"body","doc":null,"default_value":"","external_name":"body","restriction":""},{"name":"formatted_body","doc":null,"default_value":"","external_name":"formatted_body","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(body, formatted_body)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":"m.text","summary":"

    m.text

    ","abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"format:String?-instance-method","html_id":"format:String?-instance-method","name":"format","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":null,"def":{"name":"format","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@format"}},{"id":"formatted_body:String?-instance-method","html_id":"formatted_body:String?-instance-method","name":"formatted_body","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":null,"def":{"name":"formatted_body","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@formatted_body"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Message/Unknown","path":"Caridina/Events/Message/Unknown.html","kind":"class","full_name":"Caridina::Events::Message::Unknown","name":"Unknown","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Message/Content","kind":"class","full_name":"Caridina::Events::Message::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Message/Content","kind":"class","full_name":"Caridina::Events::Message::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Message","kind":"class","full_name":"Caridina::Events::Message","name":"Message"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Message/UnsignedData","path":"Caridina/Events/Message/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::Message::UnsignedData","name":"UnsignedData","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Message","kind":"class","full_name":"Caridina::Events::Message","name":"Message"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/PowerLevels","path":"Caridina/Events/PowerLevels.html","kind":"class","full_name":"Caridina::Events::PowerLevels","name":"PowerLevels","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content-instance-method","html_id":"content:Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content","visibility":"Public","body":"@content"}},{"id":"unsigned:UnsignedData?-instance-method","html_id":"unsigned:UnsignedData?-instance-method","name":"unsigned","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UnsignedData?","source_link":null,"def":{"name":"unsigned","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UnsignedData | ::Nil","visibility":"Public","body":"@unsigned"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/PowerLevels/Content","path":"Caridina/Events/PowerLevels/Content.html","kind":"class","full_name":"Caridina::Events::PowerLevels::Content","name":"Content","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/PowerLevels","kind":"class","full_name":"Caridina::Events::PowerLevels","name":"PowerLevels"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"ban:UInt8-instance-method","html_id":"ban:UInt8-instance-method","name":"ban","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt8","source_link":null,"def":{"name":"ban","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@ban"}},{"id":"events:Hash(String,UInt8)-instance-method","html_id":"events:Hash(String,UInt8)-instance-method","name":"events","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Hash(String, UInt8)","source_link":null,"def":{"name":"events","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@events"}},{"id":"events_default:UInt8-instance-method","html_id":"events_default:UInt8-instance-method","name":"events_default","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt8","source_link":null,"def":{"name":"events_default","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@events_default"}},{"id":"invite:UInt8-instance-method","html_id":"invite:UInt8-instance-method","name":"invite","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt8","source_link":null,"def":{"name":"invite","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@invite"}},{"id":"kick:UInt8-instance-method","html_id":"kick:UInt8-instance-method","name":"kick","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt8","source_link":null,"def":{"name":"kick","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@kick"}},{"id":"notifications:Notifications?-instance-method","html_id":"notifications:Notifications?-instance-method","name":"notifications","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Notifications?","source_link":null,"def":{"name":"notifications","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Notifications | ::Nil","visibility":"Public","body":"@notifications"}},{"id":"redact:UInt8-instance-method","html_id":"redact:UInt8-instance-method","name":"redact","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt8","source_link":null,"def":{"name":"redact","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@redact"}},{"id":"states_default:UInt8-instance-method","html_id":"states_default:UInt8-instance-method","name":"states_default","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt8","source_link":null,"def":{"name":"states_default","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@states_default"}},{"id":"users:Hash(String,UInt8)-instance-method","html_id":"users:Hash(String,UInt8)-instance-method","name":"users","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Hash(String, UInt8)","source_link":null,"def":{"name":"users","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@users"}},{"id":"users_default:Int8-instance-method","html_id":"users_default:Int8-instance-method","name":"users_default","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int8","source_link":null,"def":{"name":"users_default","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@users_default"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/PowerLevels/Notifications","path":"Caridina/Events/PowerLevels/Notifications.html","kind":"struct","full_name":"Caridina::Events::PowerLevels::Notifications","name":"Notifications","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/PowerLevels","kind":"class","full_name":"Caridina::Events::PowerLevels","name":"PowerLevels"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"room:UInt8-instance-method","html_id":"room:UInt8-instance-method","name":"room","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt8","source_link":null,"def":{"name":"room","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@room"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/PowerLevels/UnsignedData","path":"Caridina/Events/PowerLevels/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::PowerLevels::UnsignedData","name":"UnsignedData","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/PowerLevels","kind":"class","full_name":"Caridina::Events::PowerLevels","name":"PowerLevels"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/Redaction","path":"Caridina/Events/Redaction.html","kind":"class","full_name":"Caridina::Events::Redaction","name":"Redaction","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content-instance-method","html_id":"content:Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content","visibility":"Public","body":"@content"}},{"id":"unsigned:UnsignedData?-instance-method","html_id":"unsigned:UnsignedData?-instance-method","name":"unsigned","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UnsignedData?","source_link":null,"def":{"name":"unsigned","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UnsignedData | ::Nil","visibility":"Public","body":"@unsigned"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/Redaction/Content","path":"Caridina/Events/Redaction/Content.html","kind":"class","full_name":"Caridina::Events::Redaction::Content","name":"Content","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Redaction","kind":"class","full_name":"Caridina::Events::Redaction","name":"Redaction"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"reason:String?-instance-method","html_id":"reason:String?-instance-method","name":"reason","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":null,"def":{"name":"reason","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@reason"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Redaction/UnsignedData","path":"Caridina/Events/Redaction/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::Redaction::UnsignedData","name":"UnsignedData","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Redaction","kind":"class","full_name":"Caridina::Events::Redaction","name":"Redaction"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/RoomEvent","path":"Caridina/Events/RoomEvent.html","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent","abstract":true,"superclass":{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Events/Message","kind":"class","full_name":"Caridina::Events::Message","name":"Message"},{"html_id":"caridina/Caridina/Events/Redaction","kind":"class","full_name":"Caridina::Events::Redaction","name":"Redaction"},{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"event_id:String-instance-method","html_id":"event_id:String-instance-method","name":"event_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"event_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@event_id"}},{"id":"origin_server_ts:UInt64-instance-method","html_id":"origin_server_ts:UInt64-instance-method","name":"origin_server_ts","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt64","source_link":null,"def":{"name":"origin_server_ts","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UInt64","visibility":"Public","body":"@origin_server_ts"}},{"id":"room_id:String?-instance-method","html_id":"room_id:String?-instance-method","name":"room_id","doc":"\"room_id\" is not set in events returned from the sync API, so we need to\nset it up ourself.","summary":"

    \"room_id\" is not set in events returned from the sync API, so we need to set it up ourself.

    ","abstract":false,"args":[],"args_string":" : String?","source_link":null,"def":{"name":"room_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@room_id"}},{"id":"room_id=(room_id:String?)-instance-method","html_id":"room_id=(room_id:String?)-instance-method","name":"room_id=","doc":"\"room_id\" is not set in events returned from the sync API, so we need to\nset it up ourself.","summary":"

    \"room_id\" is not set in events returned from the sync API, so we need to set it up ourself.

    ","abstract":false,"args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String | ::Nil"}],"args_string":"(room_id : String?)","source_link":null,"def":{"name":"room_id=","args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@room_id = room_id"}},{"id":"sender:String-instance-method","html_id":"sender:String-instance-method","name":"sender","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"sender","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@sender"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","path":"Caridina/Events/RoomEvent/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData","abstract":true,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Events/CanonicalAlias/UnsignedData","kind":"struct","full_name":"Caridina::Events::CanonicalAlias::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/Caridina/Events/Create/UnsignedData","kind":"struct","full_name":"Caridina::Events::Create::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/Caridina/Events/JoinRules/UnsignedData","kind":"struct","full_name":"Caridina::Events::JoinRules::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/Caridina/Events/Member/UnsignedData","kind":"struct","full_name":"Caridina::Events::Member::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/Caridina/Events/Message/UnsignedData","kind":"struct","full_name":"Caridina::Events::Message::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/Caridina/Events/PowerLevels/UnsignedData","kind":"struct","full_name":"Caridina::Events::PowerLevels::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/Caridina/Events/Redaction/UnsignedData","kind":"struct","full_name":"Caridina::Events::Redaction::UnsignedData","name":"UnsignedData"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"age:Int64-instance-method","html_id":"age:Int64-instance-method","name":"age","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int64","source_link":null,"def":{"name":"age","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Int64","visibility":"Public","body":"@age"}},{"id":"transaction_id:String?-instance-method","html_id":"transaction_id:String?-instance-method","name":"transaction_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":null,"def":{"name":"transaction_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@transaction_id"}}],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/StateEvent","path":"Caridina/Events/StateEvent.html","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent","abstract":true,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Events/CanonicalAlias","kind":"class","full_name":"Caridina::Events::CanonicalAlias","name":"CanonicalAlias"},{"html_id":"caridina/Caridina/Events/Create","kind":"class","full_name":"Caridina::Events::Create","name":"Create"},{"html_id":"caridina/Caridina/Events/JoinRules","kind":"class","full_name":"Caridina::Events::JoinRules","name":"JoinRules"},{"html_id":"caridina/Caridina/Events/Member","kind":"class","full_name":"Caridina::Events::Member","name":"Member"},{"html_id":"caridina/Caridina/Events/PowerLevels","kind":"class","full_name":"Caridina::Events::PowerLevels","name":"PowerLevels"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"state_key:String-instance-method","html_id":"state_key:String-instance-method","name":"state_key","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"state_key","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@state_key"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/StrippedState","path":"Caridina/Events/StrippedState.html","kind":"class","full_name":"Caridina::Events::StrippedState","name":"StrippedState","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},"ancestors":[{"html_id":"caridina/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":"This event represents a StrippedState event.\n\nIt is used in `Member` event and in `Responses::Sync` in invited rooms's state.\nIt is actually a state event, but it does not inherit from `StateEvent` as\nsome fields are not presents.\n\nThis type is used to represents many distinct stripped state events.\nTo distinguish them you must check the `#content`'s type.","summary":"

    This event represents a StrippedState event.

    ","class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":"This event represents a StrippedState event.\n\nIt is used in `Member` event and in `Responses::Sync` in invited rooms's state.\nIt is actually a state event, but it does not inherit from `StateEvent` as\nsome fields are not presents.\n\nThis type is used to represents many distinct stripped state events.\nTo distinguish them you must check the `#content`'s type.","summary":"

    This event represents a StrippedState event.

    ","abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content-instance-method","html_id":"content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"json = @json_unmapped[\"content\"].to_json\n{% if true %}\n case type\n {% for subclass in StateEvent.subclasses %}\n {% if subclass.annotation(Type) %}\n when {{ (subclass.annotation(Type))[0] }}\n {{ subclass.id }}::Content.from_json(json)\n {% end %}\n {% end %}\n else\n Unknown::Content.from_json(json)\n end\n {% end %}\n"}},{"id":"room_id:String?-instance-method","html_id":"room_id:String?-instance-method","name":"room_id","doc":"\"room_id\" is not set in events returned from the sync API, so we need to\nset it up ourself.","summary":"

    \"room_id\" is not set in events returned from the sync API, so we need to set it up ourself.

    ","abstract":false,"args":[],"args_string":" : String?","source_link":null,"def":{"name":"room_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@room_id"}},{"id":"room_id=(room_id:String?)-instance-method","html_id":"room_id=(room_id:String?)-instance-method","name":"room_id=","doc":"\"room_id\" is not set in events returned from the sync API, so we need to\nset it up ourself.","summary":"

    \"room_id\" is not set in events returned from the sync API, so we need to set it up ourself.

    ","abstract":false,"args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String | ::Nil"}],"args_string":"(room_id : String?)","source_link":null,"def":{"name":"room_id=","args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@room_id = room_id"}},{"id":"sender:String-instance-method","html_id":"sender:String-instance-method","name":"sender","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"sender","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@sender"}},{"id":"state_key:String-instance-method","html_id":"state_key:String-instance-method","name":"state_key","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"state_key","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@state_key"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Type","path":"Caridina/Events/Type.html","kind":"annotation","full_name":"Caridina::Events::Type","name":"Type","abstract":false,"superclass":null,"ancestors":[],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":"Use this annotation to specify the event's type.","summary":"

    Use this annotation to specify the event's type.

    ","class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Unknown","path":"Caridina/Events/Unknown.html","kind":"class","full_name":"Caridina::Events::Unknown","name":"Unknown","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Nil-instance-method","html_id":"content:Nil-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Nil","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Nil","visibility":"Public","body":"@content"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/Unknown/Content","path":"Caridina/Events/Unknown/Content.html","kind":"class","full_name":"Caridina::Events::Unknown::Content","name":"Content","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Unknown","kind":"class","full_name":"Caridina::Events::Unknown","name":"Unknown"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]}]},{"html_id":"caridina/Caridina/Responses","path":"Caridina/Responses.html","kind":"module","full_name":"Caridina::Responses","name":"Responses","abstract":false,"superclass":null,"ancestors":[],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina","kind":"module","full_name":"Caridina","name":"Caridina"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[{"html_id":"caridina/Caridina/Responses/Filter","path":"Caridina/Responses/Filter.html","kind":"struct","full_name":"Caridina::Responses::Filter","name":"Filter","abstract":false,"superclass":{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},"ancestors":[{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses","kind":"module","full_name":"Caridina::Responses","name":"Responses"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"filter_id:String-instance-method","html_id":"filter_id:String-instance-method","name":"filter_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"filter_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@filter_id"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Responses/Response","path":"Caridina/Responses/Response.html","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response","abstract":true,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Responses/Filter","kind":"struct","full_name":"Caridina::Responses::Filter","name":"Filter"},{"html_id":"caridina/Caridina/Responses/Send","kind":"struct","full_name":"Caridina::Responses::Send","name":"Send"},{"html_id":"caridina/Caridina/Responses/Sync","kind":"struct","full_name":"Caridina::Responses::Sync","name":"Sync"},{"html_id":"caridina/Caridina/Responses/WhoAmI","kind":"struct","full_name":"Caridina::Responses::WhoAmI","name":"WhoAmI"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses","kind":"module","full_name":"Caridina::Responses","name":"Responses"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Responses/Send","path":"Caridina/Responses/Send.html","kind":"struct","full_name":"Caridina::Responses::Send","name":"Send","abstract":false,"superclass":{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},"ancestors":[{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses","kind":"module","full_name":"Caridina::Responses","name":"Responses"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"event_id:String-instance-method","html_id":"event_id:String-instance-method","name":"event_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"event_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@event_id"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Responses/Sync","path":"Caridina/Responses/Sync.html","kind":"struct","full_name":"Caridina::Responses::Sync","name":"Sync","abstract":false,"superclass":{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},"ancestors":[{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses","kind":"module","full_name":"Caridina::Responses","name":"Responses"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"next_batch:String-instance-method","html_id":"next_batch:String-instance-method","name":"next_batch","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"next_batch","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@next_batch"}},{"id":"rooms:Rooms?-instance-method","html_id":"rooms:Rooms?-instance-method","name":"rooms","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Rooms?","source_link":null,"def":{"name":"rooms","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Rooms | ::Nil","visibility":"Public","body":"@rooms"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Responses/Sync/InvitedRoom","path":"Caridina/Responses/Sync/InvitedRoom.html","kind":"struct","full_name":"Caridina::Responses::Sync::InvitedRoom","name":"InvitedRoom","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses/Sync","kind":"struct","full_name":"Caridina::Responses::Sync","name":"Sync"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"invite_state:InviteState-instance-method","html_id":"invite_state:InviteState-instance-method","name":"invite_state","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : InviteState","source_link":null,"def":{"name":"invite_state","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"InviteState","visibility":"Public","body":"@invite_state"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Responses/Sync/InviteState","path":"Caridina/Responses/Sync/InviteState.html","kind":"struct","full_name":"Caridina::Responses::Sync::InviteState","name":"InviteState","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses/Sync","kind":"struct","full_name":"Caridina::Responses::Sync","name":"Sync"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"events:Array(Events::StrippedState)-instance-method","html_id":"events:Array(Events::StrippedState)-instance-method","name":"events","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(Events::StrippedState)","source_link":null,"def":{"name":"events","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(Events::StrippedState)","visibility":"Public","body":"@events"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Responses/Sync/JoinedRoom","path":"Caridina/Responses/Sync/JoinedRoom.html","kind":"struct","full_name":"Caridina::Responses::Sync::JoinedRoom","name":"JoinedRoom","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses/Sync","kind":"struct","full_name":"Caridina::Responses::Sync","name":"Sync"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"timeline:Timeline-instance-method","html_id":"timeline:Timeline-instance-method","name":"timeline","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Timeline","source_link":null,"def":{"name":"timeline","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Timeline","visibility":"Public","body":"@timeline"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Responses/Sync/Rooms","path":"Caridina/Responses/Sync/Rooms.html","kind":"struct","full_name":"Caridina::Responses::Sync::Rooms","name":"Rooms","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses/Sync","kind":"struct","full_name":"Caridina::Responses::Sync","name":"Sync"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"invite:Hash(String,InvitedRoom)-instance-method","html_id":"invite:Hash(String,InvitedRoom)-instance-method","name":"invite","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Hash(String, InvitedRoom)","source_link":null,"def":{"name":"invite","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Hash(String, InvitedRoom)","visibility":"Public","body":"@invite"}},{"id":"join:Hash(String,JoinedRoom)-instance-method","html_id":"join:Hash(String,JoinedRoom)-instance-method","name":"join","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Hash(String, JoinedRoom)","source_link":null,"def":{"name":"join","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Hash(String, JoinedRoom)","visibility":"Public","body":"@join"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Responses/Sync/Timeline","path":"Caridina/Responses/Sync/Timeline.html","kind":"struct","full_name":"Caridina::Responses::Sync::Timeline","name":"Timeline","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses/Sync","kind":"struct","full_name":"Caridina::Responses::Sync","name":"Sync"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"events:Array(Events::Event)-instance-method","html_id":"events:Array(Events::Event)-instance-method","name":"events","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(Events::Event)","source_link":null,"def":{"name":"events","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(Events::Event)","visibility":"Public","body":"@events"}}],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Responses/WhoAmI","path":"Caridina/Responses/WhoAmI.html","kind":"struct","full_name":"Caridina::Responses::WhoAmI","name":"WhoAmI","abstract":false,"superclass":{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},"ancestors":[{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses","kind":"module","full_name":"Caridina::Responses","name":"Responses"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"user_id:String-instance-method","html_id":"user_id:String-instance-method","name":"user_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"user_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@user_id"}}],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Syncer","path":"Caridina/Syncer.html","kind":"class","full_name":"Caridina::Syncer","name":"Syncer","abstract":false,"superclass":{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina","kind":"module","full_name":"Caridina","name":"Caridina"},"doc":"This object allow you to register listeners to be executed when some events\nare received.\n\nThis avoid you to have to parse the whole `Responses::Sync`.\nHowever `#process_response` must be called with a `Responses::Sync` manually.\nThis allow you to control precisely when you want to handle events.\n\n```\nsyncer = Caridina::Syncer.new\nsyncer.on(Caridina::Events::Message) do |event|\n # TODO: actually do something\nend\n\nsyncer.process_response(sync)\n```\n\nEvents sent to listeners are `Events::Event` objects.\nYou should use a type restriction in order to access all their fields.","summary":"

    This object allow you to register listeners to be executed when some events are received.

    ","class_methods":[],"constructors":[],"instance_methods":[{"id":"on(event_type:Events::Event.class,source=Source::All,&block:EventListener):Nil-instance-method","html_id":"on(event_type:Events::Event.class,source=Source::All,&block:EventListener):Nil-instance-method","name":"on","doc":null,"summary":null,"abstract":false,"args":[{"name":"event_type","doc":null,"default_value":"","external_name":"event_type","restriction":"Events::Event.class"},{"name":"source","doc":null,"default_value":"Source::All","external_name":"source","restriction":""}],"args_string":"(event_type : Events::Event.class, source = Source::All, &block : EventListener) : Nil","source_link":null,"def":{"name":"on","args":[{"name":"event_type","doc":null,"default_value":"","external_name":"event_type","restriction":"Events::Event.class"},{"name":"source","doc":null,"default_value":"Source::All","external_name":"source","restriction":""}],"double_splat":null,"splat_index":null,"yields":0,"block_arg":{"name":"block","doc":null,"default_value":"","external_name":"block","restriction":"EventListener"},"return_type":"Nil","visibility":"Public","body":"if !(@listeners.has_key?(event_type))\n @listeners[event_type] = Array(Tuple(EventListener, Source)).new\nend\n@listeners[event_type] << {block, source}\n"}},{"id":"process_response(sync:Responses::Sync):Nil-instance-method","html_id":"process_response(sync:Responses::Sync):Nil-instance-method","name":"process_response","doc":null,"summary":null,"abstract":false,"args":[{"name":"sync","doc":null,"default_value":"","external_name":"sync","restriction":"Responses::Sync"}],"args_string":"(sync : Responses::Sync) : Nil","source_link":null,"def":{"name":"process_response","args":[{"name":"sync","doc":null,"default_value":"","external_name":"sync","restriction":"Responses::Sync"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Nil","visibility":"Public","body":"if rooms = sync.rooms\n rooms.join.each do |room_id, room|\n room.timeline.events.each do |event|\n if event = event.as?(Events::RoomEvent)\n event.room_id = room_id\n dispatch(event, Source::JoinedRooms)\n end\n end\n end\n rooms.invite.each do |room_id, room|\n room.invite_state.events.each do |event|\n event.room_id = room_id\n dispatch(event, Source::InvitedRooms)\n end\n end\nend"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Syncer/EventListener","path":"Caridina/Syncer/EventListener.html","kind":"alias","full_name":"Caridina::Syncer::EventListener","name":"EventListener","abstract":false,"superclass":null,"ancestors":[],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":true,"aliased":"Proc(Caridina::Events::Event, Caridina::Syncer::Source, Nil)","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Syncer","kind":"class","full_name":"Caridina::Syncer","name":"Syncer"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Syncer/Source","path":"Caridina/Syncer/Source.html","kind":"enum","full_name":"Caridina::Syncer::Source","name":"Source","abstract":false,"superclass":null,"ancestors":[{"html_id":"caridina/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"caridina/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":true,"alias":false,"aliased":"","const":false,"constants":[{"id":"InvitedRooms","name":"InvitedRooms","value":"1","doc":null,"summary":null},{"id":"JoinedRooms","name":"JoinedRooms","value":"2","doc":null,"summary":null}],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Syncer","kind":"class","full_name":"Caridina::Syncer","name":"Syncer"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[{"id":"invited_rooms?-instance-method","html_id":"invited_rooms?-instance-method","name":"invited_rooms?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":null,"def":{"name":"invited_rooms?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self.includes?(InvitedRooms)"}},{"id":"joined_rooms?-instance-method","html_id":"joined_rooms?-instance-method","name":"joined_rooms?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":null,"def":{"name":"joined_rooms?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self.includes?(JoinedRooms)"}},{"id":"none?-instance-method","html_id":"none?-instance-method","name":"none?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":null,"def":{"name":"none?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"value == 0"}}],"macros":[],"types":[]}]}]}]}} \ No newline at end of file diff --git a/docs/search-index.js b/docs/search-index.js index c7d2950..a40e671 100644 --- a/docs/search-index.js +++ b/docs/search-index.js @@ -1 +1 @@ -crystal_doc_search_index_callback({"repository_name":"caridina","body":"# caridina\n\nA [Matrix](https://matrix.org) client library written in [Crystal](https://crystal-lang.org).\n\nIt is also a species of shrimp, one of them being named \"crystal red\". Crystal for the language, red for the Matrix's red pill.\n\n\"a\n\n## Installation\n\n1. Add the dependency to your `shard.yml`:\n\n ```yaml\n dependencies:\n caridina:\n github: erdnaxeli/caridina\n ```\n\n2. Run `shards install`\n\n## Usage\n\n### Connecting\n\nCreate a new connection object:\n\n```crystal\nrequire \"caridina\"\n\nconn = Caridina::ConnectionImpl.new(\n \"https://my-favorite-hs.example.org\",\n \"my access token\",\n)\n```\n\nYou can also login to get a new access token:\n\n```crystal\naccess_token = Caridina::ConnectionImpl.login(\n \"https://my-favorite-hs.example.org\",\n \"@mybotuserid:my-favorite-hs.example.org\",\n \"my secret password\",\n)\n```\n\n### Sync\n\nNow we can create a new channel, and tell the connection object to start syncing.\nThe sync responses will be streamed in the channel.\n\n```\nmatrix = Channel(Caridina::Events::Sync).new\nconn.sync(matrix)\n\nsync = matrix.receive\n```\n\nYou have now a [sync response](src/response/sync.cr).\n\nIf you don't want to go through the whole sync response by yourself (which is\nunderstandable), we provide you a [Caridina::Syncer](src/syncer.cr) object.\n\n```\nsyncer = Caridina::Syncer.new\nsyncer.on(Caridina::Events::Message) do |event|\n # TODO: actually do something\nend\n\nsyncer.process_response(sync)\n```\n\n> :warning: The syncer is a new feature still in development.\n> It currently only supports events in the joined rooms timeline.\n> To access to other events, you need to go through the sync response.\n\n### Read event\n\nIf you don't use the `Syncer`, most of the events you will see in the sync response\nwill be `Caridina::Events::Event` objects. You need to restrict the type of an event\nobject to access all its fields.\n\n```\nsync.rooms.try &.join.each do |room_id, room|\n room.timeline.events.each do |event|\n case event\n when Caridina::Events::Member\n # someone's membership changed\n when Caridina:: Events::PowerLevels\n # some authorization changed\n when Caridina::Events::Messages\n # someone talked\n else\n # unknown event\n end\n end\nend\n```\n\nSometimes the event's content can be polymorphic too.\nThat is especially the case for message events.\nBy using again a `case` clause you can restrict its type to access all its fields.\n\n### Send events\n\nTheir is not a single method to send an event.\nInstead this library provides a set of methods that correspond to different\nactions you may want to do.\nYou usually do not need to worry about crafting the event to send.\n\n> :warning: This part is in a very early stage.\n> Currently only a few methods are provided.\n\n```\n# join a room\nconn.join(\"!room_id:matrix.org\")\n# send a message\nevent_id = conn.send_message(\"!room_id:matrix.org\", \"Hello, wurld!\")\n# edit a message\nconn.edit_message(\"!room_id:matrix.org\", \"Hello, world!\"))\n```\n\n## Development\n\nInstall the depencies with `shards install`.\n\n* `make test` runs the tests\n* `make lint` runs the formater plus a linter\n\n## Contributing\n\n1. Fork it ()\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\n\n## Contributors\n\n- [erdnaxeli](https://github.com/erdnaxeli) - creator and maintainer\n","program":{"html_id":"caridina/toplevel","path":"toplevel.html","kind":"module","full_name":"Top Level Namespace","name":"Top Level Namespace","abstract":false,"superclass":null,"ancestors":[],"locations":[],"repository_name":"caridina","program":true,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":null,"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[{"id":"caridina_use_json_discriminator(mapping,fallback=nil)-macro","html_id":"caridina_use_json_discriminator(mapping,fallback=nil)-macro","name":"caridina_use_json_discriminator","doc":"`JSON::Serializable::use_json_discriminator` on steroids.\n\nIt supports looking at many fields to discriminate the type, and case use nested\nfields. If no known discriminator value is found, it use the fallback type if any\nor raise an error.\n\nThe mapping should be order by priority, in case many discriminator values are\nfound, higher priority last.\n\nFor example:\n\n```\nstruct Event\n include JSON::Serializable\n\n caridina_use_json_discriminator(\n {\n [\"type\", \"name\"] => {\"A\": EventA, \"B\": EventB},\n \"event_type\" => {\"A\": EventA, \"C\": EventC},\n }\n )\n\n struct Type\n include JSON::Serializable\n\n getter name : String\n end\n\n getter type : Type\n getter event_type : String\nend\n\nEvent.from_json(%(\n {\n \"type\": {\"name\": \"A\"},\n ...\n }\n)) # => EventA(…)\n\nEvent.from_json(%(\n {\n \"event_type\": \"C\",\n ...\n }\n)) # => EventC(…)\n```\n\nYou MUST use an array when using a nested field as a discriminator field. There\nis no limit on the level of nesting.\n\nIf many discriminator fields match, the last one with a known value will be used.\n\n```\nEvent.from(%(\n {\n \"type\": {\"name\": \"unknown\"},\n \"event_type\": \"C\"\n }\n)) # => EventC(…)\n\nEvent.from(%(\n {\n \"type\": {\"name\": \"A\"},\n \"event_type\": \"unknown\"\n }\n)) # => EventA(…)\n\n# \"event_type\" is read first, but in the mapping [\"type\", \"name\"] came last so\n# it has priority.\nEvent.from(%(\n {\n \"event_type\": \"C\",\n \"type\": {\"name\": \"A\"}\n }\n)) # => EventA(…)","summary":"

    JSON::Serializable::use_json_discriminator on steroids.

    ","abstract":false,"args":[{"name":"mapping","doc":null,"default_value":"","external_name":"mapping","restriction":""},{"name":"fallback","doc":null,"default_value":"nil","external_name":"fallback","restriction":""}],"args_string":"(mapping, fallback = nil)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/macros.cr#L76","def":{"name":"caridina_use_json_discriminator","args":[{"name":"mapping","doc":null,"default_value":"","external_name":"mapping","restriction":""},{"name":"fallback","doc":null,"default_value":"nil","external_name":"fallback","restriction":""}],"double_splat":null,"splat_index":null,"block_arg":null,"visibility":"Public","body":" \n{% if mapping.is_a?(HashLiteral) || mapping.is_a?(NamedTupleLiteral) %}{% else %}\n {% mapping.raise(\"mapping argument must be a HashLiteral or a NamedTupleLiteral, not #{mapping.class_name.id}\") %}\n {% end %}\n\n\n def self.new(pull : ::JSON::PullParser)\n location = pull.location\n\n \n# Array of tuples(field name, discriminator value)\n\n discriminators = Array(Tuple(String | Array(String), String)).new\n\n \n# We read the JSON to find discriminators fields, while also rebuiding it\n\n \n# to give it to the final type.\n\n json = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n \n# We try to match the key to a discriminator field\n\n case key\n \n{% for field in mapping.keys %}\n {% if field.is_a?(ArrayLiteral) %}\n when {{ field[0].id.stringify }}\n field_name = [{{ field[0] }}]\n\n # If the field is an array, we construct nested `cases` blocks.\n {% for subfield, index in field %}\n {% if index != 0 %}\n builder.field(key) do\n builder.start_object\n pull.read_object do |key|\n case key\n when {{ subfield.id.stringify }}\n # We construct the field's fully qualified name,\n # with all the nested fields.\n field_name << {{ subfield.id.stringify }}\n {% end %}\n {% end %}\n\n # We come here if we matched a full nested discriminator. We\n # save the value and the field's fully qualified name.\n value = pull.read_string\n builder.field(key, value)\n discriminators << {field_name, value}\n\n # We need to do a second loop to write all the `else` clauses\n # and close all the `case` blocks.\n {% for f, index in field %}\n {% if index != 0 %}\n else\n # We save the raw json at for each non matched field.\n builder.field(key) { pull.read_raw(builder) }\n end\n end\n builder.end_object\n end\n {% end %}\n {% end %}\n {% else %}\n # If the field is not an array, we just try to match it.\n when {{ field.id.stringify }}\n value = pull.read_string\n builder.field(key, value)\n discriminators << {key, value}\n {% end %}\n {% end %}\n\n \nelse\n \n# We save the raw json at for each non matched field.\n\n builder.field(key) \n{ pull.read_raw(builder) }\n \nend\n \nend\n builder.end_object\n \nend\n \nend\n\n fields = \n{{ mapping.keys.id }}\n\n unless discriminators.size\n raise ::JSON::MappingError.new(\"JSON is missing one of discriminator fields: #{fields}\", to_s, nil, *location, nil)\n \nend\n\n \n# Order the discriminators found by priority, higher priority first.\n\n discriminators.sort_by! \n{ |x| fields.index(x[0]) || 0 }.reverse!\n \n# For each discriminator found, we match its field name (this can't fail),\n\n \n# then we try to match the field's value.\n\n discriminators.each do |field_name, discriminator_value|\n case field_name\n \n{% for field_key, field_mapping in mapping %}\n when {{ field_key }}\n case discriminator_value\n {% for key, value in mapping[field_key] %}\n when {{ key.id.stringify }}\n # We found a valid discriminator value, we can stop here.\n return {{ value.id }}.from_json(json)\n {% end %}\n end\n {% end %}\n\n \nelse\n raise Exception.new(\"This can't happen\")\n \nend\n \nend\n\n \n# If we did not return at this point, it means no discriminator value matched.\n\n \n{% if fallback %}\n {{ fallback.id }}.from_json(json)\n {% else %}\n raise ::JSON::MappingError.new(\"Unknown discriminators #{discriminators.inspect}\", to_s, nil, *location, nil)\n {% end %}\n\n \nend\n\n"}}],"types":[{"html_id":"caridina/Caridina","path":"Caridina.html","kind":"module","full_name":"Caridina","name":"Caridina","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/caridina.cr","line_number":5,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/caridina.cr#L5"},{"filename":"src/connection.cr","line_number":8,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L8"},{"filename":"src/errors.cr","line_number":1,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/errors.cr#L1"},{"filename":"src/events/base.cr","line_number":1,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L1"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[{"id":"Log","name":"Log","value":"::Log.for(self)","doc":null,"summary":null},{"id":"VERSION","name":"VERSION","value":"\"0.3.1\"","doc":null,"summary":null}],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":null,"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[{"html_id":"caridina/Caridina/Connection","path":"Caridina/Connection.html","kind":"module","full_name":"Caridina::Connection","name":"Connection","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/connection.cr","line_number":10,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L10"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[{"html_id":"caridina/Caridina/ConnectionImpl","kind":"class","full_name":"Caridina::ConnectionImpl","name":"ConnectionImpl"}],"namespace":{"html_id":"caridina/Caridina","kind":"module","full_name":"Caridina","name":"Caridina"},"doc":"Interface to represent a Matrix client.","summary":"

    Interface to represent a Matrix client.

    ","class_methods":[],"constructors":[],"instance_methods":[{"id":"edit_message(room_id:String,event_id:String,message:String,html:String?=nil):Nil-instance-method","html_id":"edit_message(room_id:String,event_id:String,message:String,html:String?=nil):Nil-instance-method","name":"edit_message","doc":null,"summary":null,"abstract":true,"args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"args_string":"(room_id : String, event_id : String, message : String, html : String? = nil) : Nil","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L14","def":{"name":"edit_message","args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Nil","visibility":"Public","body":""}},{"id":"get(route,**options)-instance-method","html_id":"get(route,**options)-instance-method","name":"get","doc":null,"summary":null,"abstract":true,"args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""}],"args_string":"(route, **options)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L16","def":{"name":"get","args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""}],"double_splat":{"name":"options","doc":null,"default_value":"","external_name":"options","restriction":""},"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":""}},{"id":"post(route,data=nil,**options)-instance-method","html_id":"post(route,data=nil,**options)-instance-method","name":"post","doc":null,"summary":null,"abstract":true,"args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"args_string":"(route, data = nil, **options)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L17","def":{"name":"post","args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"double_splat":{"name":"options","doc":null,"default_value":"","external_name":"options","restriction":""},"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":""}},{"id":"put(route,data=nil)-instance-method","html_id":"put(route,data=nil)-instance-method","name":"put","doc":null,"summary":null,"abstract":true,"args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"args_string":"(route, data = nil)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L18","def":{"name":"put","args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":""}},{"id":"send_message(room_id:String,message:String,html:String?=nil):String-instance-method","html_id":"send_message(room_id:String,message:String,html:String?=nil):String-instance-method","name":"send_message","doc":null,"summary":null,"abstract":true,"args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"args_string":"(room_id : String, message : String, html : String? = nil) : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L15","def":{"name":"send_message","args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":""}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Connection/ExecError","path":"Caridina/Connection/ExecError.html","kind":"class","full_name":"Caridina::Connection::ExecError","name":"ExecError","abstract":false,"superclass":{"html_id":"caridina/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"caridina/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/connection.cr","line_number":11,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L11"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Connection","kind":"module","full_name":"Caridina::Connection","name":"Connection"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/ConnectionImpl","path":"Caridina/ConnectionImpl.html","kind":"class","full_name":"Caridina::ConnectionImpl","name":"ConnectionImpl","abstract":false,"superclass":{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"caridina/Caridina/Connection","kind":"module","full_name":"Caridina::Connection","name":"Connection"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/connection.cr","line_number":21,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L21"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[{"id":"Log","name":"Log","value":"Caridina::Log.for(self)","doc":null,"summary":null}],"included_modules":[{"html_id":"caridina/Caridina/Connection","kind":"module","full_name":"Caridina::Connection","name":"Connection"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina","kind":"module","full_name":"Caridina","name":"Caridina"},"doc":null,"summary":null,"class_methods":[{"id":"login(hs_url:String,user_id:String,password:String):String-class-method","html_id":"login(hs_url:String,user_id:String,password:String):String-class-method","name":"login","doc":null,"summary":null,"abstract":false,"args":[{"name":"hs_url","doc":null,"default_value":"","external_name":"hs_url","restriction":"String"},{"name":"user_id","doc":null,"default_value":"","external_name":"user_id","restriction":"String"},{"name":"password","doc":null,"default_value":"","external_name":"password","restriction":"String"}],"args_string":"(hs_url : String, user_id : String, password : String) : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L30","def":{"name":"login","args":[{"name":"hs_url","doc":null,"default_value":"","external_name":"hs_url","restriction":"String"},{"name":"user_id","doc":null,"default_value":"","external_name":"user_id","restriction":"String"},{"name":"password","doc":null,"default_value":"","external_name":"password","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"data = {type: \"m.login.password\", identifier: {type: \"m.id.user\", user: user_id}, password: password}\nresponse = HTTP::Client.post(\"#{hs_url}/_matrix/client/r0/login\", headers: HTTP::Headers {\"Content-Type\" => \"application/json\"}, body: data.to_json)\nif !response.success\n raise(Exception.new(\"Error with status_code #{response.status_code}\"))\nend\ndata = Hash(String, String).from_json(response.body)\ndata[\"access_token\"]\n"}}],"constructors":[{"id":"new(hs_url:String,access_token:String)-class-method","html_id":"new(hs_url:String,access_token:String)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"hs_url","doc":null,"default_value":"","external_name":"hs_url","restriction":"String"},{"name":"access_token","doc":null,"default_value":"","external_name":"access_token","restriction":"String"}],"args_string":"(hs_url : String, access_token : String)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L53","def":{"name":"new","args":[{"name":"hs_url","doc":null,"default_value":"","external_name":"hs_url","restriction":"String"},{"name":"access_token","doc":null,"default_value":"","external_name":"access_token","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(hs_url, access_token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"id":"create_filter(filter):String-instance-method","html_id":"create_filter(filter):String-instance-method","name":"create_filter","doc":null,"summary":null,"abstract":false,"args":[{"name":"filter","doc":null,"default_value":"","external_name":"filter","restriction":""}],"args_string":"(filter) : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L63","def":{"name":"create_filter","args":[{"name":"filter","doc":null,"default_value":"","external_name":"filter","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"response = post(\"/user/#{@user_id}/filter\", filter)\nresponse = Responses::Filter.from_json(response)\nresponse.filter_id\n"}},{"id":"edit_message(room_id:String,event_id:String,message:String,html:String?=nil):Nil-instance-method","html_id":"edit_message(room_id:String,event_id:String,message:String,html:String?=nil):Nil-instance-method","name":"edit_message","doc":null,"summary":null,"abstract":false,"args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"args_string":"(room_id : String, event_id : String, message : String, html : String? = nil) : Nil","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L73","def":{"name":"edit_message","args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Nil","visibility":"Public","body":"tx_id = get_tx_id\ndata = Events::Message::MSC2676::Text.new(message, html, event_id)\nput(\"/rooms/#{room_id}/send/m.room.message/#{tx_id}\", data)\n"}},{"id":"get(route,**options)-instance-method","html_id":"get(route,**options)-instance-method","name":"get","doc":null,"summary":null,"abstract":false,"args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""}],"args_string":"(route, **options)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L136","def":{"name":"get","args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""}],"double_splat":{"name":"options","doc":null,"default_value":"","external_name":"options","restriction":""},"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"exec(\"GET\", route, **options)"}},{"id":"join(room_id):Nil-instance-method","html_id":"join(room_id):Nil-instance-method","name":"join","doc":null,"summary":null,"abstract":false,"args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":""}],"args_string":"(room_id) : Nil","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L69","def":{"name":"join","args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Nil","visibility":"Public","body":"post(\"/rooms/#{room_id}/join\")"}},{"id":"post(route,data=nil,**options)-instance-method","html_id":"post(route,data=nil,**options)-instance-method","name":"post","doc":null,"summary":null,"abstract":false,"args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"args_string":"(route, data = nil, **options)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L140","def":{"name":"post","args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"double_splat":{"name":"options","doc":null,"default_value":"","external_name":"options","restriction":""},"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"exec(\"POST\", route, **options, body: data)"}},{"id":"put(route,data=nil)-instance-method","html_id":"put(route,data=nil)-instance-method","name":"put","doc":null,"summary":null,"abstract":false,"args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"args_string":"(route, data = nil)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L144","def":{"name":"put","args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"exec(\"PUT\", route, body: data)"}},{"id":"send_message(room_id:String,message:String,html:String?=nil):String-instance-method","html_id":"send_message(room_id:String,message:String,html:String?=nil):String-instance-method","name":"send_message","doc":null,"summary":null,"abstract":false,"args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"args_string":"(room_id : String, message : String, html : String? = nil) : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L79","def":{"name":"send_message","args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"tx_id = get_tx_id\npayload = Events::Message::Text.new(message, html)\ndata = put(\"/rooms/#{room_id}/send/m.room.message/#{tx_id}\", payload)\n(Responses::Send.from_json(data)).event_id\n"}},{"id":"sync(channel)-instance-method","html_id":"sync(channel)-instance-method","name":"sync","doc":null,"summary":null,"abstract":false,"args":[{"name":"channel","doc":null,"default_value":"","external_name":"channel","restriction":""}],"args_string":"(channel)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L87","def":{"name":"sync","args":[{"name":"channel","doc":null,"default_value":"","external_name":"channel","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"if @syncing\n raise(Exception.new(\"Already syncing\"))\nend\nfilter = {account_data: {types: [] of String}, presence: {types: [] of String}, room: {account_data: {types: [] of String}, ephemeral: {types: [] of String}, timeline: {lazy_load_members: true}, state: {lazy_load_members: true}}}\nfilter_id = create_filter(filter)\nspawn do\n next_batch = nil\n loop do\n begin\n if next_batch.nil?\n response = get(\"/sync\", is_sync: true, filter: filter_id)\n else\n response = get(\"/sync\", is_sync: true, filter: filter_id, since: next_batch, timeout: 300000)\n end\n rescue ex : ExecError\n Log.error(exception: ex) do\n \"Error while syncing, waiting 10s before retry\"\n end\n sleep(10)\n next\n end\n sync = Responses::Sync.from_json(response)\n next_batch = sync.next_batch\n channel.send(sync)\n end\nend\n"}},{"id":"user_id:String-instance-method","html_id":"user_id:String-instance-method","name":"user_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L28","def":{"name":"user_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@user_id"}},{"id":"whoami:String-instance-method","html_id":"whoami:String-instance-method","name":"whoami","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/connection.cr#L130","def":{"name":"whoami","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"response = get(\"/account/whoami\")\nresponse = Responses::WhoAmI.from_json(response)\nresponse.user_id\n"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Errors","path":"Caridina/Errors.html","kind":"module","full_name":"Caridina::Errors","name":"Errors","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/errors.cr","line_number":2,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/errors.cr#L2"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina","kind":"module","full_name":"Caridina","name":"Caridina"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[{"html_id":"caridina/Caridina/Errors/RateLimited","path":"Caridina/Errors/RateLimited.html","kind":"struct","full_name":"Caridina::Errors::RateLimited","name":"RateLimited","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/errors.cr","line_number":3,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/errors.cr#L3"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Errors","kind":"module","full_name":"Caridina::Errors","name":"Errors"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(payload)-class-method","html_id":"new(payload)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"payload","doc":null,"default_value":"","external_name":"payload","restriction":""}],"args_string":"(payload)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/errors.cr#L6","def":{"name":"new","args":[{"name":"payload","doc":null,"default_value":"","external_name":"payload","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(payload)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"id":"retry_after_ms:Int32-instance-method","html_id":"retry_after_ms:Int32-instance-method","name":"retry_after_ms","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int32","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/errors.cr#L4","def":{"name":"retry_after_ms","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Int32","visibility":"Public","body":"@retry_after_ms"}}],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events","path":"Caridina/Events.html","kind":"module","full_name":"Caridina::Events","name":"Events","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/events/base.cr","line_number":1,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L1"},{"filename":"src/events/modules/instant_messaging.cr","line_number":1,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L1"},{"filename":"src/events/room_events.cr","line_number":1,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L1"},{"filename":"src/events/state_events.cr","line_number":1,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L1"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina","kind":"module","full_name":"Caridina","name":"Caridina"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/CanonicalAlias","path":"Caridina/Events/CanonicalAlias.html","kind":"class","full_name":"Caridina::Events::CanonicalAlias","name":"CanonicalAlias","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":7,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L7"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L7","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content-instance-method","html_id":"content:Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content","visibility":"Public","body":"@content"}},{"id":"unsigned:UnsignedData?-instance-method","html_id":"unsigned:UnsignedData?-instance-method","name":"unsigned","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UnsignedData?","source_link":null,"def":{"name":"unsigned","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UnsignedData | ::Nil","visibility":"Public","body":"@unsigned"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/CanonicalAlias/Content","path":"Caridina/Events/CanonicalAlias/Content.html","kind":"class","full_name":"Caridina::Events::CanonicalAlias::Content","name":"Content","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":8,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L8"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/CanonicalAlias","kind":"class","full_name":"Caridina::Events::CanonicalAlias","name":"CanonicalAlias"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L8","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"alias:String?-instance-method","html_id":"alias:String?-instance-method","name":"alias","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L9","def":{"name":"alias","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@alias"}},{"id":"alt_aliases:Array(String)-instance-method","html_id":"alt_aliases:Array(String)-instance-method","name":"alt_aliases","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(String)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L10","def":{"name":"alt_aliases","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(String)","visibility":"Public","body":"@alt_aliases"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/CanonicalAlias/UnsignedData","path":"Caridina/Events/CanonicalAlias/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::CanonicalAlias::UnsignedData","name":"UnsignedData","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":7,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L7"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/CanonicalAlias","kind":"class","full_name":"Caridina::Events::CanonicalAlias","name":"CanonicalAlias"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/Create","path":"Caridina/Events/Create.html","kind":"class","full_name":"Caridina::Events::Create","name":"Create","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":15,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L15"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L15","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content-instance-method","html_id":"content:Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content","visibility":"Public","body":"@content"}},{"id":"unsigned:UnsignedData?-instance-method","html_id":"unsigned:UnsignedData?-instance-method","name":"unsigned","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UnsignedData?","source_link":null,"def":{"name":"unsigned","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UnsignedData | ::Nil","visibility":"Public","body":"@unsigned"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/Create/Content","path":"Caridina/Events/Create/Content.html","kind":"class","full_name":"Caridina::Events::Create::Content","name":"Content","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":23,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L23"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Create","kind":"class","full_name":"Caridina::Events::Create","name":"Create"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L23","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"creator:String-instance-method","html_id":"creator:String-instance-method","name":"creator","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L24","def":{"name":"creator","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@creator"}},{"id":"m_federate:Bool-instance-method","html_id":"m_federate:Bool-instance-method","name":"m_federate","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Bool","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L26","def":{"name":"m_federate","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@m_federate"}},{"id":"predecessor:PreviousRoom?-instance-method","html_id":"predecessor:PreviousRoom?-instance-method","name":"predecessor","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : PreviousRoom?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L28","def":{"name":"predecessor","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"PreviousRoom | ::Nil","visibility":"Public","body":"@predecessor"}},{"id":"room_version:String-instance-method","html_id":"room_version:String-instance-method","name":"room_version","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L27","def":{"name":"room_version","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@room_version"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Create/PreviousRoom","path":"Caridina/Events/Create/PreviousRoom.html","kind":"struct","full_name":"Caridina::Events::Create::PreviousRoom","name":"PreviousRoom","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":16,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L16"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Create","kind":"class","full_name":"Caridina::Events::Create","name":"Create"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L17","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"event_id:String-instance-method","html_id":"event_id:String-instance-method","name":"event_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L20","def":{"name":"event_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@event_id"}},{"id":"room_id:String-instance-method","html_id":"room_id:String-instance-method","name":"room_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L19","def":{"name":"room_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@room_id"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Create/UnsignedData","path":"Caridina/Events/Create/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::Create::UnsignedData","name":"UnsignedData","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":15,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L15"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Create","kind":"class","full_name":"Caridina::Events::Create","name":"Create"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/Event","path":"Caridina/Events/Event.html","kind":"class","full_name":"Caridina::Events::Event","name":"Event","abstract":true,"superclass":{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/base.cr","line_number":12,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L12"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Unknown","kind":"class","full_name":"Caridina::Events::Unknown","name":"Unknown"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":"Base type representing an event.\n\nIt has a class method `#from_json` that can be used to deserialize an event.\n You can then match the returned event type against known types.\n\nIf the event is unknown, it returns nil.","summary":"

    Base type representing an event.

    ","class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L15","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"location = pull.location\ndiscriminators = Array(Tuple(String | Array(String), String)).new\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n case key\n when \"type\"\n value = pull.read_string\n builder.field(key, value)\n discriminators << {key, value}\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nfields = [\"type\"]\nif discriminators.size\nelse\n raise(::JSON::MappingError.new(\"JSON is missing one of discriminator fields: #{fields}\", to_s, nil, *location, nil))\nend\ndiscriminators.sort_by! do |x|\n (fields.index(x[0])) || 0\nend.reverse!\ndiscriminators.each do |field_name, discriminator_value|\n case field_name\n when \"type\"\n case discriminator_value\n when \"m.room.canonical_alias\"\n return CanonicalAlias.from_json(json)\n when \"m.room.create\"\n return Create.from_json(json)\n when \"m.room.join_rules\"\n return JoinRules.from_json(json)\n when \"m.room.member\"\n return Member.from_json(json)\n when \"m.room.power_levels\"\n return PowerLevels.from_json(json)\n when \"m.room.redaction\"\n return Redaction.from_json(json)\n when \"m.room.message\"\n return Message.from_json(json)\n end\n else\n raise(Exception.new(\"This can't happen\"))\n end\nend\nUnknown.from_json(json)\n"}}],"instance_methods":[{"id":"type:String-instance-method","html_id":"type:String-instance-method","name":"type","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L48","def":{"name":"type","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@type"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/Event/Content","path":"Caridina/Events/Event/Content.html","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content","abstract":true,"superclass":{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/base.cr","line_number":40,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L40"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Events/CanonicalAlias/Content","kind":"class","full_name":"Caridina::Events::CanonicalAlias::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Create/Content","kind":"class","full_name":"Caridina::Events::Create::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/JoinRules/Content","kind":"class","full_name":"Caridina::Events::JoinRules::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Member/Content","kind":"class","full_name":"Caridina::Events::Member::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Message/Content","kind":"class","full_name":"Caridina::Events::Message::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/PowerLevels/Content","kind":"class","full_name":"Caridina::Events::PowerLevels::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Redaction/Content","kind":"class","full_name":"Caridina::Events::Redaction::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Unknown/Content","kind":"class","full_name":"Caridina::Events::Unknown::Content","name":"Content"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L41","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"relates_to:RelatesTo?-instance-method","html_id":"relates_to:RelatesTo?-instance-method","name":"relates_to","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : RelatesTo?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L45","def":{"name":"relates_to","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"RelatesTo | ::Nil","visibility":"Public","body":"@relates_to"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Event/RelatesTo","path":"Caridina/Events/Event/RelatesTo.html","kind":"struct","full_name":"Caridina::Events::Event::RelatesTo","name":"RelatesTo","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/base.cr","line_number":30,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L30"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(rel_type,event_id)-class-method","html_id":"new(rel_type,event_id)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"rel_type","doc":null,"default_value":"","external_name":"rel_type","restriction":""},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":""}],"args_string":"(rel_type, event_id)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L36","def":{"name":"new","args":[{"name":"rel_type","doc":null,"default_value":"","external_name":"rel_type","restriction":""},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(rel_type, event_id)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L31","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"event_id:String-instance-method","html_id":"event_id:String-instance-method","name":"event_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L34","def":{"name":"event_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@event_id"}},{"id":"rel_type:String-instance-method","html_id":"rel_type:String-instance-method","name":"rel_type","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L33","def":{"name":"rel_type","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@rel_type"}}],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/JoinRules","path":"Caridina/Events/JoinRules.html","kind":"class","full_name":"Caridina::Events::JoinRules","name":"JoinRules","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":33,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L33"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L33","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content-instance-method","html_id":"content:Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content","visibility":"Public","body":"@content"}},{"id":"unsigned:UnsignedData?-instance-method","html_id":"unsigned:UnsignedData?-instance-method","name":"unsigned","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UnsignedData?","source_link":null,"def":{"name":"unsigned","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UnsignedData | ::Nil","visibility":"Public","body":"@unsigned"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/JoinRules/Content","path":"Caridina/Events/JoinRules/Content.html","kind":"class","full_name":"Caridina::Events::JoinRules::Content","name":"Content","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":41,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L41"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/JoinRules","kind":"class","full_name":"Caridina::Events::JoinRules","name":"JoinRules"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L41","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"join_rule:JoinRule-instance-method","html_id":"join_rule:JoinRule-instance-method","name":"join_rule","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : JoinRule","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L42","def":{"name":"join_rule","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"JoinRule","visibility":"Public","body":"@join_rule"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/JoinRules/JoinRule","path":"Caridina/Events/JoinRules/JoinRule.html","kind":"enum","full_name":"Caridina::Events::JoinRules::JoinRule","name":"JoinRule","abstract":false,"superclass":null,"ancestors":[{"html_id":"caridina/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"caridina/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":34,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L34"}],"repository_name":"caridina","program":false,"enum":true,"alias":false,"aliased":"","const":false,"constants":[{"id":"Public","name":"Public","value":"0","doc":null,"summary":null},{"id":"Knock","name":"Knock","value":"1","doc":null,"summary":null},{"id":"Invite","name":"Invite","value":"2","doc":null,"summary":null},{"id":"Private","name":"Private","value":"3","doc":null,"summary":null}],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/JoinRules","kind":"class","full_name":"Caridina::Events::JoinRules","name":"JoinRules"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[{"id":"invite?-instance-method","html_id":"invite?-instance-method","name":"invite?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L37","def":{"name":"invite?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Invite"}},{"id":"knock?-instance-method","html_id":"knock?-instance-method","name":"knock?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L36","def":{"name":"knock?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Knock"}},{"id":"private?-instance-method","html_id":"private?-instance-method","name":"private?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L38","def":{"name":"private?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Private"}},{"id":"public?-instance-method","html_id":"public?-instance-method","name":"public?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L35","def":{"name":"public?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Public"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/JoinRules/UnsignedData","path":"Caridina/Events/JoinRules/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::JoinRules::UnsignedData","name":"UnsignedData","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":33,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L33"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/JoinRules","kind":"class","full_name":"Caridina::Events::JoinRules","name":"JoinRules"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/Member","path":"Caridina/Events/Member.html","kind":"class","full_name":"Caridina::Events::Member","name":"Member","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":47,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L47"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L47","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content-instance-method","html_id":"content:Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content","visibility":"Public","body":"@content"}},{"id":"unsigned:UnsignedData?-instance-method","html_id":"unsigned:UnsignedData?-instance-method","name":"unsigned","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UnsignedData?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L102","def":{"name":"unsigned","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UnsignedData | ::Nil","visibility":"Public","body":"@unsigned"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/Member/Content","path":"Caridina/Events/Member/Content.html","kind":"class","full_name":"Caridina::Events::Member::Content","name":"Content","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":94,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L94"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Member","kind":"class","full_name":"Caridina::Events::Member","name":"Member"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L94","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"avatar_url:String?-instance-method","html_id":"avatar_url:String?-instance-method","name":"avatar_url","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L95","def":{"name":"avatar_url","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@avatar_url"}},{"id":"displayname:String?-instance-method","html_id":"displayname:String?-instance-method","name":"displayname","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L96","def":{"name":"displayname","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@displayname"}},{"id":"is_direct:Bool?-instance-method","html_id":"is_direct:Bool?-instance-method","name":"is_direct","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Bool?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L98","def":{"name":"is_direct","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Bool | ::Nil","visibility":"Public","body":"@is_direct"}},{"id":"membership:Membership-instance-method","html_id":"membership:Membership-instance-method","name":"membership","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Membership","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L97","def":{"name":"membership","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Membership","visibility":"Public","body":"@membership"}},{"id":"third_party_invite:Invite?-instance-method","html_id":"third_party_invite:Invite?-instance-method","name":"third_party_invite","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Invite?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L99","def":{"name":"third_party_invite","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Invite | ::Nil","visibility":"Public","body":"@third_party_invite"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Member/Invite","path":"Caridina/Events/Member/Invite.html","kind":"struct","full_name":"Caridina::Events::Member::Invite","name":"Invite","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":56,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L56"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Member","kind":"class","full_name":"Caridina::Events::Member","name":"Member"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L57","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"display_name:String-instance-method","html_id":"display_name:String-instance-method","name":"display_name","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L59","def":{"name":"display_name","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@display_name"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Member/Membership","path":"Caridina/Events/Member/Membership.html","kind":"enum","full_name":"Caridina::Events::Member::Membership","name":"Membership","abstract":false,"superclass":null,"ancestors":[{"html_id":"caridina/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"caridina/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":48,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L48"}],"repository_name":"caridina","program":false,"enum":true,"alias":false,"aliased":"","const":false,"constants":[{"id":"Invite","name":"Invite","value":"0","doc":null,"summary":null},{"id":"Join","name":"Join","value":"1","doc":null,"summary":null},{"id":"Knock","name":"Knock","value":"2","doc":null,"summary":null},{"id":"Leave","name":"Leave","value":"3","doc":null,"summary":null},{"id":"Ban","name":"Ban","value":"4","doc":null,"summary":null}],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Member","kind":"class","full_name":"Caridina::Events::Member","name":"Member"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[{"id":"ban?-instance-method","html_id":"ban?-instance-method","name":"ban?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L53","def":{"name":"ban?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Ban"}},{"id":"invite?-instance-method","html_id":"invite?-instance-method","name":"invite?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L49","def":{"name":"invite?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Invite"}},{"id":"join?-instance-method","html_id":"join?-instance-method","name":"join?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L50","def":{"name":"join?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Join"}},{"id":"knock?-instance-method","html_id":"knock?-instance-method","name":"knock?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L51","def":{"name":"knock?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Knock"}},{"id":"leave?-instance-method","html_id":"leave?-instance-method","name":"leave?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L52","def":{"name":"leave?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Leave"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Member/StrippedState","path":"Caridina/Events/Member/StrippedState.html","kind":"struct","full_name":"Caridina::Events::Member::StrippedState","name":"StrippedState","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":68,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L68"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Member","kind":"class","full_name":"Caridina::Events::Member","name":"Member"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L69","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Event::Content-instance-method","html_id":"content:Event::Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Event::Content","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L76","def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Event::Content","visibility":"Public","body":"json = @json_unmapped[\"content\"].to_json\n{% if true %}\n case type\n {% for subclass in StateEvent.subclasses %}\n {% if subclass.annotation(Type) %}\n when {{ (subclass.annotation(Type))[0] }}\n {{ subclass.id }}::Content.from_json(json)\n {% end %}\n {% end %}\n else\n Unknown::Content.from_json(json)\n end\n {% end %}\n"}},{"id":"sender:String-instance-method","html_id":"sender:String-instance-method","name":"sender","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L74","def":{"name":"sender","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@sender"}},{"id":"state_key:String-instance-method","html_id":"state_key:String-instance-method","name":"state_key","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L72","def":{"name":"state_key","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@state_key"}},{"id":"type:String-instance-method","html_id":"type:String-instance-method","name":"type","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L73","def":{"name":"type","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@type"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Member/UnsignedData","path":"Caridina/Events/Member/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::Member::UnsignedData","name":"UnsignedData","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":47,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L47"},{"filename":"src/events/state_events.cr","line_number":62,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L62"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Member","kind":"class","full_name":"Caridina::Events::Member","name":"Member"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L63","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"invite_room_state:Array(StrippedState)?-instance-method","html_id":"invite_room_state:Array(StrippedState)?-instance-method","name":"invite_room_state","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(StrippedState)?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L65","def":{"name":"invite_room_state","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(StrippedState) | ::Nil","visibility":"Public","body":"@invite_room_state"}}],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/Message","path":"Caridina/Events/Message.html","kind":"class","full_name":"Caridina::Events::Message","name":"Message","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/modules/instant_messaging.cr","line_number":3,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L3"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L3","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content-instance-method","html_id":"content:Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content","visibility":"Public","body":"@content"}},{"id":"unsigned:UnsignedData?-instance-method","html_id":"unsigned:UnsignedData?-instance-method","name":"unsigned","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UnsignedData?","source_link":null,"def":{"name":"unsigned","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UnsignedData | ::Nil","visibility":"Public","body":"@unsigned"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/Message/Content","path":"Caridina/Events/Message/Content.html","kind":"class","full_name":"Caridina::Events::Message::Content","name":"Content","abstract":true,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/modules/instant_messaging.cr","line_number":4,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L4"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Events/Message/Text","kind":"class","full_name":"Caridina::Events::Message::Text","name":"Text"},{"html_id":"caridina/Caridina/Events/Message/Unknown","kind":"class","full_name":"Caridina::Events::Message::Unknown","name":"Unknown"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Message","kind":"class","full_name":"Caridina::Events::Message","name":"Message"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L5","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"location = pull.location\ndiscriminators = Array(Tuple(String | Array(String), String)).new\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n case key\n when \"msgtype\"\n value = pull.read_string\n builder.field(key, value)\n discriminators << {key, value}\n when \"m.relates_to\"\n field_name = [\"m.relates_to\"]\n builder.field(key) do\n builder.start_object\n pull.read_object do |key|\n case key\n when \"rel_type\"\n field_name << \"rel_type\"\n value = pull.read_string\n builder.field(key, value)\n discriminators << {field_name, value}\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nfields = [\"msgtype\", [\"m.relates_to\", \"rel_type\"]]\nif discriminators.size\nelse\n raise(::JSON::MappingError.new(\"JSON is missing one of discriminator fields: #{fields}\", to_s, nil, *location, nil))\nend\ndiscriminators.sort_by! do |x|\n (fields.index(x[0])) || 0\nend.reverse!\ndiscriminators.each do |field_name, discriminator_value|\n case field_name\n when \"msgtype\"\n case discriminator_value\n when \"m.text\"\n return Text.from_json(json)\n end\n when [\"m.relates_to\", \"rel_type\"]\n case discriminator_value\n when \"m.replace\"\n return MSC2676::Dispatcher.from_json(json)\n end\n else\n raise(Exception.new(\"This can't happen\"))\n end\nend\nUnknown.from_json(json)\n"}}],"instance_methods":[{"id":"body:String-instance-method","html_id":"body:String-instance-method","name":"body","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L17","def":{"name":"body","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@body"}},{"id":"msgtype:String-instance-method","html_id":"msgtype:String-instance-method","name":"msgtype","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L18","def":{"name":"msgtype","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@msgtype"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Message/MSC2676","path":"Caridina/Events/Message/MSC2676.html","kind":"module","full_name":"Caridina::Events::Message::MSC2676","name":"MSC2676","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/events/modules/instant_messaging.cr","line_number":38,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L38"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Message","kind":"class","full_name":"Caridina::Events::Message","name":"Message"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/Message/MSC2676/Content","path":"Caridina/Events/Message/MSC2676/Content.html","kind":"module","full_name":"Caridina::Events::Message::MSC2676::Content","name":"Content","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/events/modules/instant_messaging.cr","line_number":52,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L52"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[{"html_id":"caridina/Caridina/Events/Message/MSC2676/Text","kind":"class","full_name":"Caridina::Events::Message::MSC2676::Text","name":"Text"}],"namespace":{"html_id":"caridina/Caridina/Events/Message/MSC2676","kind":"module","full_name":"Caridina::Events::Message::MSC2676","name":"MSC2676"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[{"id":"new_content:Events::Message::Content-instance-method","html_id":"new_content:Events::Message::Content-instance-method","name":"new_content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Events::Message::Content","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L54","def":{"name":"new_content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Events::Message::Content","visibility":"Public","body":"@new_content"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Message/MSC2676/Text","path":"Caridina/Events/Message/MSC2676/Text.html","kind":"class","full_name":"Caridina::Events::Message::MSC2676::Text","name":"Text","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Message/Text","kind":"class","full_name":"Caridina::Events::Message::Text","name":"Text"},"ancestors":[{"html_id":"caridina/Caridina/Events/Message/MSC2676/Content","kind":"module","full_name":"Caridina::Events::Message::MSC2676::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Message/Text","kind":"class","full_name":"Caridina::Events::Message::Text","name":"Text"},{"html_id":"caridina/Caridina/Events/Message/Content","kind":"class","full_name":"Caridina::Events::Message::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/modules/instant_messaging.cr","line_number":57,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L57"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/Caridina/Events/Message/MSC2676/Content","kind":"module","full_name":"Caridina::Events::Message::MSC2676::Content","name":"Content"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Message/MSC2676","kind":"module","full_name":"Caridina::Events::Message::MSC2676","name":"MSC2676"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(body,formatted_body,event_id)-class-method","html_id":"new(body,formatted_body,event_id)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"body","doc":null,"default_value":"","external_name":"body","restriction":""},{"name":"formatted_body","doc":null,"default_value":"","external_name":"formatted_body","restriction":""},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":""}],"args_string":"(body, formatted_body, event_id)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L60","def":{"name":"new","args":[{"name":"body","doc":null,"default_value":"","external_name":"body","restriction":""},{"name":"formatted_body","doc":null,"default_value":"","external_name":"formatted_body","restriction":""},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(body, formatted_body, event_id)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L57","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/Message/Text","path":"Caridina/Events/Message/Text.html","kind":"class","full_name":"Caridina::Events::Message::Text","name":"Text","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Message/Content","kind":"class","full_name":"Caridina::Events::Message::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Message/Content","kind":"class","full_name":"Caridina::Events::Message::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/modules/instant_messaging.cr","line_number":23,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L23"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Events/Message/MSC2676/Text","kind":"class","full_name":"Caridina::Events::Message::MSC2676::Text","name":"Text"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Message","kind":"class","full_name":"Caridina::Events::Message","name":"Message"},"doc":"m.text","summary":"

    m.text

    ","class_methods":[],"constructors":[{"id":"new(body,formatted_body)-class-method","html_id":"new(body,formatted_body)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"body","doc":null,"default_value":"","external_name":"body","restriction":""},{"name":"formatted_body","doc":null,"default_value":"","external_name":"formatted_body","restriction":""}],"args_string":"(body, formatted_body)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L27","def":{"name":"new","args":[{"name":"body","doc":null,"default_value":"","external_name":"body","restriction":""},{"name":"formatted_body","doc":null,"default_value":"","external_name":"formatted_body","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(body, formatted_body)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":"m.text","summary":"

    m.text

    ","abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L23","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"format:String?-instance-method","html_id":"format:String?-instance-method","name":"format","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L24","def":{"name":"format","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@format"}},{"id":"formatted_body:String?-instance-method","html_id":"formatted_body:String?-instance-method","name":"formatted_body","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L25","def":{"name":"formatted_body","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@formatted_body"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Message/Unknown","path":"Caridina/Events/Message/Unknown.html","kind":"class","full_name":"Caridina::Events::Message::Unknown","name":"Unknown","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Message/Content","kind":"class","full_name":"Caridina::Events::Message::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Message/Content","kind":"class","full_name":"Caridina::Events::Message::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/modules/instant_messaging.cr","line_number":35,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L35"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Message","kind":"class","full_name":"Caridina::Events::Message","name":"Message"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L35","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Message/UnsignedData","path":"Caridina/Events/Message/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::Message::UnsignedData","name":"UnsignedData","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/modules/instant_messaging.cr","line_number":3,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/modules/instant_messaging.cr#L3"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Message","kind":"class","full_name":"Caridina::Events::Message","name":"Message"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/PowerLevels","path":"Caridina/Events/PowerLevels.html","kind":"class","full_name":"Caridina::Events::PowerLevels","name":"PowerLevels","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":106,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L106"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L106","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content-instance-method","html_id":"content:Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content","visibility":"Public","body":"@content"}},{"id":"unsigned:UnsignedData?-instance-method","html_id":"unsigned:UnsignedData?-instance-method","name":"unsigned","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UnsignedData?","source_link":null,"def":{"name":"unsigned","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UnsignedData | ::Nil","visibility":"Public","body":"@unsigned"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/PowerLevels/Content","path":"Caridina/Events/PowerLevels/Content.html","kind":"class","full_name":"Caridina::Events::PowerLevels::Content","name":"Content","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":113,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L113"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/PowerLevels","kind":"class","full_name":"Caridina::Events::PowerLevels","name":"PowerLevels"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L113","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"ban:UInt8-instance-method","html_id":"ban:UInt8-instance-method","name":"ban","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt8","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L114","def":{"name":"ban","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@ban"}},{"id":"events:Hash(String,UInt8)-instance-method","html_id":"events:Hash(String,UInt8)-instance-method","name":"events","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Hash(String, UInt8)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L115","def":{"name":"events","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@events"}},{"id":"events_default:UInt8-instance-method","html_id":"events_default:UInt8-instance-method","name":"events_default","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt8","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L116","def":{"name":"events_default","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@events_default"}},{"id":"invite:UInt8-instance-method","html_id":"invite:UInt8-instance-method","name":"invite","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt8","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L117","def":{"name":"invite","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@invite"}},{"id":"kick:UInt8-instance-method","html_id":"kick:UInt8-instance-method","name":"kick","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt8","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L118","def":{"name":"kick","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@kick"}},{"id":"notifications:Notifications?-instance-method","html_id":"notifications:Notifications?-instance-method","name":"notifications","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Notifications?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L123","def":{"name":"notifications","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Notifications | ::Nil","visibility":"Public","body":"@notifications"}},{"id":"redact:UInt8-instance-method","html_id":"redact:UInt8-instance-method","name":"redact","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt8","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L119","def":{"name":"redact","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@redact"}},{"id":"states_default:UInt8-instance-method","html_id":"states_default:UInt8-instance-method","name":"states_default","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt8","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L120","def":{"name":"states_default","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@states_default"}},{"id":"users:Hash(String,UInt8)-instance-method","html_id":"users:Hash(String,UInt8)-instance-method","name":"users","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Hash(String, UInt8)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L121","def":{"name":"users","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@users"}},{"id":"users_default:Int8-instance-method","html_id":"users_default:Int8-instance-method","name":"users_default","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int8","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L122","def":{"name":"users_default","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@users_default"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/PowerLevels/Notifications","path":"Caridina/Events/PowerLevels/Notifications.html","kind":"struct","full_name":"Caridina::Events::PowerLevels::Notifications","name":"Notifications","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":107,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L107"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/PowerLevels","kind":"class","full_name":"Caridina::Events::PowerLevels","name":"PowerLevels"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L108","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"room:UInt8-instance-method","html_id":"room:UInt8-instance-method","name":"room","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt8","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L110","def":{"name":"room","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@room"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/PowerLevels/UnsignedData","path":"Caridina/Events/PowerLevels/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::PowerLevels::UnsignedData","name":"UnsignedData","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":106,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L106"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/PowerLevels","kind":"class","full_name":"Caridina::Events::PowerLevels","name":"PowerLevels"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/Redaction","path":"Caridina/Events/Redaction.html","kind":"class","full_name":"Caridina::Events::Redaction","name":"Redaction","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/room_events.cr","line_number":28,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L28"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L28","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content-instance-method","html_id":"content:Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content","visibility":"Public","body":"@content"}},{"id":"unsigned:UnsignedData?-instance-method","html_id":"unsigned:UnsignedData?-instance-method","name":"unsigned","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UnsignedData?","source_link":null,"def":{"name":"unsigned","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UnsignedData | ::Nil","visibility":"Public","body":"@unsigned"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/Redaction/Content","path":"Caridina/Events/Redaction/Content.html","kind":"class","full_name":"Caridina::Events::Redaction::Content","name":"Content","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/room_events.cr","line_number":29,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L29"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Redaction","kind":"class","full_name":"Caridina::Events::Redaction","name":"Redaction"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L29","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"reason:String?-instance-method","html_id":"reason:String?-instance-method","name":"reason","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L30","def":{"name":"reason","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@reason"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Redaction/UnsignedData","path":"Caridina/Events/Redaction/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::Redaction::UnsignedData","name":"UnsignedData","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/room_events.cr","line_number":28,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L28"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Redaction","kind":"class","full_name":"Caridina::Events::Redaction","name":"Redaction"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/RoomEvent","path":"Caridina/Events/RoomEvent.html","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent","abstract":true,"superclass":{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/room_events.cr","line_number":2,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L2"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Events/Message","kind":"class","full_name":"Caridina::Events::Message","name":"Message"},{"html_id":"caridina/Caridina/Events/Redaction","kind":"class","full_name":"Caridina::Events::Redaction","name":"Redaction"},{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L2","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"event_id:String-instance-method","html_id":"event_id:String-instance-method","name":"event_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L10","def":{"name":"event_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@event_id"}},{"id":"origin_server_ts:UInt64-instance-method","html_id":"origin_server_ts:UInt64-instance-method","name":"origin_server_ts","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt64","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L12","def":{"name":"origin_server_ts","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UInt64","visibility":"Public","body":"@origin_server_ts"}},{"id":"room_id:String?-instance-method","html_id":"room_id:String?-instance-method","name":"room_id","doc":"\"room_id\" is not set in events returned from the sync API, so we need to\nset it up ourself.","summary":"

    \"room_id\" is not set in events returned from the sync API, so we need to set it up ourself.

    ","abstract":false,"args":[],"args_string":" : String?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L15","def":{"name":"room_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@room_id"}},{"id":"room_id=(room_id:String?)-instance-method","html_id":"room_id=(room_id:String?)-instance-method","name":"room_id=","doc":"\"room_id\" is not set in events returned from the sync API, so we need to\nset it up ourself.","summary":"

    \"room_id\" is not set in events returned from the sync API, so we need to set it up ourself.

    ","abstract":false,"args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String | ::Nil"}],"args_string":"(room_id : String?)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L15","def":{"name":"room_id=","args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@room_id = room_id"}},{"id":"sender:String-instance-method","html_id":"sender:String-instance-method","name":"sender","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L11","def":{"name":"sender","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@sender"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","path":"Caridina/Events/RoomEvent/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData","abstract":true,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/room_events.cr","line_number":3,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L3"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Events/CanonicalAlias/UnsignedData","kind":"struct","full_name":"Caridina::Events::CanonicalAlias::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/Caridina/Events/Create/UnsignedData","kind":"struct","full_name":"Caridina::Events::Create::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/Caridina/Events/JoinRules/UnsignedData","kind":"struct","full_name":"Caridina::Events::JoinRules::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/Caridina/Events/Member/UnsignedData","kind":"struct","full_name":"Caridina::Events::Member::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/Caridina/Events/Message/UnsignedData","kind":"struct","full_name":"Caridina::Events::Message::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/Caridina/Events/PowerLevels/UnsignedData","kind":"struct","full_name":"Caridina::Events::PowerLevels::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/Caridina/Events/Redaction/UnsignedData","kind":"struct","full_name":"Caridina::Events::Redaction::UnsignedData","name":"UnsignedData"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L4","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"age:Int64-instance-method","html_id":"age:Int64-instance-method","name":"age","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int64","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L6","def":{"name":"age","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Int64","visibility":"Public","body":"@age"}},{"id":"transaction_id:String?-instance-method","html_id":"transaction_id:String?-instance-method","name":"transaction_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/room_events.cr#L7","def":{"name":"transaction_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@transaction_id"}}],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/StateEvent","path":"Caridina/Events/StateEvent.html","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent","abstract":true,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/state_events.cr","line_number":2,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L2"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Events/CanonicalAlias","kind":"class","full_name":"Caridina::Events::CanonicalAlias","name":"CanonicalAlias"},{"html_id":"caridina/Caridina/Events/Create","kind":"class","full_name":"Caridina::Events::Create","name":"Create"},{"html_id":"caridina/Caridina/Events/JoinRules","kind":"class","full_name":"Caridina::Events::JoinRules","name":"JoinRules"},{"html_id":"caridina/Caridina/Events/Member","kind":"class","full_name":"Caridina::Events::Member","name":"Member"},{"html_id":"caridina/Caridina/Events/PowerLevels","kind":"class","full_name":"Caridina::Events::PowerLevels","name":"PowerLevels"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L2","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"state_key:String-instance-method","html_id":"state_key:String-instance-method","name":"state_key","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/state_events.cr#L3","def":{"name":"state_key","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@state_key"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Type","path":"Caridina/Events/Type.html","kind":"annotation","full_name":"Caridina::Events::Type","name":"Type","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/events/base.cr","line_number":3,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L3"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":"Use this annotation to specify the event's type.","summary":"

    Use this annotation to specify the event's type.

    ","class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Unknown","path":"Caridina/Events/Unknown.html","kind":"class","full_name":"Caridina::Events::Unknown","name":"Unknown","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/base.cr","line_number":57,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L57"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L57","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content?-instance-method","html_id":"content:Content?-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L61","def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content | ::Nil","visibility":"Public","body":"@content"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/Unknown/Content","path":"Caridina/Events/Unknown/Content.html","kind":"class","full_name":"Caridina::Events::Unknown::Content","name":"Content","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/events/base.cr","line_number":58,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L58"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Unknown","kind":"class","full_name":"Caridina::Events::Unknown","name":"Unknown"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/events/base.cr#L58","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]}]},{"html_id":"caridina/Caridina/Responses","path":"Caridina/Responses.html","kind":"module","full_name":"Caridina::Responses","name":"Responses","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/responses/base.cr","line_number":1,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/base.cr#L1"},{"filename":"src/responses/filter.cr","line_number":3,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/filter.cr#L3"},{"filename":"src/responses/send.cr","line_number":3,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/send.cr#L3"},{"filename":"src/responses/sync.cr","line_number":5,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L5"},{"filename":"src/responses/whoami.cr","line_number":3,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/whoami.cr#L3"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina","kind":"module","full_name":"Caridina","name":"Caridina"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[{"html_id":"caridina/Caridina/Responses/Filter","path":"Caridina/Responses/Filter.html","kind":"struct","full_name":"Caridina::Responses::Filter","name":"Filter","abstract":false,"superclass":{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},"ancestors":[{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/responses/filter.cr","line_number":4,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/filter.cr#L4"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses","kind":"module","full_name":"Caridina::Responses","name":"Responses"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/filter.cr#L4","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"filter_id:String-instance-method","html_id":"filter_id:String-instance-method","name":"filter_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/filter.cr#L5","def":{"name":"filter_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@filter_id"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Responses/Response","path":"Caridina/Responses/Response.html","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response","abstract":true,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/responses/base.cr","line_number":2,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/base.cr#L2"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Responses/Filter","kind":"struct","full_name":"Caridina::Responses::Filter","name":"Filter"},{"html_id":"caridina/Caridina/Responses/Send","kind":"struct","full_name":"Caridina::Responses::Send","name":"Send"},{"html_id":"caridina/Caridina/Responses/Sync","kind":"struct","full_name":"Caridina::Responses::Sync","name":"Sync"},{"html_id":"caridina/Caridina/Responses/WhoAmI","kind":"struct","full_name":"Caridina::Responses::WhoAmI","name":"WhoAmI"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses","kind":"module","full_name":"Caridina::Responses","name":"Responses"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/base.cr#L3","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Responses/Send","path":"Caridina/Responses/Send.html","kind":"struct","full_name":"Caridina::Responses::Send","name":"Send","abstract":false,"superclass":{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},"ancestors":[{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/responses/send.cr","line_number":4,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/send.cr#L4"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses","kind":"module","full_name":"Caridina::Responses","name":"Responses"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/send.cr#L4","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"event_id:String-instance-method","html_id":"event_id:String-instance-method","name":"event_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/send.cr#L5","def":{"name":"event_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@event_id"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Responses/Sync","path":"Caridina/Responses/Sync.html","kind":"struct","full_name":"Caridina::Responses::Sync","name":"Sync","abstract":false,"superclass":{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},"ancestors":[{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/responses/sync.cr","line_number":6,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L6"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses","kind":"module","full_name":"Caridina::Responses","name":"Responses"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L6","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"next_batch:String-instance-method","html_id":"next_batch:String-instance-method","name":"next_batch","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L38","def":{"name":"next_batch","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@next_batch"}},{"id":"rooms:Rooms?-instance-method","html_id":"rooms:Rooms?-instance-method","name":"rooms","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Rooms?","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L39","def":{"name":"rooms","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Rooms | ::Nil","visibility":"Public","body":"@rooms"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Responses/Sync/InvitedRoom","path":"Caridina/Responses/Sync/InvitedRoom.html","kind":"struct","full_name":"Caridina::Responses::Sync::InvitedRoom","name":"InvitedRoom","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/responses/sync.cr","line_number":26,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L26"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses/Sync","kind":"struct","full_name":"Caridina::Responses::Sync","name":"Sync"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L27","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"invite_state:InviteState-instance-method","html_id":"invite_state:InviteState-instance-method","name":"invite_state","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : InviteState","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L29","def":{"name":"invite_state","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"InviteState","visibility":"Public","body":"@invite_state"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Responses/Sync/InviteState","path":"Caridina/Responses/Sync/InviteState.html","kind":"struct","full_name":"Caridina::Responses::Sync::InviteState","name":"InviteState","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/responses/sync.cr","line_number":32,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L32"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses/Sync","kind":"struct","full_name":"Caridina::Responses::Sync","name":"Sync"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L33","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"events:Array(Events::Member::StrippedState)-instance-method","html_id":"events:Array(Events::Member::StrippedState)-instance-method","name":"events","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(Events::Member::StrippedState)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L35","def":{"name":"events","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(Events::Member::StrippedState)","visibility":"Public","body":"@events"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Responses/Sync/JoinedRoom","path":"Caridina/Responses/Sync/JoinedRoom.html","kind":"struct","full_name":"Caridina::Responses::Sync::JoinedRoom","name":"JoinedRoom","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/responses/sync.cr","line_number":14,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L14"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses/Sync","kind":"struct","full_name":"Caridina::Responses::Sync","name":"Sync"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L15","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"timeline:Timeline-instance-method","html_id":"timeline:Timeline-instance-method","name":"timeline","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Timeline","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L17","def":{"name":"timeline","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Timeline","visibility":"Public","body":"@timeline"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Responses/Sync/Rooms","path":"Caridina/Responses/Sync/Rooms.html","kind":"struct","full_name":"Caridina::Responses::Sync::Rooms","name":"Rooms","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/responses/sync.cr","line_number":7,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L7"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses/Sync","kind":"struct","full_name":"Caridina::Responses::Sync","name":"Sync"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L8","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"invite:Hash(String,InvitedRoom)-instance-method","html_id":"invite:Hash(String,InvitedRoom)-instance-method","name":"invite","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Hash(String, InvitedRoom)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L11","def":{"name":"invite","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Hash(String, InvitedRoom)","visibility":"Public","body":"@invite"}},{"id":"join:Hash(String,JoinedRoom)-instance-method","html_id":"join:Hash(String,JoinedRoom)-instance-method","name":"join","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Hash(String, JoinedRoom)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L10","def":{"name":"join","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Hash(String, JoinedRoom)","visibility":"Public","body":"@join"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Responses/Sync/Timeline","path":"Caridina/Responses/Sync/Timeline.html","kind":"struct","full_name":"Caridina::Responses::Sync::Timeline","name":"Timeline","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/responses/sync.cr","line_number":20,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L20"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses/Sync","kind":"struct","full_name":"Caridina::Responses::Sync","name":"Sync"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L21","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"events:Array(Events::Event)-instance-method","html_id":"events:Array(Events::Event)-instance-method","name":"events","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(Events::Event)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/sync.cr#L23","def":{"name":"events","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(Events::Event)","visibility":"Public","body":"@events"}}],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Responses/WhoAmI","path":"Caridina/Responses/WhoAmI.html","kind":"struct","full_name":"Caridina::Responses::WhoAmI","name":"WhoAmI","abstract":false,"superclass":{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},"ancestors":[{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/responses/whoami.cr","line_number":4,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/whoami.cr#L4"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses","kind":"module","full_name":"Caridina::Responses","name":"Responses"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/whoami.cr#L4","def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"user_id:String-instance-method","html_id":"user_id:String-instance-method","name":"user_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/responses/whoami.cr#L5","def":{"name":"user_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@user_id"}}],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Syncer","path":"Caridina/Syncer.html","kind":"class","full_name":"Caridina::Syncer","name":"Syncer","abstract":false,"superclass":{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/syncer.cr","line_number":3,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/syncer.cr#L3"}],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina","kind":"module","full_name":"Caridina","name":"Caridina"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[{"id":"on(event_type:Events::Event.class,&block:EventListener):Nil-instance-method","html_id":"on(event_type:Events::Event.class,&block:EventListener):Nil-instance-method","name":"on","doc":null,"summary":null,"abstract":false,"args":[{"name":"event_type","doc":null,"default_value":"","external_name":"event_type","restriction":"Events::Event.class"}],"args_string":"(event_type : Events::Event.class, &block : EventListener) : Nil","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/syncer.cr#L21","def":{"name":"on","args":[{"name":"event_type","doc":null,"default_value":"","external_name":"event_type","restriction":"Events::Event.class"}],"double_splat":null,"splat_index":null,"yields":0,"block_arg":{"name":"block","doc":null,"default_value":"","external_name":"block","restriction":"EventListener"},"return_type":"Nil","visibility":"Public","body":"if !(@listeners.has_key?(event_type))\n @listeners[event_type] = Array(EventListener).new\nend\n@listeners[event_type] << block\n"}},{"id":"process_response(sync:Responses::Sync):Nil-instance-method","html_id":"process_response(sync:Responses::Sync):Nil-instance-method","name":"process_response","doc":null,"summary":null,"abstract":false,"args":[{"name":"sync","doc":null,"default_value":"","external_name":"sync","restriction":"Responses::Sync"}],"args_string":"(sync : Responses::Sync) : Nil","source_link":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/syncer.cr#L7","def":{"name":"process_response","args":[{"name":"sync","doc":null,"default_value":"","external_name":"sync","restriction":"Responses::Sync"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Nil","visibility":"Public","body":"sync.rooms.try do |__arg0|\n __arg0.join.each do |room_id, room|\n room.timeline.events.each do |event|\n if event = event.as?(Events::RoomEvent)\n event.room_id = room_id\n @listeners[event.class]?.try(&.each do |listener|\n listener.call(event)\n end)\n end\n end\n end\nend"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Syncer/EventListener","path":"Caridina/Syncer/EventListener.html","kind":"alias","full_name":"Caridina::Syncer::EventListener","name":"EventListener","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/syncer.cr","line_number":4,"url":"https://github.com/erdnaxeli/caridina/blob/12b1b316bd765339459826dda4f222483c1bdb67/src/syncer.cr#L4"}],"repository_name":"caridina","program":false,"enum":false,"alias":true,"aliased":"Proc(Caridina::Events::Event, Nil)","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Syncer","kind":"class","full_name":"Caridina::Syncer","name":"Syncer"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[]}]}]}]}}) \ No newline at end of file +crystal_doc_search_index_callback({"repository_name":"caridina","body":"# caridina\n\nA [Matrix](https://matrix.org) client library written in [Crystal](https://crystal-lang.org).\n\nIt is also a species of shrimp, one of them being named \"crystal red\". Crystal for the language, red for the Matrix's red pill.\n\n\"a\n\n## Installation\n\n1. Add the dependency to your `shard.yml`:\n\n ```yaml\n dependencies:\n caridina:\n github: erdnaxeli/caridina\n ```\n\n2. Run `shards install`\n\n## Usage\n\n### Connecting\n\nCreate a new connection object:\n\n```crystal\nrequire \"caridina\"\n\nconn = Caridina::ConnectionImpl.new(\n \"https://my-favorite-hs.example.org\",\n \"my access token\",\n)\n```\n\nYou can also login to get a new access token:\n\n```crystal\naccess_token = Caridina::ConnectionImpl.login(\n \"https://my-favorite-hs.example.org\",\n \"@mybotuserid:my-favorite-hs.example.org\",\n \"my secret password\",\n)\n```\n\n### Sync\n\nNow we can create a new channel, and tell the connection object to start syncing.\nThe sync responses will be streamed in the channel.\n\n```Crystal\nmatrix = Channel(Caridina::Events::Sync).new\nconn.sync(matrix)\n\nsync = matrix.receive\n```\n\nYou have now a [sync response](src/response/sync.cr).\n\nIf you don't want to go through the whole sync response by yourself (which is\nunderstandable), we provide you a [Caridina::Syncer](src/syncer.cr) object.\n\n```Crystal\nsyncer = Caridina::Syncer.new\nsyncer.on(Caridina::Events::Message) do |event|\n # TODO: actually do something\nend\n\nsyncer.process_response(sync)\n```\n\n> :warning: The syncer is a new feature still in development.\n> It currently only supports events in the joined rooms timeline.\n> To access to other events, you need to go through the sync response.\n\n### Read event\n\nIf you don't use the `Syncer`, most of the events you will see in the sync response\nwill be `Caridina::Events::Event` objects. You need to restrict the type of an event\nobject to access all its fields.\n\n```Crystal\nsync.rooms.try &.join.each do |room_id, room|\n room.timeline.events.each do |event|\n case event\n when Caridina::Events::Member\n # someone's membership changed\n when Caridina:: Events::PowerLevels\n # some authorization changed\n when Caridina::Events::Messages\n # someone talked\n else\n # unknown event\n end\n end\nend\n```\n\nSometimes the event's content can be polymorphic too.\nThat is especially the case for message events.\nBy using again a `case` clause you can restrict its type to access all its fields.\n\n### Send events\n\nTheir is not a single method to send an event.\nInstead this library provides a set of methods that correspond to different\nactions you may want to do.\nYou usually do not need to worry about crafting the event to send.\n\n> :warning: This part is in a very early stage.\n> Currently only a few methods are provided.\n\n```Crystal\n# join a room\nconn.join(\"!room_id:matrix.org\")\n# send a message\nevent_id = conn.send_message(\"!room_id:matrix.org\", \"Hello, wurld!\")\n# edit a message\nconn.edit_message(\"!room_id:matrix.org\", \"Hello, world!\"))\n```\n\n## Development\n\nInstall the depencies with `shards install`.\n\n* `make test` runs the tests\n* `make lint` runs the formater plus a linter\n\n## Contributing\n\n1. Fork it ()\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\n\n## Contributors\n\n- [erdnaxeli](https://github.com/erdnaxeli) - creator and maintainer\n","program":{"html_id":"caridina/toplevel","path":"toplevel.html","kind":"module","full_name":"Top Level Namespace","name":"Top Level Namespace","abstract":false,"superclass":null,"ancestors":[],"locations":[],"repository_name":"caridina","program":true,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":null,"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[{"id":"caridina_use_json_discriminator(mapping,fallback=nil)-macro","html_id":"caridina_use_json_discriminator(mapping,fallback=nil)-macro","name":"caridina_use_json_discriminator","doc":"`JSON::Serializable::use_json_discriminator` on steroids.\n\nIt supports looking at many fields to discriminate the type, and case use nested\nfields. If no known discriminator value is found, it use the fallback type if any\nor raise an error.\n\nThe mapping should be order by priority, in case many discriminator values are\nfound, higher priority last.\n\nFor example:\n\n```\nstruct Event\n include JSON::Serializable\n\n caridina_use_json_discriminator(\n {\n [\"type\", \"name\"] => {\"A\": EventA, \"B\": EventB},\n \"event_type\" => {\"A\": EventA, \"C\": EventC},\n }\n )\n\n struct Type\n include JSON::Serializable\n\n getter name : String\n end\n\n getter type : Type\n getter event_type : String\nend\n\nEvent.from_json(%(\n {\n \"type\": {\"name\": \"A\"},\n ...\n }\n)) # => EventA(…)\n\nEvent.from_json(%(\n {\n \"event_type\": \"C\",\n ...\n }\n)) # => EventC(…)\n```\n\nYou MUST use an array when using a nested field as a discriminator field. There\nis no limit on the level of nesting.\n\nIf many discriminator fields match, the last one with a known value will be used.\n\n```\nEvent.from(%(\n {\n \"type\": {\"name\": \"unknown\"},\n \"event_type\": \"C\"\n }\n)) # => EventC(…)\n\nEvent.from(%(\n {\n \"type\": {\"name\": \"A\"},\n \"event_type\": \"unknown\"\n }\n)) # => EventA(…)\n\n# \"event_type\" is read first, but in the mapping [\"type\", \"name\"] came last so\n# it has priority.\nEvent.from(%(\n {\n \"event_type\": \"C\",\n \"type\": {\"name\": \"A\"}\n }\n)) # => EventA(…)","summary":"

    JSON::Serializable::use_json_discriminator on steroids.

    ","abstract":false,"args":[{"name":"mapping","doc":null,"default_value":"","external_name":"mapping","restriction":""},{"name":"fallback","doc":null,"default_value":"nil","external_name":"fallback","restriction":""}],"args_string":"(mapping, fallback = nil)","source_link":null,"def":{"name":"caridina_use_json_discriminator","args":[{"name":"mapping","doc":null,"default_value":"","external_name":"mapping","restriction":""},{"name":"fallback","doc":null,"default_value":"nil","external_name":"fallback","restriction":""}],"double_splat":null,"splat_index":null,"block_arg":null,"visibility":"Public","body":" \n{% if mapping.is_a?(HashLiteral) || mapping.is_a?(NamedTupleLiteral) %}{% else %}\n {% mapping.raise(\"mapping argument must be a HashLiteral or a NamedTupleLiteral, not #{mapping.class_name.id}\") %}\n {% end %}\n\n\n def self.new(pull : ::JSON::PullParser)\n location = pull.location\n\n \n# Array of tuples(field name, discriminator value)\n\n discriminators = Array(Tuple(String | Array(String), String)).new\n\n \n# We read the JSON to find discriminators fields, while also rebuiding it\n\n \n# to give it to the final type.\n\n json = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n \n# We try to match the key to a discriminator field\n\n case key\n \n{% for field in mapping.keys %}\n {% if field.is_a?(ArrayLiteral) %}\n when {{ field[0].id.stringify }}\n field_name = [{{ field[0] }}]\n\n # If the field is an array, we construct nested `cases` blocks.\n {% for subfield, index in field %}\n {% if index != 0 %}\n builder.field(key) do\n builder.start_object\n pull.read_object do |key|\n case key\n when {{ subfield.id.stringify }}\n # We construct the field's fully qualified name,\n # with all the nested fields.\n field_name << {{ subfield.id.stringify }}\n {% end %}\n {% end %}\n\n # We come here if we matched a full nested discriminator. We\n # save the value and the field's fully qualified name.\n value = pull.read_string\n builder.field(key, value)\n discriminators << {field_name, value}\n\n # We need to do a second loop to write all the `else` clauses\n # and close all the `case` blocks.\n {% for f, index in field %}\n {% if index != 0 %}\n else\n # We save the raw json at for each non matched field.\n builder.field(key) { pull.read_raw(builder) }\n end\n end\n builder.end_object\n end\n {% end %}\n {% end %}\n {% else %}\n # If the field is not an array, we just try to match it.\n when {{ field.id.stringify }}\n value = pull.read_string\n builder.field(key, value)\n discriminators << {key, value}\n {% end %}\n {% end %}\n\n \nelse\n \n# We save the raw json at for each non matched field.\n\n builder.field(key) \n{ pull.read_raw(builder) }\n \nend\n \nend\n builder.end_object\n \nend\n \nend\n\n fields = \n{{ mapping.keys.id }}\n\n unless discriminators.size\n raise ::JSON::MappingError.new(\"JSON is missing one of discriminator fields: #{fields}\", to_s, nil, *location, nil)\n \nend\n\n \n# Order the discriminators found by priority, higher priority first.\n\n discriminators.sort_by! \n{ |x| fields.index(x[0]) || 0 }.reverse!\n \n# For each discriminator found, we match its field name (this can't fail),\n\n \n# then we try to match the field's value.\n\n discriminators.each do |field_name, discriminator_value|\n case field_name\n \n{% for field_key, field_mapping in mapping %}\n when {{ field_key }}\n case discriminator_value\n {% for key, value in mapping[field_key] %}\n when {{ key.id.stringify }}\n # We found a valid discriminator value, we can stop here.\n return {{ value.id }}.from_json(json)\n {% end %}\n end\n {% end %}\n\n \nelse\n raise Exception.new(\"This can't happen\")\n \nend\n \nend\n\n \n# If we did not return at this point, it means no discriminator value matched.\n\n \n{% if fallback %}\n {{ fallback.id }}.from_json(json)\n {% else %}\n raise ::JSON::MappingError.new(\"Unknown discriminators #{discriminators.inspect}\", to_s, nil, *location, nil)\n {% end %}\n\n \nend\n\n"}}],"types":[{"html_id":"caridina/Caridina","path":"Caridina.html","kind":"module","full_name":"Caridina","name":"Caridina","abstract":false,"superclass":null,"ancestors":[],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[{"id":"Log","name":"Log","value":"::Log.for(self)","doc":null,"summary":null},{"id":"VERSION","name":"VERSION","value":"\"0.4.0\"","doc":null,"summary":null}],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":null,"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[{"html_id":"caridina/Caridina/Connection","path":"Caridina/Connection.html","kind":"module","full_name":"Caridina::Connection","name":"Connection","abstract":false,"superclass":null,"ancestors":[],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[{"html_id":"caridina/Caridina/ConnectionImpl","kind":"class","full_name":"Caridina::ConnectionImpl","name":"ConnectionImpl"}],"namespace":{"html_id":"caridina/Caridina","kind":"module","full_name":"Caridina","name":"Caridina"},"doc":"Interface to represent a Matrix client.","summary":"

    Interface to represent a Matrix client.

    ","class_methods":[],"constructors":[],"instance_methods":[{"id":"edit_message(room_id:String,event_id:String,message:String,html:String?=nil):Nil-instance-method","html_id":"edit_message(room_id:String,event_id:String,message:String,html:String?=nil):Nil-instance-method","name":"edit_message","doc":null,"summary":null,"abstract":true,"args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"args_string":"(room_id : String, event_id : String, message : String, html : String? = nil) : Nil","source_link":null,"def":{"name":"edit_message","args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Nil","visibility":"Public","body":""}},{"id":"get(route,**options)-instance-method","html_id":"get(route,**options)-instance-method","name":"get","doc":null,"summary":null,"abstract":true,"args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""}],"args_string":"(route, **options)","source_link":null,"def":{"name":"get","args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""}],"double_splat":{"name":"options","doc":null,"default_value":"","external_name":"options","restriction":""},"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":""}},{"id":"post(route,data=nil,**options)-instance-method","html_id":"post(route,data=nil,**options)-instance-method","name":"post","doc":null,"summary":null,"abstract":true,"args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"args_string":"(route, data = nil, **options)","source_link":null,"def":{"name":"post","args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"double_splat":{"name":"options","doc":null,"default_value":"","external_name":"options","restriction":""},"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":""}},{"id":"put(route,data=nil)-instance-method","html_id":"put(route,data=nil)-instance-method","name":"put","doc":null,"summary":null,"abstract":true,"args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"args_string":"(route, data = nil)","source_link":null,"def":{"name":"put","args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":""}},{"id":"send_message(room_id:String,message:String,html:String?=nil):String-instance-method","html_id":"send_message(room_id:String,message:String,html:String?=nil):String-instance-method","name":"send_message","doc":null,"summary":null,"abstract":true,"args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"args_string":"(room_id : String, message : String, html : String? = nil) : String","source_link":null,"def":{"name":"send_message","args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":""}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Connection/ExecError","path":"Caridina/Connection/ExecError.html","kind":"class","full_name":"Caridina::Connection::ExecError","name":"ExecError","abstract":false,"superclass":{"html_id":"caridina/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"caridina/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Connection","kind":"module","full_name":"Caridina::Connection","name":"Connection"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/ConnectionImpl","path":"Caridina/ConnectionImpl.html","kind":"class","full_name":"Caridina::ConnectionImpl","name":"ConnectionImpl","abstract":false,"superclass":{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"caridina/Caridina/Connection","kind":"module","full_name":"Caridina::Connection","name":"Connection"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[{"id":"Log","name":"Log","value":"Caridina::Log.for(self)","doc":null,"summary":null}],"included_modules":[{"html_id":"caridina/Caridina/Connection","kind":"module","full_name":"Caridina::Connection","name":"Connection"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina","kind":"module","full_name":"Caridina","name":"Caridina"},"doc":null,"summary":null,"class_methods":[{"id":"login(hs_url:String,user_id:String,password:String):String-class-method","html_id":"login(hs_url:String,user_id:String,password:String):String-class-method","name":"login","doc":null,"summary":null,"abstract":false,"args":[{"name":"hs_url","doc":null,"default_value":"","external_name":"hs_url","restriction":"String"},{"name":"user_id","doc":null,"default_value":"","external_name":"user_id","restriction":"String"},{"name":"password","doc":null,"default_value":"","external_name":"password","restriction":"String"}],"args_string":"(hs_url : String, user_id : String, password : String) : String","source_link":null,"def":{"name":"login","args":[{"name":"hs_url","doc":null,"default_value":"","external_name":"hs_url","restriction":"String"},{"name":"user_id","doc":null,"default_value":"","external_name":"user_id","restriction":"String"},{"name":"password","doc":null,"default_value":"","external_name":"password","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"data = {type: \"m.login.password\", identifier: {type: \"m.id.user\", user: user_id}, password: password}\nresponse = HTTP::Client.post(\"#{hs_url}/_matrix/client/r0/login\", headers: HTTP::Headers {\"Content-Type\" => \"application/json\"}, body: data.to_json)\nif !response.success\n raise(Exception.new(\"Error with status_code #{response.status_code}\"))\nend\ndata = Hash(String, String).from_json(response.body)\ndata[\"access_token\"]\n"}}],"constructors":[{"id":"new(hs_url:String,access_token:String)-class-method","html_id":"new(hs_url:String,access_token:String)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"hs_url","doc":null,"default_value":"","external_name":"hs_url","restriction":"String"},{"name":"access_token","doc":null,"default_value":"","external_name":"access_token","restriction":"String"}],"args_string":"(hs_url : String, access_token : String)","source_link":null,"def":{"name":"new","args":[{"name":"hs_url","doc":null,"default_value":"","external_name":"hs_url","restriction":"String"},{"name":"access_token","doc":null,"default_value":"","external_name":"access_token","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(hs_url, access_token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"id":"create_filter(filter):String-instance-method","html_id":"create_filter(filter):String-instance-method","name":"create_filter","doc":null,"summary":null,"abstract":false,"args":[{"name":"filter","doc":null,"default_value":"","external_name":"filter","restriction":""}],"args_string":"(filter) : String","source_link":null,"def":{"name":"create_filter","args":[{"name":"filter","doc":null,"default_value":"","external_name":"filter","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"response = post(\"/user/#{@user_id}/filter\", filter)\nresponse = Responses::Filter.from_json(response)\nresponse.filter_id\n"}},{"id":"edit_message(room_id:String,event_id:String,message:String,html:String?=nil):Nil-instance-method","html_id":"edit_message(room_id:String,event_id:String,message:String,html:String?=nil):Nil-instance-method","name":"edit_message","doc":null,"summary":null,"abstract":false,"args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"args_string":"(room_id : String, event_id : String, message : String, html : String? = nil) : Nil","source_link":null,"def":{"name":"edit_message","args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Nil","visibility":"Public","body":"tx_id = get_tx_id\ndata = Events::Message::MSC2676::Text.new(message, html, event_id)\nput(\"/rooms/#{room_id}/send/m.room.message/#{tx_id}\", data)\n"}},{"id":"get(route,**options)-instance-method","html_id":"get(route,**options)-instance-method","name":"get","doc":null,"summary":null,"abstract":false,"args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""}],"args_string":"(route, **options)","source_link":null,"def":{"name":"get","args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""}],"double_splat":{"name":"options","doc":null,"default_value":"","external_name":"options","restriction":""},"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"exec(\"GET\", route, **options)"}},{"id":"join(room_id):Nil-instance-method","html_id":"join(room_id):Nil-instance-method","name":"join","doc":null,"summary":null,"abstract":false,"args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":""}],"args_string":"(room_id) : Nil","source_link":null,"def":{"name":"join","args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Nil","visibility":"Public","body":"post(\"/rooms/#{room_id}/join\")"}},{"id":"post(route,data=nil,**options)-instance-method","html_id":"post(route,data=nil,**options)-instance-method","name":"post","doc":null,"summary":null,"abstract":false,"args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"args_string":"(route, data = nil, **options)","source_link":null,"def":{"name":"post","args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"double_splat":{"name":"options","doc":null,"default_value":"","external_name":"options","restriction":""},"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"exec(\"POST\", route, **options, body: data)"}},{"id":"put(route,data=nil)-instance-method","html_id":"put(route,data=nil)-instance-method","name":"put","doc":null,"summary":null,"abstract":false,"args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"args_string":"(route, data = nil)","source_link":null,"def":{"name":"put","args":[{"name":"route","doc":null,"default_value":"","external_name":"route","restriction":""},{"name":"data","doc":null,"default_value":"nil","external_name":"data","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"exec(\"PUT\", route, body: data)"}},{"id":"send_message(room_id:String,message:String,html:String?=nil):String-instance-method","html_id":"send_message(room_id:String,message:String,html:String?=nil):String-instance-method","name":"send_message","doc":null,"summary":null,"abstract":false,"args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"args_string":"(room_id : String, message : String, html : String? = nil) : String","source_link":null,"def":{"name":"send_message","args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String"},{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":"String"},{"name":"html","doc":null,"default_value":"nil","external_name":"html","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"tx_id = get_tx_id\npayload = Events::Message::Text.new(message, html)\ndata = put(\"/rooms/#{room_id}/send/m.room.message/#{tx_id}\", payload)\n(Responses::Send.from_json(data)).event_id\n"}},{"id":"sync(channel)-instance-method","html_id":"sync(channel)-instance-method","name":"sync","doc":null,"summary":null,"abstract":false,"args":[{"name":"channel","doc":null,"default_value":"","external_name":"channel","restriction":""}],"args_string":"(channel)","source_link":null,"def":{"name":"sync","args":[{"name":"channel","doc":null,"default_value":"","external_name":"channel","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"if @syncing\n raise(Exception.new(\"Already syncing\"))\nend\nfilter = {account_data: {types: [] of String}, presence: {types: [] of String}, room: {account_data: {types: [] of String}, ephemeral: {types: [] of String}, timeline: {lazy_load_members: true}, state: {lazy_load_members: true}}}\nfilter_id = create_filter(filter)\nspawn do\n next_batch = nil\n loop do\n begin\n if next_batch.nil?\n response = get(\"/sync\", is_sync: true, filter: filter_id)\n else\n response = get(\"/sync\", is_sync: true, filter: filter_id, since: next_batch, timeout: 300000)\n end\n rescue ex : ExecError\n Log.error(exception: ex) do\n \"Error while syncing, waiting 10s before retry\"\n end\n sleep(10)\n next\n end\n sync = Responses::Sync.from_json(response)\n next_batch = sync.next_batch\n channel.send(sync)\n end\nend\n"}},{"id":"user_id:String-instance-method","html_id":"user_id:String-instance-method","name":"user_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"user_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@user_id"}},{"id":"whoami:String-instance-method","html_id":"whoami:String-instance-method","name":"whoami","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"whoami","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"response = get(\"/account/whoami\")\nresponse = Responses::WhoAmI.from_json(response)\nresponse.user_id\n"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Errors","path":"Caridina/Errors.html","kind":"module","full_name":"Caridina::Errors","name":"Errors","abstract":false,"superclass":null,"ancestors":[],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina","kind":"module","full_name":"Caridina","name":"Caridina"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[{"html_id":"caridina/Caridina/Errors/RateLimited","path":"Caridina/Errors/RateLimited.html","kind":"struct","full_name":"Caridina::Errors::RateLimited","name":"RateLimited","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Errors","kind":"module","full_name":"Caridina::Errors","name":"Errors"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(payload)-class-method","html_id":"new(payload)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"payload","doc":null,"default_value":"","external_name":"payload","restriction":""}],"args_string":"(payload)","source_link":null,"def":{"name":"new","args":[{"name":"payload","doc":null,"default_value":"","external_name":"payload","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(payload)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"id":"retry_after_ms:Int32-instance-method","html_id":"retry_after_ms:Int32-instance-method","name":"retry_after_ms","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int32","source_link":null,"def":{"name":"retry_after_ms","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Int32","visibility":"Public","body":"@retry_after_ms"}}],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events","path":"Caridina/Events.html","kind":"module","full_name":"Caridina::Events","name":"Events","abstract":false,"superclass":null,"ancestors":[],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina","kind":"module","full_name":"Caridina","name":"Caridina"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/CanonicalAlias","path":"Caridina/Events/CanonicalAlias.html","kind":"class","full_name":"Caridina::Events::CanonicalAlias","name":"CanonicalAlias","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content-instance-method","html_id":"content:Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content","visibility":"Public","body":"@content"}},{"id":"unsigned:UnsignedData?-instance-method","html_id":"unsigned:UnsignedData?-instance-method","name":"unsigned","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UnsignedData?","source_link":null,"def":{"name":"unsigned","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UnsignedData | ::Nil","visibility":"Public","body":"@unsigned"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/CanonicalAlias/Content","path":"Caridina/Events/CanonicalAlias/Content.html","kind":"class","full_name":"Caridina::Events::CanonicalAlias::Content","name":"Content","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/CanonicalAlias","kind":"class","full_name":"Caridina::Events::CanonicalAlias","name":"CanonicalAlias"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"alias:String?-instance-method","html_id":"alias:String?-instance-method","name":"alias","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":null,"def":{"name":"alias","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@alias"}},{"id":"alt_aliases:Array(String)-instance-method","html_id":"alt_aliases:Array(String)-instance-method","name":"alt_aliases","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(String)","source_link":null,"def":{"name":"alt_aliases","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(String)","visibility":"Public","body":"@alt_aliases"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/CanonicalAlias/UnsignedData","path":"Caridina/Events/CanonicalAlias/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::CanonicalAlias::UnsignedData","name":"UnsignedData","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/CanonicalAlias","kind":"class","full_name":"Caridina::Events::CanonicalAlias","name":"CanonicalAlias"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/Create","path":"Caridina/Events/Create.html","kind":"class","full_name":"Caridina::Events::Create","name":"Create","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content-instance-method","html_id":"content:Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content","visibility":"Public","body":"@content"}},{"id":"unsigned:UnsignedData?-instance-method","html_id":"unsigned:UnsignedData?-instance-method","name":"unsigned","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UnsignedData?","source_link":null,"def":{"name":"unsigned","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UnsignedData | ::Nil","visibility":"Public","body":"@unsigned"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/Create/Content","path":"Caridina/Events/Create/Content.html","kind":"class","full_name":"Caridina::Events::Create::Content","name":"Content","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Create","kind":"class","full_name":"Caridina::Events::Create","name":"Create"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"creator:String-instance-method","html_id":"creator:String-instance-method","name":"creator","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"creator","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@creator"}},{"id":"m_federate:Bool-instance-method","html_id":"m_federate:Bool-instance-method","name":"m_federate","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Bool","source_link":null,"def":{"name":"m_federate","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@m_federate"}},{"id":"predecessor:PreviousRoom?-instance-method","html_id":"predecessor:PreviousRoom?-instance-method","name":"predecessor","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : PreviousRoom?","source_link":null,"def":{"name":"predecessor","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"PreviousRoom | ::Nil","visibility":"Public","body":"@predecessor"}},{"id":"room_version:String-instance-method","html_id":"room_version:String-instance-method","name":"room_version","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"room_version","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@room_version"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Create/PreviousRoom","path":"Caridina/Events/Create/PreviousRoom.html","kind":"struct","full_name":"Caridina::Events::Create::PreviousRoom","name":"PreviousRoom","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Create","kind":"class","full_name":"Caridina::Events::Create","name":"Create"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"event_id:String-instance-method","html_id":"event_id:String-instance-method","name":"event_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"event_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@event_id"}},{"id":"room_id:String-instance-method","html_id":"room_id:String-instance-method","name":"room_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"room_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@room_id"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Create/UnsignedData","path":"Caridina/Events/Create/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::Create::UnsignedData","name":"UnsignedData","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Create","kind":"class","full_name":"Caridina::Events::Create","name":"Create"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/Event","path":"Caridina/Events/Event.html","kind":"class","full_name":"Caridina::Events::Event","name":"Event","abstract":true,"superclass":{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/StrippedState","kind":"class","full_name":"Caridina::Events::StrippedState","name":"StrippedState"},{"html_id":"caridina/Caridina/Events/Unknown","kind":"class","full_name":"Caridina::Events::Unknown","name":"Unknown"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":"Base type representing an event.\n\nIt has a class method `#from_json` that can be used to deserialize an event.\n You can then match the returned event type against known types.\n\nIf the event is unknown, it returns nil.","summary":"

    Base type representing an event.

    ","class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"location = pull.location\ndiscriminators = Array(Tuple(String | Array(String), String)).new\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n case key\n when \"type\"\n value = pull.read_string\n builder.field(key, value)\n discriminators << {key, value}\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nfields = [\"type\"]\nif discriminators.size\nelse\n raise(::JSON::MappingError.new(\"JSON is missing one of discriminator fields: #{fields}\", to_s, nil, *location, nil))\nend\ndiscriminators.sort_by! do |x|\n (fields.index(x[0])) || 0\nend.reverse!\ndiscriminators.each do |field_name, discriminator_value|\n case field_name\n when \"type\"\n case discriminator_value\n when \"m.room.canonical_alias\"\n return CanonicalAlias.from_json(json)\n when \"m.room.create\"\n return Create.from_json(json)\n when \"m.room.join_rules\"\n return JoinRules.from_json(json)\n when \"m.room.member\"\n return Member.from_json(json)\n when \"m.room.power_levels\"\n return PowerLevels.from_json(json)\n when \"m.room.redaction\"\n return Redaction.from_json(json)\n when \"m.room.message\"\n return Message.from_json(json)\n end\n else\n raise(Exception.new(\"This can't happen\"))\n end\nend\nUnknown.from_json(json)\n"}}],"instance_methods":[{"id":"type:String-instance-method","html_id":"type:String-instance-method","name":"type","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"type","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@type"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/Event/Content","path":"Caridina/Events/Event/Content.html","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content","abstract":true,"superclass":{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Events/CanonicalAlias/Content","kind":"class","full_name":"Caridina::Events::CanonicalAlias::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Create/Content","kind":"class","full_name":"Caridina::Events::Create::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/JoinRules/Content","kind":"class","full_name":"Caridina::Events::JoinRules::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Member/Content","kind":"class","full_name":"Caridina::Events::Member::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Message/Content","kind":"class","full_name":"Caridina::Events::Message::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/PowerLevels/Content","kind":"class","full_name":"Caridina::Events::PowerLevels::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Redaction/Content","kind":"class","full_name":"Caridina::Events::Redaction::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Unknown/Content","kind":"class","full_name":"Caridina::Events::Unknown::Content","name":"Content"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"relates_to:RelatesTo?-instance-method","html_id":"relates_to:RelatesTo?-instance-method","name":"relates_to","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : RelatesTo?","source_link":null,"def":{"name":"relates_to","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"RelatesTo | ::Nil","visibility":"Public","body":"@relates_to"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Event/RelatesTo","path":"Caridina/Events/Event/RelatesTo.html","kind":"struct","full_name":"Caridina::Events::Event::RelatesTo","name":"RelatesTo","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(rel_type,event_id)-class-method","html_id":"new(rel_type,event_id)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"rel_type","doc":null,"default_value":"","external_name":"rel_type","restriction":""},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":""}],"args_string":"(rel_type, event_id)","source_link":null,"def":{"name":"new","args":[{"name":"rel_type","doc":null,"default_value":"","external_name":"rel_type","restriction":""},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(rel_type, event_id)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"event_id:String-instance-method","html_id":"event_id:String-instance-method","name":"event_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"event_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@event_id"}},{"id":"rel_type:String-instance-method","html_id":"rel_type:String-instance-method","name":"rel_type","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"rel_type","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@rel_type"}}],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/JoinRules","path":"Caridina/Events/JoinRules.html","kind":"class","full_name":"Caridina::Events::JoinRules","name":"JoinRules","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content-instance-method","html_id":"content:Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content","visibility":"Public","body":"@content"}},{"id":"unsigned:UnsignedData?-instance-method","html_id":"unsigned:UnsignedData?-instance-method","name":"unsigned","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UnsignedData?","source_link":null,"def":{"name":"unsigned","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UnsignedData | ::Nil","visibility":"Public","body":"@unsigned"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/JoinRules/Content","path":"Caridina/Events/JoinRules/Content.html","kind":"class","full_name":"Caridina::Events::JoinRules::Content","name":"Content","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/JoinRules","kind":"class","full_name":"Caridina::Events::JoinRules","name":"JoinRules"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"join_rule:JoinRule-instance-method","html_id":"join_rule:JoinRule-instance-method","name":"join_rule","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : JoinRule","source_link":null,"def":{"name":"join_rule","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"JoinRule","visibility":"Public","body":"@join_rule"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/JoinRules/JoinRule","path":"Caridina/Events/JoinRules/JoinRule.html","kind":"enum","full_name":"Caridina::Events::JoinRules::JoinRule","name":"JoinRule","abstract":false,"superclass":null,"ancestors":[{"html_id":"caridina/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"caridina/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":true,"alias":false,"aliased":"","const":false,"constants":[{"id":"Public","name":"Public","value":"0","doc":null,"summary":null},{"id":"Knock","name":"Knock","value":"1","doc":null,"summary":null},{"id":"Invite","name":"Invite","value":"2","doc":null,"summary":null},{"id":"Private","name":"Private","value":"3","doc":null,"summary":null}],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/JoinRules","kind":"class","full_name":"Caridina::Events::JoinRules","name":"JoinRules"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[{"id":"invite?-instance-method","html_id":"invite?-instance-method","name":"invite?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":null,"def":{"name":"invite?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Invite"}},{"id":"knock?-instance-method","html_id":"knock?-instance-method","name":"knock?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":null,"def":{"name":"knock?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Knock"}},{"id":"private?-instance-method","html_id":"private?-instance-method","name":"private?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":null,"def":{"name":"private?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Private"}},{"id":"public?-instance-method","html_id":"public?-instance-method","name":"public?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":null,"def":{"name":"public?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Public"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/JoinRules/UnsignedData","path":"Caridina/Events/JoinRules/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::JoinRules::UnsignedData","name":"UnsignedData","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/JoinRules","kind":"class","full_name":"Caridina::Events::JoinRules","name":"JoinRules"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/Member","path":"Caridina/Events/Member.html","kind":"class","full_name":"Caridina::Events::Member","name":"Member","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content-instance-method","html_id":"content:Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content","visibility":"Public","body":"@content"}},{"id":"unsigned:UnsignedData?-instance-method","html_id":"unsigned:UnsignedData?-instance-method","name":"unsigned","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UnsignedData?","source_link":null,"def":{"name":"unsigned","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UnsignedData | ::Nil","visibility":"Public","body":"@unsigned"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/Member/Content","path":"Caridina/Events/Member/Content.html","kind":"class","full_name":"Caridina::Events::Member::Content","name":"Content","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Member","kind":"class","full_name":"Caridina::Events::Member","name":"Member"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"avatar_url:String?-instance-method","html_id":"avatar_url:String?-instance-method","name":"avatar_url","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":null,"def":{"name":"avatar_url","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@avatar_url"}},{"id":"displayname:String?-instance-method","html_id":"displayname:String?-instance-method","name":"displayname","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":null,"def":{"name":"displayname","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@displayname"}},{"id":"is_direct:Bool?-instance-method","html_id":"is_direct:Bool?-instance-method","name":"is_direct","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Bool?","source_link":null,"def":{"name":"is_direct","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Bool | ::Nil","visibility":"Public","body":"@is_direct"}},{"id":"membership:Membership-instance-method","html_id":"membership:Membership-instance-method","name":"membership","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Membership","source_link":null,"def":{"name":"membership","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Membership","visibility":"Public","body":"@membership"}},{"id":"third_party_invite:Invite?-instance-method","html_id":"third_party_invite:Invite?-instance-method","name":"third_party_invite","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Invite?","source_link":null,"def":{"name":"third_party_invite","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Invite | ::Nil","visibility":"Public","body":"@third_party_invite"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Member/Invite","path":"Caridina/Events/Member/Invite.html","kind":"struct","full_name":"Caridina::Events::Member::Invite","name":"Invite","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Member","kind":"class","full_name":"Caridina::Events::Member","name":"Member"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"display_name:String-instance-method","html_id":"display_name:String-instance-method","name":"display_name","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"display_name","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@display_name"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Member/Membership","path":"Caridina/Events/Member/Membership.html","kind":"enum","full_name":"Caridina::Events::Member::Membership","name":"Membership","abstract":false,"superclass":null,"ancestors":[{"html_id":"caridina/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"caridina/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":true,"alias":false,"aliased":"","const":false,"constants":[{"id":"Invite","name":"Invite","value":"0","doc":null,"summary":null},{"id":"Join","name":"Join","value":"1","doc":null,"summary":null},{"id":"Knock","name":"Knock","value":"2","doc":null,"summary":null},{"id":"Leave","name":"Leave","value":"3","doc":null,"summary":null},{"id":"Ban","name":"Ban","value":"4","doc":null,"summary":null}],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Member","kind":"class","full_name":"Caridina::Events::Member","name":"Member"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[{"id":"ban?-instance-method","html_id":"ban?-instance-method","name":"ban?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":null,"def":{"name":"ban?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Ban"}},{"id":"invite?-instance-method","html_id":"invite?-instance-method","name":"invite?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":null,"def":{"name":"invite?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Invite"}},{"id":"join?-instance-method","html_id":"join?-instance-method","name":"join?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":null,"def":{"name":"join?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Join"}},{"id":"knock?-instance-method","html_id":"knock?-instance-method","name":"knock?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":null,"def":{"name":"knock?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Knock"}},{"id":"leave?-instance-method","html_id":"leave?-instance-method","name":"leave?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":null,"def":{"name":"leave?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self == Leave"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Member/UnsignedData","path":"Caridina/Events/Member/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::Member::UnsignedData","name":"UnsignedData","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Member","kind":"class","full_name":"Caridina::Events::Member","name":"Member"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"invite_room_state:Array(StrippedState)?-instance-method","html_id":"invite_room_state:Array(StrippedState)?-instance-method","name":"invite_room_state","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(StrippedState)?","source_link":null,"def":{"name":"invite_room_state","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(StrippedState) | ::Nil","visibility":"Public","body":"@invite_room_state"}}],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/Message","path":"Caridina/Events/Message.html","kind":"class","full_name":"Caridina::Events::Message","name":"Message","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content-instance-method","html_id":"content:Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content","visibility":"Public","body":"@content"}},{"id":"unsigned:UnsignedData?-instance-method","html_id":"unsigned:UnsignedData?-instance-method","name":"unsigned","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UnsignedData?","source_link":null,"def":{"name":"unsigned","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UnsignedData | ::Nil","visibility":"Public","body":"@unsigned"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/Message/Content","path":"Caridina/Events/Message/Content.html","kind":"class","full_name":"Caridina::Events::Message::Content","name":"Content","abstract":true,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Events/Message/Text","kind":"class","full_name":"Caridina::Events::Message::Text","name":"Text"},{"html_id":"caridina/Caridina/Events/Message/Unknown","kind":"class","full_name":"Caridina::Events::Message::Unknown","name":"Unknown"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Message","kind":"class","full_name":"Caridina::Events::Message","name":"Message"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"location = pull.location\ndiscriminators = Array(Tuple(String | Array(String), String)).new\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n case key\n when \"msgtype\"\n value = pull.read_string\n builder.field(key, value)\n discriminators << {key, value}\n when \"m.relates_to\"\n field_name = [\"m.relates_to\"]\n builder.field(key) do\n builder.start_object\n pull.read_object do |key|\n case key\n when \"rel_type\"\n field_name << \"rel_type\"\n value = pull.read_string\n builder.field(key, value)\n discriminators << {field_name, value}\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nfields = [\"msgtype\", [\"m.relates_to\", \"rel_type\"]]\nif discriminators.size\nelse\n raise(::JSON::MappingError.new(\"JSON is missing one of discriminator fields: #{fields}\", to_s, nil, *location, nil))\nend\ndiscriminators.sort_by! do |x|\n (fields.index(x[0])) || 0\nend.reverse!\ndiscriminators.each do |field_name, discriminator_value|\n case field_name\n when \"msgtype\"\n case discriminator_value\n when \"m.text\"\n return Text.from_json(json)\n end\n when [\"m.relates_to\", \"rel_type\"]\n case discriminator_value\n when \"m.replace\"\n return MSC2676::Dispatcher.from_json(json)\n end\n else\n raise(Exception.new(\"This can't happen\"))\n end\nend\nUnknown.from_json(json)\n"}}],"instance_methods":[{"id":"body:String-instance-method","html_id":"body:String-instance-method","name":"body","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"body","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@body"}},{"id":"msgtype:String-instance-method","html_id":"msgtype:String-instance-method","name":"msgtype","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"msgtype","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@msgtype"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Message/MSC2676","path":"Caridina/Events/Message/MSC2676.html","kind":"module","full_name":"Caridina::Events::Message::MSC2676","name":"MSC2676","abstract":false,"superclass":null,"ancestors":[],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Message","kind":"class","full_name":"Caridina::Events::Message","name":"Message"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/Message/MSC2676/Content","path":"Caridina/Events/Message/MSC2676/Content.html","kind":"module","full_name":"Caridina::Events::Message::MSC2676::Content","name":"Content","abstract":false,"superclass":null,"ancestors":[],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[{"html_id":"caridina/Caridina/Events/Message/MSC2676/Text","kind":"class","full_name":"Caridina::Events::Message::MSC2676::Text","name":"Text"}],"namespace":{"html_id":"caridina/Caridina/Events/Message/MSC2676","kind":"module","full_name":"Caridina::Events::Message::MSC2676","name":"MSC2676"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[{"id":"new_content:Events::Message::Content-instance-method","html_id":"new_content:Events::Message::Content-instance-method","name":"new_content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Events::Message::Content","source_link":null,"def":{"name":"new_content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Events::Message::Content","visibility":"Public","body":"@new_content"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Message/MSC2676/Text","path":"Caridina/Events/Message/MSC2676/Text.html","kind":"class","full_name":"Caridina::Events::Message::MSC2676::Text","name":"Text","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Message/Text","kind":"class","full_name":"Caridina::Events::Message::Text","name":"Text"},"ancestors":[{"html_id":"caridina/Caridina/Events/Message/MSC2676/Content","kind":"module","full_name":"Caridina::Events::Message::MSC2676::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Message/Text","kind":"class","full_name":"Caridina::Events::Message::Text","name":"Text"},{"html_id":"caridina/Caridina/Events/Message/Content","kind":"class","full_name":"Caridina::Events::Message::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/Caridina/Events/Message/MSC2676/Content","kind":"module","full_name":"Caridina::Events::Message::MSC2676::Content","name":"Content"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Message/MSC2676","kind":"module","full_name":"Caridina::Events::Message::MSC2676","name":"MSC2676"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(body,formatted_body,event_id)-class-method","html_id":"new(body,formatted_body,event_id)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"body","doc":null,"default_value":"","external_name":"body","restriction":""},{"name":"formatted_body","doc":null,"default_value":"","external_name":"formatted_body","restriction":""},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":""}],"args_string":"(body, formatted_body, event_id)","source_link":null,"def":{"name":"new","args":[{"name":"body","doc":null,"default_value":"","external_name":"body","restriction":""},{"name":"formatted_body","doc":null,"default_value":"","external_name":"formatted_body","restriction":""},{"name":"event_id","doc":null,"default_value":"","external_name":"event_id","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(body, formatted_body, event_id)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/Message/Text","path":"Caridina/Events/Message/Text.html","kind":"class","full_name":"Caridina::Events::Message::Text","name":"Text","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Message/Content","kind":"class","full_name":"Caridina::Events::Message::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Message/Content","kind":"class","full_name":"Caridina::Events::Message::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Events/Message/MSC2676/Text","kind":"class","full_name":"Caridina::Events::Message::MSC2676::Text","name":"Text"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Message","kind":"class","full_name":"Caridina::Events::Message","name":"Message"},"doc":"m.text","summary":"

    m.text

    ","class_methods":[],"constructors":[{"id":"new(body,formatted_body)-class-method","html_id":"new(body,formatted_body)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"body","doc":null,"default_value":"","external_name":"body","restriction":""},{"name":"formatted_body","doc":null,"default_value":"","external_name":"formatted_body","restriction":""}],"args_string":"(body, formatted_body)","source_link":null,"def":{"name":"new","args":[{"name":"body","doc":null,"default_value":"","external_name":"body","restriction":""},{"name":"formatted_body","doc":null,"default_value":"","external_name":"formatted_body","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(body, formatted_body)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":"m.text","summary":"

    m.text

    ","abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"format:String?-instance-method","html_id":"format:String?-instance-method","name":"format","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":null,"def":{"name":"format","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@format"}},{"id":"formatted_body:String?-instance-method","html_id":"formatted_body:String?-instance-method","name":"formatted_body","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":null,"def":{"name":"formatted_body","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@formatted_body"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Message/Unknown","path":"Caridina/Events/Message/Unknown.html","kind":"class","full_name":"Caridina::Events::Message::Unknown","name":"Unknown","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Message/Content","kind":"class","full_name":"Caridina::Events::Message::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Message/Content","kind":"class","full_name":"Caridina::Events::Message::Content","name":"Content"},{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Message","kind":"class","full_name":"Caridina::Events::Message","name":"Message"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Message/UnsignedData","path":"Caridina/Events/Message/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::Message::UnsignedData","name":"UnsignedData","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Message","kind":"class","full_name":"Caridina::Events::Message","name":"Message"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/PowerLevels","path":"Caridina/Events/PowerLevels.html","kind":"class","full_name":"Caridina::Events::PowerLevels","name":"PowerLevels","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"},{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content-instance-method","html_id":"content:Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content","visibility":"Public","body":"@content"}},{"id":"unsigned:UnsignedData?-instance-method","html_id":"unsigned:UnsignedData?-instance-method","name":"unsigned","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UnsignedData?","source_link":null,"def":{"name":"unsigned","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UnsignedData | ::Nil","visibility":"Public","body":"@unsigned"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/PowerLevels/Content","path":"Caridina/Events/PowerLevels/Content.html","kind":"class","full_name":"Caridina::Events::PowerLevels::Content","name":"Content","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/PowerLevels","kind":"class","full_name":"Caridina::Events::PowerLevels","name":"PowerLevels"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"ban:UInt8-instance-method","html_id":"ban:UInt8-instance-method","name":"ban","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt8","source_link":null,"def":{"name":"ban","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@ban"}},{"id":"events:Hash(String,UInt8)-instance-method","html_id":"events:Hash(String,UInt8)-instance-method","name":"events","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Hash(String, UInt8)","source_link":null,"def":{"name":"events","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@events"}},{"id":"events_default:UInt8-instance-method","html_id":"events_default:UInt8-instance-method","name":"events_default","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt8","source_link":null,"def":{"name":"events_default","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@events_default"}},{"id":"invite:UInt8-instance-method","html_id":"invite:UInt8-instance-method","name":"invite","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt8","source_link":null,"def":{"name":"invite","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@invite"}},{"id":"kick:UInt8-instance-method","html_id":"kick:UInt8-instance-method","name":"kick","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt8","source_link":null,"def":{"name":"kick","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@kick"}},{"id":"notifications:Notifications?-instance-method","html_id":"notifications:Notifications?-instance-method","name":"notifications","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Notifications?","source_link":null,"def":{"name":"notifications","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Notifications | ::Nil","visibility":"Public","body":"@notifications"}},{"id":"redact:UInt8-instance-method","html_id":"redact:UInt8-instance-method","name":"redact","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt8","source_link":null,"def":{"name":"redact","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@redact"}},{"id":"states_default:UInt8-instance-method","html_id":"states_default:UInt8-instance-method","name":"states_default","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt8","source_link":null,"def":{"name":"states_default","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@states_default"}},{"id":"users:Hash(String,UInt8)-instance-method","html_id":"users:Hash(String,UInt8)-instance-method","name":"users","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Hash(String, UInt8)","source_link":null,"def":{"name":"users","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@users"}},{"id":"users_default:Int8-instance-method","html_id":"users_default:Int8-instance-method","name":"users_default","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int8","source_link":null,"def":{"name":"users_default","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@users_default"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/PowerLevels/Notifications","path":"Caridina/Events/PowerLevels/Notifications.html","kind":"struct","full_name":"Caridina::Events::PowerLevels::Notifications","name":"Notifications","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/PowerLevels","kind":"class","full_name":"Caridina::Events::PowerLevels","name":"PowerLevels"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"room:UInt8-instance-method","html_id":"room:UInt8-instance-method","name":"room","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt8","source_link":null,"def":{"name":"room","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@room"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/PowerLevels/UnsignedData","path":"Caridina/Events/PowerLevels/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::PowerLevels::UnsignedData","name":"UnsignedData","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/PowerLevels","kind":"class","full_name":"Caridina::Events::PowerLevels","name":"PowerLevels"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/Redaction","path":"Caridina/Events/Redaction.html","kind":"class","full_name":"Caridina::Events::Redaction","name":"Redaction","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Content-instance-method","html_id":"content:Content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Content","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Content","visibility":"Public","body":"@content"}},{"id":"unsigned:UnsignedData?-instance-method","html_id":"unsigned:UnsignedData?-instance-method","name":"unsigned","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UnsignedData?","source_link":null,"def":{"name":"unsigned","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UnsignedData | ::Nil","visibility":"Public","body":"@unsigned"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/Redaction/Content","path":"Caridina/Events/Redaction/Content.html","kind":"class","full_name":"Caridina::Events::Redaction::Content","name":"Content","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Redaction","kind":"class","full_name":"Caridina::Events::Redaction","name":"Redaction"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"reason:String?-instance-method","html_id":"reason:String?-instance-method","name":"reason","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":null,"def":{"name":"reason","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@reason"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Redaction/UnsignedData","path":"Caridina/Events/Redaction/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::Redaction::UnsignedData","name":"UnsignedData","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Redaction","kind":"class","full_name":"Caridina::Events::Redaction","name":"Redaction"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/RoomEvent","path":"Caridina/Events/RoomEvent.html","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent","abstract":true,"superclass":{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Events/Message","kind":"class","full_name":"Caridina::Events::Message","name":"Message"},{"html_id":"caridina/Caridina/Events/Redaction","kind":"class","full_name":"Caridina::Events::Redaction","name":"Redaction"},{"html_id":"caridina/Caridina/Events/StateEvent","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"event_id:String-instance-method","html_id":"event_id:String-instance-method","name":"event_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"event_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@event_id"}},{"id":"origin_server_ts:UInt64-instance-method","html_id":"origin_server_ts:UInt64-instance-method","name":"origin_server_ts","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt64","source_link":null,"def":{"name":"origin_server_ts","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UInt64","visibility":"Public","body":"@origin_server_ts"}},{"id":"room_id:String?-instance-method","html_id":"room_id:String?-instance-method","name":"room_id","doc":"\"room_id\" is not set in events returned from the sync API, so we need to\nset it up ourself.","summary":"

    \"room_id\" is not set in events returned from the sync API, so we need to set it up ourself.

    ","abstract":false,"args":[],"args_string":" : String?","source_link":null,"def":{"name":"room_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@room_id"}},{"id":"room_id=(room_id:String?)-instance-method","html_id":"room_id=(room_id:String?)-instance-method","name":"room_id=","doc":"\"room_id\" is not set in events returned from the sync API, so we need to\nset it up ourself.","summary":"

    \"room_id\" is not set in events returned from the sync API, so we need to set it up ourself.

    ","abstract":false,"args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String | ::Nil"}],"args_string":"(room_id : String?)","source_link":null,"def":{"name":"room_id=","args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@room_id = room_id"}},{"id":"sender:String-instance-method","html_id":"sender:String-instance-method","name":"sender","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"sender","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@sender"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/RoomEvent/UnsignedData","path":"Caridina/Events/RoomEvent/UnsignedData.html","kind":"struct","full_name":"Caridina::Events::RoomEvent::UnsignedData","name":"UnsignedData","abstract":true,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Events/CanonicalAlias/UnsignedData","kind":"struct","full_name":"Caridina::Events::CanonicalAlias::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/Caridina/Events/Create/UnsignedData","kind":"struct","full_name":"Caridina::Events::Create::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/Caridina/Events/JoinRules/UnsignedData","kind":"struct","full_name":"Caridina::Events::JoinRules::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/Caridina/Events/Member/UnsignedData","kind":"struct","full_name":"Caridina::Events::Member::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/Caridina/Events/Message/UnsignedData","kind":"struct","full_name":"Caridina::Events::Message::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/Caridina/Events/PowerLevels/UnsignedData","kind":"struct","full_name":"Caridina::Events::PowerLevels::UnsignedData","name":"UnsignedData"},{"html_id":"caridina/Caridina/Events/Redaction/UnsignedData","kind":"struct","full_name":"Caridina::Events::Redaction::UnsignedData","name":"UnsignedData"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"age:Int64-instance-method","html_id":"age:Int64-instance-method","name":"age","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int64","source_link":null,"def":{"name":"age","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Int64","visibility":"Public","body":"@age"}},{"id":"transaction_id:String?-instance-method","html_id":"transaction_id:String?-instance-method","name":"transaction_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":null,"def":{"name":"transaction_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@transaction_id"}}],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Events/StateEvent","path":"Caridina/Events/StateEvent.html","kind":"class","full_name":"Caridina::Events::StateEvent","name":"StateEvent","abstract":true,"superclass":{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},"ancestors":[{"html_id":"caridina/Caridina/Events/RoomEvent","kind":"class","full_name":"Caridina::Events::RoomEvent","name":"RoomEvent"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Events/CanonicalAlias","kind":"class","full_name":"Caridina::Events::CanonicalAlias","name":"CanonicalAlias"},{"html_id":"caridina/Caridina/Events/Create","kind":"class","full_name":"Caridina::Events::Create","name":"Create"},{"html_id":"caridina/Caridina/Events/JoinRules","kind":"class","full_name":"Caridina::Events::JoinRules","name":"JoinRules"},{"html_id":"caridina/Caridina/Events/Member","kind":"class","full_name":"Caridina::Events::Member","name":"Member"},{"html_id":"caridina/Caridina/Events/PowerLevels","kind":"class","full_name":"Caridina::Events::PowerLevels","name":"PowerLevels"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"state_key:String-instance-method","html_id":"state_key:String-instance-method","name":"state_key","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"state_key","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@state_key"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/StrippedState","path":"Caridina/Events/StrippedState.html","kind":"class","full_name":"Caridina::Events::StrippedState","name":"StrippedState","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},"ancestors":[{"html_id":"caridina/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":"This event represents a StrippedState event.\n\nIt is used in `Member` event and in `Responses::Sync` in invited rooms's state.\nIt is actually a state event, but it does not inherit from `StateEvent` as\nsome fields are not presents.\n\nThis type is used to represents many distinct stripped state events.\nTo distinguish them you must check the `#content`'s type.","summary":"

    This event represents a StrippedState event.

    ","class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":"This event represents a StrippedState event.\n\nIt is used in `Member` event and in `Responses::Sync` in invited rooms's state.\nIt is actually a state event, but it does not inherit from `StateEvent` as\nsome fields are not presents.\n\nThis type is used to represents many distinct stripped state events.\nTo distinguish them you must check the `#content`'s type.","summary":"

    This event represents a StrippedState event.

    ","abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content-instance-method","html_id":"content-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"json = @json_unmapped[\"content\"].to_json\n{% if true %}\n case type\n {% for subclass in StateEvent.subclasses %}\n {% if subclass.annotation(Type) %}\n when {{ (subclass.annotation(Type))[0] }}\n {{ subclass.id }}::Content.from_json(json)\n {% end %}\n {% end %}\n else\n Unknown::Content.from_json(json)\n end\n {% end %}\n"}},{"id":"room_id:String?-instance-method","html_id":"room_id:String?-instance-method","name":"room_id","doc":"\"room_id\" is not set in events returned from the sync API, so we need to\nset it up ourself.","summary":"

    \"room_id\" is not set in events returned from the sync API, so we need to set it up ourself.

    ","abstract":false,"args":[],"args_string":" : String?","source_link":null,"def":{"name":"room_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@room_id"}},{"id":"room_id=(room_id:String?)-instance-method","html_id":"room_id=(room_id:String?)-instance-method","name":"room_id=","doc":"\"room_id\" is not set in events returned from the sync API, so we need to\nset it up ourself.","summary":"

    \"room_id\" is not set in events returned from the sync API, so we need to set it up ourself.

    ","abstract":false,"args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String | ::Nil"}],"args_string":"(room_id : String?)","source_link":null,"def":{"name":"room_id=","args":[{"name":"room_id","doc":null,"default_value":"","external_name":"room_id","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@room_id = room_id"}},{"id":"sender:String-instance-method","html_id":"sender:String-instance-method","name":"sender","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"sender","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@sender"}},{"id":"state_key:String-instance-method","html_id":"state_key:String-instance-method","name":"state_key","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"state_key","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@state_key"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Type","path":"Caridina/Events/Type.html","kind":"annotation","full_name":"Caridina::Events::Type","name":"Type","abstract":false,"superclass":null,"ancestors":[],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":"Use this annotation to specify the event's type.","summary":"

    Use this annotation to specify the event's type.

    ","class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Events/Unknown","path":"Caridina/Events/Unknown.html","kind":"class","full_name":"Caridina::Events::Unknown","name":"Unknown","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event","kind":"class","full_name":"Caridina::Events::Event","name":"Event"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events","kind":"module","full_name":"Caridina::Events","name":"Events"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"content:Nil-instance-method","html_id":"content:Nil-instance-method","name":"content","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Nil","source_link":null,"def":{"name":"content","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Nil","visibility":"Public","body":"@content"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Events/Unknown/Content","path":"Caridina/Events/Unknown/Content.html","kind":"class","full_name":"Caridina::Events::Unknown::Content","name":"Content","abstract":false,"superclass":{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},"ancestors":[{"html_id":"caridina/Caridina/Events/Event/Content","kind":"class","full_name":"Caridina::Events::Event::Content","name":"Content"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Events/Unknown","kind":"class","full_name":"Caridina::Events::Unknown","name":"Unknown"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]}]}]},{"html_id":"caridina/Caridina/Responses","path":"Caridina/Responses.html","kind":"module","full_name":"Caridina::Responses","name":"Responses","abstract":false,"superclass":null,"ancestors":[],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina","kind":"module","full_name":"Caridina","name":"Caridina"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[{"html_id":"caridina/Caridina/Responses/Filter","path":"Caridina/Responses/Filter.html","kind":"struct","full_name":"Caridina::Responses::Filter","name":"Filter","abstract":false,"superclass":{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},"ancestors":[{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses","kind":"module","full_name":"Caridina::Responses","name":"Responses"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"filter_id:String-instance-method","html_id":"filter_id:String-instance-method","name":"filter_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"filter_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@filter_id"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Responses/Response","path":"Caridina/Responses/Response.html","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response","abstract":true,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[{"html_id":"caridina/Caridina/Responses/Filter","kind":"struct","full_name":"Caridina::Responses::Filter","name":"Filter"},{"html_id":"caridina/Caridina/Responses/Send","kind":"struct","full_name":"Caridina::Responses::Send","name":"Send"},{"html_id":"caridina/Caridina/Responses/Sync","kind":"struct","full_name":"Caridina::Responses::Sync","name":"Sync"},{"html_id":"caridina/Caridina/Responses/WhoAmI","kind":"struct","full_name":"Caridina::Responses::WhoAmI","name":"WhoAmI"}],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses","kind":"module","full_name":"Caridina::Responses","name":"Responses"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Responses/Send","path":"Caridina/Responses/Send.html","kind":"struct","full_name":"Caridina::Responses::Send","name":"Send","abstract":false,"superclass":{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},"ancestors":[{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses","kind":"module","full_name":"Caridina::Responses","name":"Responses"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"event_id:String-instance-method","html_id":"event_id:String-instance-method","name":"event_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"event_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@event_id"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Responses/Sync","path":"Caridina/Responses/Sync.html","kind":"struct","full_name":"Caridina::Responses::Sync","name":"Sync","abstract":false,"superclass":{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},"ancestors":[{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses","kind":"module","full_name":"Caridina::Responses","name":"Responses"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"next_batch:String-instance-method","html_id":"next_batch:String-instance-method","name":"next_batch","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"next_batch","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@next_batch"}},{"id":"rooms:Rooms?-instance-method","html_id":"rooms:Rooms?-instance-method","name":"rooms","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Rooms?","source_link":null,"def":{"name":"rooms","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Rooms | ::Nil","visibility":"Public","body":"@rooms"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Responses/Sync/InvitedRoom","path":"Caridina/Responses/Sync/InvitedRoom.html","kind":"struct","full_name":"Caridina::Responses::Sync::InvitedRoom","name":"InvitedRoom","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses/Sync","kind":"struct","full_name":"Caridina::Responses::Sync","name":"Sync"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"invite_state:InviteState-instance-method","html_id":"invite_state:InviteState-instance-method","name":"invite_state","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : InviteState","source_link":null,"def":{"name":"invite_state","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"InviteState","visibility":"Public","body":"@invite_state"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Responses/Sync/InviteState","path":"Caridina/Responses/Sync/InviteState.html","kind":"struct","full_name":"Caridina::Responses::Sync::InviteState","name":"InviteState","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses/Sync","kind":"struct","full_name":"Caridina::Responses::Sync","name":"Sync"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"events:Array(Events::StrippedState)-instance-method","html_id":"events:Array(Events::StrippedState)-instance-method","name":"events","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(Events::StrippedState)","source_link":null,"def":{"name":"events","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(Events::StrippedState)","visibility":"Public","body":"@events"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Responses/Sync/JoinedRoom","path":"Caridina/Responses/Sync/JoinedRoom.html","kind":"struct","full_name":"Caridina::Responses::Sync::JoinedRoom","name":"JoinedRoom","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses/Sync","kind":"struct","full_name":"Caridina::Responses::Sync","name":"Sync"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"timeline:Timeline-instance-method","html_id":"timeline:Timeline-instance-method","name":"timeline","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Timeline","source_link":null,"def":{"name":"timeline","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Timeline","visibility":"Public","body":"@timeline"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Responses/Sync/Rooms","path":"Caridina/Responses/Sync/Rooms.html","kind":"struct","full_name":"Caridina::Responses::Sync::Rooms","name":"Rooms","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses/Sync","kind":"struct","full_name":"Caridina::Responses::Sync","name":"Sync"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"invite:Hash(String,InvitedRoom)-instance-method","html_id":"invite:Hash(String,InvitedRoom)-instance-method","name":"invite","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Hash(String, InvitedRoom)","source_link":null,"def":{"name":"invite","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Hash(String, InvitedRoom)","visibility":"Public","body":"@invite"}},{"id":"join:Hash(String,JoinedRoom)-instance-method","html_id":"join:Hash(String,JoinedRoom)-instance-method","name":"join","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Hash(String, JoinedRoom)","source_link":null,"def":{"name":"join","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Hash(String, JoinedRoom)","visibility":"Public","body":"@join"}}],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Responses/Sync/Timeline","path":"Caridina/Responses/Sync/Timeline.html","kind":"struct","full_name":"Caridina::Responses::Sync::Timeline","name":"Timeline","abstract":false,"superclass":{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses/Sync","kind":"struct","full_name":"Caridina::Responses::Sync","name":"Sync"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"events:Array(Events::Event)-instance-method","html_id":"events:Array(Events::Event)-instance-method","name":"events","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(Events::Event)","source_link":null,"def":{"name":"events","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(Events::Event)","visibility":"Public","body":"@events"}}],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Responses/WhoAmI","path":"Caridina/Responses/WhoAmI.html","kind":"struct","full_name":"Caridina::Responses::WhoAmI","name":"WhoAmI","abstract":false,"superclass":{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},"ancestors":[{"html_id":"caridina/Caridina/Responses/Response","kind":"struct","full_name":"Caridina::Responses::Response","name":"Response"},{"html_id":"caridina/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"caridina/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Responses","kind":"module","full_name":"Caridina::Responses","name":"Responses"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(pull:JSON::PullParser)-class-method","html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","source_link":null,"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"id":"user_id:String-instance-method","html_id":"user_id:String-instance-method","name":"user_id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":null,"def":{"name":"user_id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@user_id"}}],"macros":[],"types":[]}]},{"html_id":"caridina/Caridina/Syncer","path":"Caridina/Syncer.html","kind":"class","full_name":"Caridina::Syncer","name":"Syncer","abstract":false,"superclass":{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"caridina/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina","kind":"module","full_name":"Caridina","name":"Caridina"},"doc":"This object allow you to register listeners to be executed when some events\nare received.\n\nThis avoid you to have to parse the whole `Responses::Sync`.\nHowever `#process_response` must be called with a `Responses::Sync` manually.\nThis allow you to control precisely when you want to handle events.\n\n```\nsyncer = Caridina::Syncer.new\nsyncer.on(Caridina::Events::Message) do |event|\n # TODO: actually do something\nend\n\nsyncer.process_response(sync)\n```\n\nEvents sent to listeners are `Events::Event` objects.\nYou should use a type restriction in order to access all their fields.","summary":"

    This object allow you to register listeners to be executed when some events are received.

    ","class_methods":[],"constructors":[],"instance_methods":[{"id":"on(event_type:Events::Event.class,source=Source::All,&block:EventListener):Nil-instance-method","html_id":"on(event_type:Events::Event.class,source=Source::All,&block:EventListener):Nil-instance-method","name":"on","doc":null,"summary":null,"abstract":false,"args":[{"name":"event_type","doc":null,"default_value":"","external_name":"event_type","restriction":"Events::Event.class"},{"name":"source","doc":null,"default_value":"Source::All","external_name":"source","restriction":""}],"args_string":"(event_type : Events::Event.class, source = Source::All, &block : EventListener) : Nil","source_link":null,"def":{"name":"on","args":[{"name":"event_type","doc":null,"default_value":"","external_name":"event_type","restriction":"Events::Event.class"},{"name":"source","doc":null,"default_value":"Source::All","external_name":"source","restriction":""}],"double_splat":null,"splat_index":null,"yields":0,"block_arg":{"name":"block","doc":null,"default_value":"","external_name":"block","restriction":"EventListener"},"return_type":"Nil","visibility":"Public","body":"if !(@listeners.has_key?(event_type))\n @listeners[event_type] = Array(Tuple(EventListener, Source)).new\nend\n@listeners[event_type] << {block, source}\n"}},{"id":"process_response(sync:Responses::Sync):Nil-instance-method","html_id":"process_response(sync:Responses::Sync):Nil-instance-method","name":"process_response","doc":null,"summary":null,"abstract":false,"args":[{"name":"sync","doc":null,"default_value":"","external_name":"sync","restriction":"Responses::Sync"}],"args_string":"(sync : Responses::Sync) : Nil","source_link":null,"def":{"name":"process_response","args":[{"name":"sync","doc":null,"default_value":"","external_name":"sync","restriction":"Responses::Sync"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Nil","visibility":"Public","body":"if rooms = sync.rooms\n rooms.join.each do |room_id, room|\n room.timeline.events.each do |event|\n if event = event.as?(Events::RoomEvent)\n event.room_id = room_id\n dispatch(event, Source::JoinedRooms)\n end\n end\n end\n rooms.invite.each do |room_id, room|\n room.invite_state.events.each do |event|\n event.room_id = room_id\n dispatch(event, Source::InvitedRooms)\n end\n end\nend"}}],"macros":[],"types":[{"html_id":"caridina/Caridina/Syncer/EventListener","path":"Caridina/Syncer/EventListener.html","kind":"alias","full_name":"Caridina::Syncer::EventListener","name":"EventListener","abstract":false,"superclass":null,"ancestors":[],"locations":[],"repository_name":"caridina","program":false,"enum":false,"alias":true,"aliased":"Proc(Caridina::Events::Event, Caridina::Syncer::Source, Nil)","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Syncer","kind":"class","full_name":"Caridina::Syncer","name":"Syncer"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[]},{"html_id":"caridina/Caridina/Syncer/Source","path":"Caridina/Syncer/Source.html","kind":"enum","full_name":"Caridina::Syncer::Source","name":"Source","abstract":false,"superclass":null,"ancestors":[{"html_id":"caridina/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"caridina/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"caridina/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"caridina/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"caridina","program":false,"enum":true,"alias":false,"aliased":"","const":false,"constants":[{"id":"InvitedRooms","name":"InvitedRooms","value":"1","doc":null,"summary":null},{"id":"JoinedRooms","name":"JoinedRooms","value":"2","doc":null,"summary":null}],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"caridina/Caridina/Syncer","kind":"class","full_name":"Caridina::Syncer","name":"Syncer"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[{"id":"invited_rooms?-instance-method","html_id":"invited_rooms?-instance-method","name":"invited_rooms?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":null,"def":{"name":"invited_rooms?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self.includes?(InvitedRooms)"}},{"id":"joined_rooms?-instance-method","html_id":"joined_rooms?-instance-method","name":"joined_rooms?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":null,"def":{"name":"joined_rooms?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"self.includes?(JoinedRooms)"}},{"id":"none?-instance-method","html_id":"none?-instance-method","name":"none?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":null,"def":{"name":"none?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"value == 0"}}],"macros":[],"types":[]}]}]}]}}) \ No newline at end of file diff --git a/docs/toplevel.html b/docs/toplevel.html index 025dd86..1eddbf1 100644 --- a/docs/toplevel.html +++ b/docs/toplevel.html @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - Top Level Namespace - caridina main + Top Level Namespace - caridina main-dev @@ -39,7 +39,7 @@

    - main + main-dev @@ -211,11 +211,6 @@

    -
  • - StrippedState - -
  • -
  • UnsignedData @@ -341,6 +336,11 @@

  • +
  • + StrippedState + +
  • +
  • Type @@ -441,6 +441,11 @@

  • +
  • + Source + +
  • + @@ -629,8 +634,6 @@


    - [View source] -
    diff --git a/shard.yml b/shard.yml index 4505fc3..8bd68ef 100644 --- a/shard.yml +++ b/shard.yml @@ -1,5 +1,5 @@ name: caridina -version: 0.3.1 +version: 0.4.0 authors: - Alexandre Morignot diff --git a/src/caridina.cr b/src/caridina.cr index 81a95e2..ef8508e 100644 --- a/src/caridina.cr +++ b/src/caridina.cr @@ -3,7 +3,7 @@ require "./connection" module Caridina - VERSION = "0.3.1" + VERSION = "0.4.0" Log = ::Log.for(self) end