StandardRB
This commit is contained in:
@@ -186,12 +186,12 @@ module Adamantium
|
||||
.order(:year)
|
||||
.to_a
|
||||
end
|
||||
|
||||
|
||||
def search(term:)
|
||||
posts
|
||||
.where(post_type: "post", location: nil)
|
||||
.published
|
||||
.search(term: term)
|
||||
.search(term: term)
|
||||
.combine(:tags)
|
||||
.order(Sequel.desc(:published_at))
|
||||
.to_a
|
||||
|
@@ -17,9 +17,9 @@ module Adamantium
|
||||
post_repo.post_listing
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
expose :query do |query:|
|
||||
query == "" ? nil : query
|
||||
(query == "") ? nil : query
|
||||
end
|
||||
|
||||
expose :post_years do
|
||||
|
@@ -7,10 +7,10 @@ use Rack::Static, urls: ["/assets", "/media"], root: "public"
|
||||
raise StandardError.new("No secret key") unless ENV["SESSION_SECRET"]
|
||||
|
||||
use Rack::Session::Cookie,
|
||||
:domain => URI.parse(ENV["MICROPUB_SITE_URL"]).host,
|
||||
:path => '/',
|
||||
:expire_after => 3600*24,
|
||||
:secret => ENV["SESSION_SECRET"]
|
||||
domain: URI.parse(ENV["MICROPUB_SITE_URL"]).host,
|
||||
path: "/",
|
||||
expire_after: 3600 * 24,
|
||||
secret: ENV["SESSION_SECRET"]
|
||||
|
||||
require "rack/rewrite"
|
||||
use Rack::Rewrite do
|
||||
|
@@ -53,10 +53,10 @@ module Adamantium
|
||||
setting :micropub_authorization_endpoint
|
||||
setting :micropub_token_endpoint
|
||||
|
||||
setting :microblog_auth_endpoint, default: nil
|
||||
setting :microblog_auth_endpoint, default: nil
|
||||
|
||||
setting :overcast_username, default: nil
|
||||
setting :overcast_password, default: nil
|
||||
setting :overcast_username, default: nil
|
||||
setting :overcast_password, default: nil
|
||||
|
||||
setting :mastodon_token, default: nil
|
||||
setting :mastodon_server, default: nil
|
||||
|
@@ -8,7 +8,7 @@ module Adamantium
|
||||
|
||||
def call(env)
|
||||
session = env["rack.session"]
|
||||
return [403, {'Content-Type' => 'text/html'}, ["Unauthorized | <a href=\"/admin/login\">Login</>"]] unless @auth_proc.call(session[:user_id])
|
||||
return [403, {"Content-Type" => "text/html"}, ["Unauthorized | <a href=\"/admin/login\">Login</>"]] unless @auth_proc.call(session[:user_id])
|
||||
|
||||
@app.call(env)
|
||||
end
|
||||
|
@@ -20,7 +20,7 @@ module Adamantium
|
||||
podcast_list = []
|
||||
|
||||
doc.xpath("//outline[@type='rss']").each_with_object(podcast_list) do |rss, memo|
|
||||
podcasts = rss.xpath("outline[@type='podcast-episode']").select{|ep| ep.get_attribute("played") == "1" }
|
||||
podcasts = rss.xpath("outline[@type='podcast-episode']").select { |ep| ep.get_attribute("played") == "1" }
|
||||
|
||||
name = rss.get_attribute("title")
|
||||
|
||||
@@ -43,4 +43,4 @@ module Adamantium
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@@ -5,7 +5,7 @@ module Admin
|
||||
include Deps["commands.sessions.create"]
|
||||
|
||||
def handle(req, res)
|
||||
create.(email: req.params[:email])
|
||||
create.call(email: req.params[:email])
|
||||
|
||||
res.redirect_to "/admin"
|
||||
end
|
||||
|
@@ -5,7 +5,7 @@ module Admin
|
||||
include Deps["commands.sessions.validate"]
|
||||
|
||||
def handle(req, res)
|
||||
user_id = validate.(token: req.params[:token])
|
||||
user_id = validate.call(token: req.params[:token])
|
||||
session = req.env["rack.session"]
|
||||
|
||||
session[:user_id] = user_id
|
||||
|
@@ -9,7 +9,7 @@ module Admin
|
||||
bookmark = bookmark_repo.fetch(id: bookmark_id)
|
||||
|
||||
page_cacher.call(url: bookmark.url) do |content|
|
||||
bookmark_repo.update(id: bookmark_id, params: { cached_content: content })
|
||||
bookmark_repo.update(id: bookmark_id, params: {cached_content: content})
|
||||
end
|
||||
|
||||
Success()
|
||||
|
@@ -5,8 +5,8 @@ module Admin
|
||||
module Sessions
|
||||
class Create
|
||||
include Deps[
|
||||
"repos.login_tokens_repo",
|
||||
"repos.user_repo"
|
||||
"repos.login_tokens_repo",
|
||||
"repos.user_repo"
|
||||
]
|
||||
|
||||
def call(email:)
|
||||
@@ -37,7 +37,7 @@ module Admin
|
||||
body "#{app_settings.micropub_site_url}/admin/login/#{token.token}"
|
||||
end
|
||||
|
||||
mail[:to] = email
|
||||
mail[:to] = user.email
|
||||
mail[:from] = app_settings.from_email
|
||||
|
||||
mail.deliver
|
||||
|
@@ -12,13 +12,9 @@ module Admin
|
||||
return nil
|
||||
end
|
||||
|
||||
user_id = token.user_id
|
||||
|
||||
if user_id
|
||||
user_id
|
||||
end
|
||||
token.user_id
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@@ -3,7 +3,7 @@ require "adamantium/middleware/authenticate"
|
||||
module Adamantium
|
||||
class AuthenticatedAdminAction
|
||||
def self.call(action:)
|
||||
auth_proc = -> (id) { Admin::Container["repos.user_repo"].exists(id) }
|
||||
auth_proc = ->(id) { Admin::Container["repos.user_repo"].exists(id) }
|
||||
action_proc = ->(env) { Admin::Container["actions.#{action}"].call(env) }
|
||||
|
||||
Adamantium::Middleware::Authenticate.new(action_proc, auth_proc)
|
||||
|
@@ -8,10 +8,10 @@ html
|
||||
|
||||
title Admin // Daniel Nitsikopoulos
|
||||
|
||||
= stylesheet_tag "app"
|
||||
= stylesheet_tag "admin/app"
|
||||
link rel="icon" type="image/x-icon" href="/assets/favicon.ico"
|
||||
|
||||
= javascript_tag "app"
|
||||
= javascript_tag "admin/app"
|
||||
|
||||
script src="https://unpkg.com/htmx.org@1.9.2/dist/htmx.min.js" integrity="sha384-L6OqL9pRWyyFU3+/bjdSri+iIphTN/bvYyM37tICVyOJkWZLpP2vGn6VUEXgzg6h" crossorigin="anonymous"
|
||||
script src="https://cdn.jsdelivr.net/npm/alpinejs@3.12.0/dist/cdn.min.js" defer="true"
|
||||
|
@@ -4,10 +4,10 @@
|
||||
module Micropub
|
||||
class Action < Adamantium::Action
|
||||
include Deps["logger",
|
||||
"settings",
|
||||
not_found_view: "views.not_found",
|
||||
error_view: "views.error",
|
||||
sentry: "sentry.client"]
|
||||
"settings",
|
||||
not_found_view: "views.not_found",
|
||||
error_view: "views.error",
|
||||
sentry: "sentry.client"]
|
||||
|
||||
include Dry::Matcher.for(:handle, with: Dry::Matcher::ResultMatcher)
|
||||
include Dry::Monads[:result]
|
||||
|
@@ -4,7 +4,6 @@
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Adamantium - Micropub</title>
|
||||
<%= favicon_tag %>
|
||||
<%= stylesheet_tag "micropub/app" %>
|
||||
</head>
|
||||
<body>
|
||||
|
Reference in New Issue
Block a user