Refactor micropub specific things out to a slice
This commit is contained in:
22
slices/micropub/entities/auto_tagging.rb
Normal file
22
slices/micropub/entities/auto_tagging.rb
Normal file
@@ -0,0 +1,22 @@
|
||||
module Micropub
|
||||
module Entities
|
||||
class AutoTagging < Dry::Struct
|
||||
attribute :id, Types::Coercible::Integer
|
||||
attribute? :title_contains, Types::Optional::String
|
||||
attribute? :body_contains, Types::Optional::String
|
||||
attribute :tag_id, Types::Coercible::Integer
|
||||
|
||||
def title_only?
|
||||
!title_contains.empty?
|
||||
end
|
||||
|
||||
def term
|
||||
title_only? ? title_contains : body_contains
|
||||
end
|
||||
|
||||
class WithTag < AutoTagging
|
||||
attribute :tag, Types::Tag
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
15
slices/micropub/entities/book_request.rb
Normal file
15
slices/micropub/entities/book_request.rb
Normal file
@@ -0,0 +1,15 @@
|
||||
module Micropub
|
||||
module Entities
|
||||
class BookRequest < Dry::Struct
|
||||
attribute :h, Types::Coercible::String
|
||||
attribute :content, Types::Coercible::String
|
||||
attribute :book_status, Types::Coercible::String
|
||||
attribute :name, Types::Coercible::String
|
||||
attribute :book_author, Types::Coercible::String
|
||||
attribute :slug, Types::Coercible::String
|
||||
attribute :category, Types::Array.of(Types::Coercible::String)
|
||||
attribute :published_at, Types::Nominal::DateTime
|
||||
attribute :post_type, Types::Coercible::String
|
||||
end
|
||||
end
|
||||
end
|
19
slices/micropub/entities/bookmark_request.rb
Normal file
19
slices/micropub/entities/bookmark_request.rb
Normal file
@@ -0,0 +1,19 @@
|
||||
module Micropub
|
||||
module Entities
|
||||
class BookmarkRequest < Dry::Struct
|
||||
attribute :h, Types::Coercible::String
|
||||
attribute :action, Types::Coercible::String.optional
|
||||
attribute :name, Types::Coercible::String
|
||||
attribute :cache, Types::Params::Bool.optional
|
||||
attribute :content, Types::Coercible::String.optional
|
||||
attribute :url, Types::Coercible::String
|
||||
attribute :slug, Types::Coercible::String
|
||||
attribute :category, Types::Array.of(Types::Coercible::String)
|
||||
attribute :published_at, Types::Nominal::DateTime.optional
|
||||
attribute :post_type, Types::Coercible::String
|
||||
attribute :syndicate_to, Types::Array.of(Types::Coercible::String)
|
||||
attribute :photos, Types::Array.of(Types::Hash)
|
||||
attribute :location, Types::Coercible::String.optional
|
||||
end
|
||||
end
|
||||
end
|
17
slices/micropub/entities/checkin_request.rb
Normal file
17
slices/micropub/entities/checkin_request.rb
Normal file
@@ -0,0 +1,17 @@
|
||||
module Micropub
|
||||
module Entities
|
||||
class CheckinRequest < Dry::Struct
|
||||
attribute :h, Types::Coercible::String
|
||||
attribute :name, Types::Coercible::String.optional
|
||||
attribute :content, Types::Coercible::String.optional
|
||||
attribute :slug, Types::Coercible::String
|
||||
attribute :url, Types::Coercible::String
|
||||
attribute :category, Types::Array.of(Types::Coercible::String)
|
||||
attribute :published_at, Types::Nominal::DateTime.optional
|
||||
attribute :post_type, Types::Coercible::String
|
||||
attribute :syndication_sources, Types::Array.of(Types::Coercible::String)
|
||||
attribute :photos, Types::Array.of(Types::Hash)
|
||||
attribute :location, Types::Coercible::String
|
||||
end
|
||||
end
|
||||
end
|
17
slices/micropub/entities/post_request.rb
Normal file
17
slices/micropub/entities/post_request.rb
Normal file
@@ -0,0 +1,17 @@
|
||||
module Micropub
|
||||
module Entities
|
||||
class PostRequest < Dry::Struct
|
||||
attribute :h, Types::Coercible::String
|
||||
attribute :action, Types::Coercible::String.optional
|
||||
attribute :name, Types::Coercible::String.optional
|
||||
attribute :content, Types::Coercible::String
|
||||
attribute :slug, Types::Coercible::String
|
||||
attribute :category, Types::Array.of(Types::Coercible::String)
|
||||
attribute :published_at, Types::Nominal::DateTime.optional
|
||||
attribute :post_type, Types::Coercible::String
|
||||
attribute :syndicate_to, Types::Array.of(Types::Coercible::String)
|
||||
attribute :photos, Types::Array.of(Types::Hash)
|
||||
attribute :location, Types::Coercible::String.optional
|
||||
end
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user