Save syndication sources to posts

This commit is contained in:
2023-01-29 16:54:34 +11:00
parent 37932ea4ad
commit 2d371812f5
17 changed files with 231 additions and 10 deletions

View File

@@ -1,12 +1,20 @@
require "dry/monads"
require "dry/monads/do"
module Adamantium
module Commands
module Posts
class Syndicate
include Dry::Monads[:result]
include Dry::Monads::Do.for(:call)
include Deps["settings", "syndication.mastodon"]
def call(post)
if post[:syndicate_to].any? { |url| settings.mastodon_server.match(/#{url}/) }
mastodon.call(post: post)
url = yield mastodon.call(post: post)
Success([:mastodon, url])
end
end
end