1
0
mirror of https://github.com/whippyshou/mastodon synced 2024-12-18 08:38:47 +09:00

Changing the use of config constants to the Rails configuration object

This commit is contained in:
Eugen Rochko 2016-02-29 20:06:39 +01:00
parent 0e8f59c16f
commit 23d08c6749
11 changed files with 17 additions and 17 deletions

View File

@ -7,7 +7,7 @@ class XrdController < ApplicationController
def webfinger def webfinger
@account = Account.find_by!(username: username_from_resource, domain: nil) @account = Account.find_by!(username: username_from_resource, domain: nil)
@canonical_account_uri = "acct:#{@account.username}@#{LOCAL_DOMAIN}" @canonical_account_uri = "acct:#{@account.username}@#{Rails.configuration.x.local_domain}"
@magic_key = pem_to_magic_key(@account.keypair.public_key) @magic_key = pem_to_magic_key(@account.keypair.public_key)
rescue ActiveRecord::RecordNotFound rescue ActiveRecord::RecordNotFound
render nothing: true, status: 404 render nothing: true, status: 404

View File

@ -1,6 +1,6 @@
module ApplicationHelper module ApplicationHelper
def unique_tag(date, id, type) def unique_tag(date, id, type)
"tag:#{LOCAL_DOMAIN},#{date.strftime('%Y-%m-%d')}:objectId=#{id}:objectType=#{type}" "tag:#{Rails.configuration.x.local_domain},#{date.strftime('%Y-%m-%d')}:objectId=#{id}:objectType=#{type}"
end end
def unique_tag_to_local_id(tag, expected_type) def unique_tag_to_local_id(tag, expected_type)
@ -9,6 +9,6 @@ module ApplicationHelper
end end
def local_id?(id) def local_id?(id)
id.start_with?("tag:#{LOCAL_DOMAIN}") id.start_with?("tag:#{Rails.configuration.x.local_domain}")
end end
end end

View File

@ -9,7 +9,7 @@ class FollowService < BaseService
follow = source_account.follow!(target_account) follow = source_account.follow!(target_account)
send_interaction_service.(follow.stream_entry, target_account) send_interaction_service.(follow.stream_entry, target_account)
source_account.ping!(account_url(account, format: 'atom'), [HUB_URL]) source_account.ping!(account_url(account, format: 'atom'), [Rails.configuration.x.hub_url])
end end
private private

View File

@ -7,7 +7,7 @@ class PostStatusService < BaseService
def call(account, text, in_reply_to = nil) def call(account, text, in_reply_to = nil)
status = account.statuses.create!(text: text, thread: in_reply_to) status = account.statuses.create!(text: text, thread: in_reply_to)
process_mentions_service.(status) process_mentions_service.(status)
account.ping!(account_url(account, format: 'atom'), [HUB_URL]) account.ping!(account_url(account, format: 'atom'), [Rails.configuration.x.hub_url])
status status
end end

View File

@ -38,7 +38,7 @@ class ProcessFeedService < BaseService
href = Addressable::URI.parse(mention_link.attribute('href').value) href = Addressable::URI.parse(mention_link.attribute('href').value)
if href.host == LOCAL_DOMAIN if href.host == Rails.configuration.x.local_domain
mentioned_account = Account.find_by(username: href.path.gsub('/users/', ''), domain: nil) mentioned_account = Account.find_by(username: href.path.gsub('/users/', ''), domain: nil)
unless mentioned_account.nil? unless mentioned_account.nil?

View File

@ -5,7 +5,7 @@ class ReblogService < BaseService
# @return [Status] # @return [Status]
def call(account, reblogged_status) def call(account, reblogged_status)
reblog = account.statuses.create!(reblog: reblogged_status, text: '') reblog = account.statuses.create!(reblog: reblogged_status, text: '')
account.ping!(account_url(account, format: 'atom'), [HUB_URL]) account.ping!(account_url(account, format: 'atom'), [Rails.configuration.x.hub_url])
return reblog if reblogged_status.local? return reblog if reblogged_status.local?
send_interaction_service.(reblog.stream_entry, reblogged_status.account) send_interaction_service.(reblog.stream_entry, reblogged_status.account)
reblog reblog

View File

@ -12,7 +12,7 @@ Nokogiri::XML::Builder.new do |xml|
link_alternate xml, url_for_target(@account) link_alternate xml, url_for_target(@account)
link_self xml, account_url(@account, format: 'atom') link_self xml, account_url(@account, format: 'atom')
link_hub xml, HUB_URL link_hub xml, Rails.configuration.x.hub_url
link_salmon xml, api_salmon_url(@account.id) link_salmon xml, api_salmon_url(@account.id)
@account.stream_entries.order('id desc').each do |stream_entry| @account.stream_entries.order('id desc').each do |stream_entry|

View File

@ -1,9 +1,9 @@
Nokogiri::XML::Builder.new do |xml| Nokogiri::XML::Builder.new do |xml|
entry(xml, true) do entry(xml, true) do
author(xml) do author(xml) do
include_author xml, @entry.account include_author xml, @stream_entry.account
end end
include_entry xml, @entry include_entry xml, @stream_entry
end end
end.to_xml end.to_xml

View File

@ -1,7 +1,7 @@
LOCAL_DOMAIN = ENV['LOCAL_DOMAIN'] || 'localhost'
HUB_URL = ENV['HUB_URL'] || 'https://pubsubhubbub.superfeedr.com'
CANONICAL_PROTOCOL = ENV['LOCAL_HTTPS'] == 'true' ? 'https://' : 'http://'
Rails.application.configure do Rails.application.configure do
config.action_mailer.default_url_options = { host: LOCAL_DOMAIN, protocol: CANONICAL_PROTOCOL } config.x.local_domain = ENV['LOCAL_DOMAIN'] || 'localhost'
config.x.hub_url = ENV['HUB_URL'] || 'https://pubsubhubbub.superfeedr.com'
config.x.use_https = ENV['LOCAL_HTTPS'] == 'true'
config.action_mailer.default_url_options = { host: config.x.local_domain, protocol: config.x.use_https ? 'https://' : 'http://' }
end end

View File

@ -4,7 +4,7 @@ RSpec.describe ApplicationHelper, type: :helper do
let(:local_domain) { 'local.tld' } let(:local_domain) { 'local.tld' }
before do before do
stub_const('LOCAL_DOMAIN', local_domain) Rails.configuration.x.local_domain = local_domain
end end
describe '#unique_tag' do describe '#unique_tag' do

View File

@ -8,7 +8,7 @@ RSpec.describe ReblogService do
subject { ReblogService.new } subject { ReblogService.new }
before do before do
stub_const('HUB_URL', 'http://hub.example.com') Rails.configuration.x.hub_url = 'http://hub.example.com'
stub_request(:post, 'http://hub.example.com') stub_request(:post, 'http://hub.example.com')
stub_request(:post, 'http://salmon.example.com') stub_request(:post, 'http://salmon.example.com')