mastodon/app/presenters/instance_presenter.rb
DJ Sundog 74eff5456c First lame pass at adding optional git commit hash display on /about/… (#67)
* First lame pass at adding optional git commit hash display on /about/more page.

Currently, this is implemented by checking for the existence of a file called CURRENT_RELEASE in the home directory of the user running Mastodon. If the file exists, its contents are added.

I've modified my update process to include the following before precompiling assets:

git log -1 | head -n 1 | cut -d " " -f2 > ~/CURRENT_RELEASE

That puts the current commit hash into the file ~/CURRENT_RELEASE, but you figured that out because you're a smart cookie.

As I am quite sure this is a horrible methodology for implementing this, I look forward to any improvements you have to offer!

* Updated to handle instances that share a user - the CURRENT_RELEASE file now lives in the instance's base directory.

This also requires modifying the update hook to `git log -1 | head -n 1 | cut -d " " -f2 > CURRENT_RELEASE`
2017-07-11 20:32:16 -04:00

42 lines
847 B
Ruby

# frozen_string_literal: true
class InstancePresenter
delegate(
:closed_registrations_message,
:site_contact_email,
:open_registrations,
:site_description,
:site_extended_description,
to: Setting
)
def contact_account
Account.find_local(Setting.site_contact_username)
end
def user_count
Rails.cache.fetch('user_count') { User.confirmed.count }
end
def status_count
Rails.cache.fetch('local_status_count') { Status.local.count }
end
def domain_count
Rails.cache.fetch('distinct_domain_count') { Account.distinct.count(:domain) }
end
def version_number
Mastodon::Version
end
def commit_hash
current_release_file = Pathname.new('CURRENT_RELEASE').expand_path
if current_release_file.file?
IO.read(current_release_file)
else
""
end
end
end