Save source name when adding syndication target
This commit is contained in:
102
Gemfile.lock
102
Gemfile.lock
@@ -36,7 +36,7 @@ GIT
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
activesupport (7.1.3.2)
|
||||
activesupport (7.1.3.3)
|
||||
base64
|
||||
bigdecimal
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
@@ -53,8 +53,10 @@ GEM
|
||||
ast (2.4.2)
|
||||
babosa (2.0.0)
|
||||
base64 (0.2.0)
|
||||
bcrypt_pbkdf (1.1.0)
|
||||
bigdecimal (3.1.7)
|
||||
bcrypt_pbkdf (1.1.1)
|
||||
bcrypt_pbkdf (1.1.1-arm64-darwin)
|
||||
bcrypt_pbkdf (1.1.1-x86_64-darwin)
|
||||
bigdecimal (3.1.8)
|
||||
bskyrb (0.5.3)
|
||||
date (>= 3.3.3)
|
||||
httparty (>= 0.21.0)
|
||||
@@ -87,7 +89,7 @@ GEM
|
||||
date (3.3.4)
|
||||
diff-lcs (1.5.1)
|
||||
domain_name (0.6.20240107)
|
||||
dotenv (3.1.0)
|
||||
dotenv (3.1.2)
|
||||
down (5.4.2)
|
||||
addressable (~> 2.8)
|
||||
drb (2.2.1)
|
||||
@@ -107,7 +109,7 @@ GEM
|
||||
dry-files (1.1.0)
|
||||
dry-inflector (1.0.0)
|
||||
dry-initializer (3.1.1)
|
||||
dry-logger (1.0.3)
|
||||
dry-logger (1.0.4)
|
||||
dry-logic (1.5.0)
|
||||
concurrent-ruby (~> 1.0)
|
||||
dry-core (~> 1.0, < 2)
|
||||
@@ -122,7 +124,7 @@ GEM
|
||||
dry-configurable (~> 1.0, < 2)
|
||||
dry-core (~> 1.0, < 2)
|
||||
dry-events (~> 1.0, < 2)
|
||||
dry-schema (1.13.3)
|
||||
dry-schema (1.13.4)
|
||||
concurrent-ruby (~> 1.0)
|
||||
dry-configurable (~> 1.0, >= 1.0.1)
|
||||
dry-core (~> 1.0, < 2)
|
||||
@@ -260,18 +262,19 @@ GEM
|
||||
http-accept (1.7.0)
|
||||
http-cookie (1.0.5)
|
||||
domain_name (~> 0.5)
|
||||
httparty (0.21.0)
|
||||
httparty (0.22.0)
|
||||
csv
|
||||
mini_mime (>= 1.0.0)
|
||||
multi_xml (>= 0.5.2)
|
||||
i18n (1.14.4)
|
||||
i18n (1.14.5)
|
||||
concurrent-ruby (~> 1.0)
|
||||
ice_nine (0.11.2)
|
||||
image_processing (1.12.2)
|
||||
mini_magick (>= 4.9.5, < 5)
|
||||
ruby-vips (>= 2.0.17, < 3)
|
||||
io-console (0.7.2)
|
||||
irb (1.12.0)
|
||||
rdoc
|
||||
irb (1.13.1)
|
||||
rdoc (>= 4.0.0)
|
||||
reline (>= 0.4.2)
|
||||
json (2.7.2)
|
||||
jwt (2.8.1)
|
||||
@@ -294,12 +297,13 @@ GEM
|
||||
method_source (1.1.0)
|
||||
mime-types (3.5.2)
|
||||
mime-types-data (~> 3.2015)
|
||||
mime-types-data (3.2024.0305)
|
||||
mime-types-data (3.2024.0507)
|
||||
mini_magick (4.12.0)
|
||||
mini_mime (1.1.5)
|
||||
minitest (5.22.3)
|
||||
multi_xml (0.6.0)
|
||||
multipart-post (2.4.0)
|
||||
minitest (5.23.1)
|
||||
multi_xml (0.7.1)
|
||||
bigdecimal (~> 3.1)
|
||||
multipart-post (2.4.1)
|
||||
mustermann (3.0.0)
|
||||
ruby2_keywords (~> 0.0.1)
|
||||
mustermann-contrib (3.0.0)
|
||||
@@ -307,7 +311,7 @@ GEM
|
||||
mustermann (= 3.0.0)
|
||||
mutex_m (0.2.0)
|
||||
nenv (0.3.0)
|
||||
net-imap (0.4.10)
|
||||
net-imap (0.4.11)
|
||||
date
|
||||
net-protocol
|
||||
net-pop (0.1.2)
|
||||
@@ -322,12 +326,12 @@ GEM
|
||||
net-protocol
|
||||
net-ssh (7.2.3)
|
||||
netrc (0.11.0)
|
||||
nio4r (2.7.1)
|
||||
nokogiri (1.16.4-arm64-darwin)
|
||||
nio4r (2.7.3)
|
||||
nokogiri (1.16.5-arm64-darwin)
|
||||
racc (~> 1.4)
|
||||
nokogiri (1.16.4-x86_64-darwin)
|
||||
nokogiri (1.16.5-x86_64-darwin)
|
||||
racc (~> 1.4)
|
||||
nokogiri (1.16.4-x86_64-linux)
|
||||
nokogiri (1.16.5-x86_64-linux)
|
||||
racc (~> 1.4)
|
||||
notiffany (0.1.3)
|
||||
nenv (~> 0.1)
|
||||
@@ -346,7 +350,7 @@ GEM
|
||||
activesupport
|
||||
httparty
|
||||
parallel (1.24.0)
|
||||
parser (3.3.0.5)
|
||||
parser (3.3.1.0)
|
||||
ast (~> 2.4.1)
|
||||
racc
|
||||
pg (1.5.6)
|
||||
@@ -359,9 +363,9 @@ GEM
|
||||
puma (6.4.2)
|
||||
nio4r (~> 2.0)
|
||||
que (2.3.0)
|
||||
racc (1.7.3)
|
||||
racc (1.8.0)
|
||||
rack (2.2.9)
|
||||
rack-contrib (2.4.0)
|
||||
rack-contrib (2.5.0)
|
||||
rack (< 4)
|
||||
rack-rewrite (1.5.1)
|
||||
rack-session (1.0.2)
|
||||
@@ -371,17 +375,17 @@ GEM
|
||||
rainbow (3.1.1)
|
||||
rake (13.2.1)
|
||||
rb-fsevent (0.11.2)
|
||||
rb-inotify (0.10.1)
|
||||
rb-inotify (0.11.1)
|
||||
ffi (~> 1.0)
|
||||
rdoc (6.6.3.1)
|
||||
rdoc (6.7.0)
|
||||
psych (>= 4.0.0)
|
||||
redcarpet (3.6.0)
|
||||
redis (5.2.0)
|
||||
redis-client (>= 0.22.0)
|
||||
redis-client (0.22.1)
|
||||
redis-client (0.22.2)
|
||||
connection_pool
|
||||
regexp_parser (2.9.0)
|
||||
reline (0.5.2)
|
||||
regexp_parser (2.9.2)
|
||||
reline (0.5.7)
|
||||
io-console (~> 0.5)
|
||||
rest-client (2.1.0)
|
||||
http-accept (>= 1.7.0, < 2.0)
|
||||
@@ -390,16 +394,17 @@ GEM
|
||||
netrc (~> 0.8)
|
||||
reverse_markdown (2.1.1)
|
||||
nokogiri
|
||||
rexml (3.2.6)
|
||||
rom (5.3.0)
|
||||
rexml (3.2.8)
|
||||
strscan (>= 3.0.9)
|
||||
rom (5.3.2)
|
||||
rom-changeset (~> 5.3, >= 5.3.0)
|
||||
rom-core (~> 5.3, >= 5.3.0)
|
||||
rom-core (~> 5.3, >= 5.3.2)
|
||||
rom-repository (~> 5.3, >= 5.3.0)
|
||||
rom-changeset (5.3.0)
|
||||
dry-core (~> 1.0)
|
||||
rom-core (~> 5.3)
|
||||
transproc (~> 1.0, >= 1.1.0)
|
||||
rom-core (5.3.1)
|
||||
rom-core (5.3.2)
|
||||
concurrent-ruby (~> 1.1)
|
||||
dry-configurable (~> 1.0)
|
||||
dry-core (~> 1.0)
|
||||
@@ -418,7 +423,7 @@ GEM
|
||||
dry-core (~> 1.0)
|
||||
dry-initializer (~> 3.0, >= 3.0.1)
|
||||
rom-core (~> 5.3, >= 5.3.0)
|
||||
rom-sql (3.6.2)
|
||||
rom-sql (3.6.3)
|
||||
dry-core (~> 1.0)
|
||||
dry-types (~> 1.0)
|
||||
rom (~> 5.2, >= 5.2.1)
|
||||
@@ -432,11 +437,11 @@ GEM
|
||||
rspec-expectations (3.13.0)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.13.0)
|
||||
rspec-mocks (3.13.0)
|
||||
rspec-mocks (3.13.1)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.13.0)
|
||||
rspec-support (3.13.1)
|
||||
rubocop (1.62.1)
|
||||
rubocop (1.63.5)
|
||||
json (~> 2.3)
|
||||
language_server-protocol (>= 3.17.0)
|
||||
parallel (~> 1.10)
|
||||
@@ -447,11 +452,11 @@ GEM
|
||||
rubocop-ast (>= 1.31.1, < 2.0)
|
||||
ruby-progressbar (~> 1.7)
|
||||
unicode-display_width (>= 2.4.0, < 3.0)
|
||||
rubocop-ast (1.31.2)
|
||||
parser (>= 3.3.0.4)
|
||||
rubocop-performance (1.20.2)
|
||||
rubocop-ast (1.31.3)
|
||||
parser (>= 3.3.1.0)
|
||||
rubocop-performance (1.21.0)
|
||||
rubocop (>= 1.48.1, < 2.0)
|
||||
rubocop-ast (>= 1.30.0, < 2.0)
|
||||
rubocop-ast (>= 1.31.1, < 2.0)
|
||||
ruby-progressbar (1.13.0)
|
||||
ruby-readability (0.7.0)
|
||||
guess_html_encoding (>= 0.0.4)
|
||||
@@ -462,7 +467,7 @@ GEM
|
||||
sanitize (6.1.0)
|
||||
crass (~> 1.0.2)
|
||||
nokogiri (>= 1.12.0)
|
||||
sequel (5.79.0)
|
||||
sequel (5.80.0)
|
||||
bigdecimal
|
||||
shellany (0.0.1)
|
||||
simple-rss (1.3.3)
|
||||
@@ -472,29 +477,30 @@ GEM
|
||||
snaky_hash (2.0.1)
|
||||
hashie
|
||||
version_gem (~> 1.1, >= 1.1.1)
|
||||
sshkit (1.22.1)
|
||||
sshkit (1.22.2)
|
||||
base64
|
||||
mutex_m
|
||||
net-scp (>= 1.1.2)
|
||||
net-sftp (>= 2.1.2)
|
||||
net-ssh (>= 2.8.0)
|
||||
standard (1.35.1)
|
||||
standard (1.36.0)
|
||||
language_server-protocol (~> 3.17.0.2)
|
||||
lint_roller (~> 1.0)
|
||||
rubocop (~> 1.62.0)
|
||||
rubocop (~> 1.63.0)
|
||||
standard-custom (~> 1.0.0)
|
||||
standard-performance (~> 1.3)
|
||||
standard-performance (~> 1.4)
|
||||
standard-custom (1.0.2)
|
||||
lint_roller (~> 1.0)
|
||||
rubocop (~> 1.50)
|
||||
standard-performance (1.3.1)
|
||||
standard-performance (1.4.0)
|
||||
lint_roller (~> 1.1)
|
||||
rubocop-performance (~> 1.20.2)
|
||||
rubocop-performance (~> 1.21.0)
|
||||
standardrb (1.0.1)
|
||||
standard
|
||||
steam-api (1.2.0)
|
||||
faraday (~> 1.0)
|
||||
stringio (3.1.0)
|
||||
strscan (3.1.0)
|
||||
temple (0.10.3)
|
||||
thor (1.3.1)
|
||||
tilt (2.3.0)
|
||||
@@ -508,9 +514,9 @@ GEM
|
||||
unicode-emoji (3.4.0)
|
||||
unicode-version (~> 1.0)
|
||||
unicode-version (1.4.0)
|
||||
vernier (0.7.0)
|
||||
vernier (1.0.1)
|
||||
version_gem (1.1.4)
|
||||
warning (1.3.0)
|
||||
warning (1.4.0)
|
||||
whenever (1.0.0)
|
||||
chronic (>= 0.6.3)
|
||||
xml-simple (1.1.9)
|
||||
@@ -519,7 +525,7 @@ GEM
|
||||
date
|
||||
httparty
|
||||
json (>= 2.0)
|
||||
zeitwerk (2.6.13)
|
||||
zeitwerk (2.6.15)
|
||||
|
||||
PLATFORMS
|
||||
arm64-darwin-23
|
||||
|
@@ -5,7 +5,8 @@ module Micropub
|
||||
include Deps[
|
||||
"repos.post_repo",
|
||||
"renderers.markdown",
|
||||
"commands.posts.add_syndication_source"
|
||||
"commands.posts.add_syndication_source",
|
||||
"queries.posts.syndication_url_to_source"
|
||||
]
|
||||
|
||||
def call(params:)
|
||||
@@ -31,7 +32,8 @@ module Micropub
|
||||
if params.key? :add
|
||||
attrs_to_add = {}
|
||||
|
||||
syndication = params[:add].delete(:syndication)&.first
|
||||
syndication_url = params[:add].delete(:syndication)&.first
|
||||
syndication_source = syndication_url_to_source.call(url: syndication_url) if syndication_url && !syndication_url.empty?
|
||||
tags = params[:add].delete(:category)
|
||||
content = params[:add].delete(:content)&.first
|
||||
name = params[:add].delete(:name)
|
||||
@@ -46,7 +48,7 @@ module Micropub
|
||||
post_repo.update(post.id, attrs_to_add) unless attrs_to_add.empty?
|
||||
|
||||
post_repo.tag_post(post_id: post.id, tags: tags) if tags && !tags.empty?
|
||||
add_syndication_source.call(post.id, "", syndication) if syndication && !syndication.empty?
|
||||
add_syndication_source.call(post.id, syndication_source, syndication_url) if syndication_url && !syndication_url.empty?
|
||||
|
||||
Success()
|
||||
end
|
||||
|
21
slices/micropub/queries/posts/syndication_url_to_source.rb
Normal file
21
slices/micropub/queries/posts/syndication_url_to_source.rb
Normal file
@@ -0,0 +1,21 @@
|
||||
module Micropub
|
||||
module Queries
|
||||
module Posts
|
||||
class SyndicationUrlToSource
|
||||
def call(url:)
|
||||
if url.match("https://social.dnitza.com")
|
||||
return :mastodon
|
||||
end
|
||||
|
||||
if url.match("https://bsky.social")
|
||||
return :bluesky
|
||||
end
|
||||
|
||||
if url.match("https://gist.github.com")
|
||||
return :gist
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user