+1
-1
app/firehose_stream.rb
+1
-1
app/firehose_stream.rb
+6
-1
app/models/post.rb
+6
-1
app/models/post.rb
···
9
9
10
10
attr_writer :record
11
11
12
+
def self.find_by_repo_rkey(repo, rkey)
13
+
# the '+' is to make sure that SQLite uses the rkey index and not a different one
14
+
Post.where("+repo = ?", repo).where(rkey: rkey).first
15
+
end
16
+
12
17
def self.find_by_at_uri(uri)
13
18
parts = uri.gsub(%r(^at://), '').split('/')
14
19
return nil unless parts.length == 3 && parts[1] == 'app.bsky.feed.post'
15
20
16
-
Post.find_by(repo: parts[0], rkey: parts[2])
21
+
find_by_repo_rkey(parts[0], parts[2])
17
22
end
18
23
19
24
def record