activitypub 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +12 -0
- data/lib/activitypub/base.rb +17 -2
- data/lib/activitypub/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3d6b1c47f6ac1051a3057f0ae8d57fe2d83c3c99aea99a45ff09c50f1f044a9b
|
4
|
+
data.tar.gz: df120e3bad47452d3a22bb400feab41db3b4c27502b16247f389c751373ccb9b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bc9e697ab7e8b67c040c482d9ba1f63ada540f5b2d08a5da689495670f960a71900b21e11548c8fe97ddc205bb5185afa5273c20df53bea9ddd36a1633d8cc6d
|
7
|
+
data.tar.gz: 27545eed23569575170cff387692c3d48ffe94c3afe0a9f417d37c121442852d3f5d145e4416ce5bec41c074a2e6ece46d4875183381c0c8b37d8bbb2d1821fd
|
data/README.md
CHANGED
@@ -3,6 +3,18 @@
|
|
3
3
|
*Very* early start on a set of classes to serialize/deserialize
|
4
4
|
ActivityPub/ActivityStream objects.
|
5
5
|
|
6
|
+
## Goals
|
7
|
+
|
8
|
+
* To provide a fairly *minimalist*, *barebones* set of classes to
|
9
|
+
work with ActivityPub objects *as used* by major Fediverse apps.
|
10
|
+
* Matching real-world use will be prioritized over strict adherence
|
11
|
+
to the specs - my use-cases require me to be able to handle documents
|
12
|
+
even if they have errors. But I want to be able to *produce* output
|
13
|
+
that prefers standards compliance where it doesn't sacrifice interop.
|
14
|
+
* Support extensions and namespace used by e.g. Mastodon and others.
|
15
|
+
* Be easy to extend/layer new functionality on top of for anything
|
16
|
+
that doesn't fit in this core.
|
17
|
+
|
6
18
|
|
7
19
|
## Installation
|
8
20
|
|
data/lib/activitypub/base.rb
CHANGED
@@ -1,11 +1,26 @@
|
|
1
1
|
|
2
|
-
|
2
|
+
require 'json'
|
3
3
|
|
4
|
+
module ActivityPub
|
5
|
+
class Error < StandardError; end
|
6
|
+
|
7
|
+
def self.from_json(json)
|
8
|
+
h = JSON.parse(json)
|
9
|
+
type = h&.dig("type")
|
10
|
+
|
11
|
+
raise Error, "'type' attribute is required" if !type
|
12
|
+
raise NameError, "'type' attribute with '::' is not allowed" if !type.index("::").nil?
|
13
|
+
|
14
|
+
klass = ActivityPub.const_get(type)
|
15
|
+
|
16
|
+
klass ? klass.new : nil
|
17
|
+
end
|
18
|
+
|
4
19
|
# This is not part of ActivityPub, but provides basic mechanisms
|
5
20
|
# for serialization and dezerialisation.
|
6
21
|
#
|
7
22
|
class Base
|
8
|
-
def _context = "https://www.w3.org/ns/activitystreams"
|
23
|
+
def _context = "https://www.w3.org/ns/activitystreams".freeze
|
9
24
|
def _type = self.class.name.split("::").last
|
10
25
|
|
11
26
|
|
data/lib/activitypub/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activitypub
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vidar Hokstad
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-07-
|
11
|
+
date: 2024-07-03 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description:
|
14
14
|
email:
|