Add Mastodon API service class, auth token config

Add a new REST API service class to keep things DRY
This commit is contained in:
2025-05-17 14:17:57 +04:00
parent c43e43d89c
commit f0cfde560b
6 changed files with 68 additions and 15 deletions
+27
View File
@@ -0,0 +1,27 @@
class RestApiService < ApplicationService
private
def base_url
raise NotImplementedError
end
def headers
raise NotImplementedError
end
def endpoint_url(path)
"#{base_url}/#{path.gsub(/^\//, '')}"
end
def get(path, params = {})
res = Faraday.get endpoint_url(path), params, headers
# TODO handle unsuccessful responses with no valid JSON body
JSON.parse(res.body)
end
def post(path, payload)
res = Faraday.post endpoint_url(path), payload.to_json, headers
# TODO handle unsuccessful responses with no valid JSON body
JSON.parse(res.body)
end
end