about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--app/presenters/instance_presenter.rb4
-rw-r--r--app/views/about/more.html.haml4
-rw-r--r--app/views/about/show.html.haml4
-rw-r--r--lib/mastodon/version.rb17
-rw-r--r--spec/views/about/show.html.haml_spec.rb1
5 files changed, 26 insertions, 4 deletions
diff --git a/app/presenters/instance_presenter.rb b/app/presenters/instance_presenter.rb
index 5d5be58ba..8104b7531 100644
--- a/app/presenters/instance_presenter.rb
+++ b/app/presenters/instance_presenter.rb
@@ -31,4 +31,8 @@ class InstancePresenter
   def version_number
     Mastodon::Version
   end
+
+  def source_url
+    Mastodon::Version.source_url
+  end
 end
diff --git a/app/views/about/more.html.haml b/app/views/about/more.html.haml
index a6fd265fa..094188472 100644
--- a/app/views/about/more.html.haml
+++ b/app/views/about/more.html.haml
@@ -63,5 +63,5 @@
   .footer-links
     .container
       %p
-        = link_to t('about.source_code'), 'https://github.com/tootsuite/mastodon'
-        = " (#{@instance_presenter.version_number})"
\ No newline at end of file
+        = link_to t('about.source_code'), @instance_presenter.source_url
+        = " (#{@instance_presenter.version_number})"
diff --git a/app/views/about/show.html.haml b/app/views/about/show.html.haml
index acdb12ad7..93270fe3d 100644
--- a/app/views/about/show.html.haml
+++ b/app/views/about/show.html.haml
@@ -76,5 +76,5 @@
   .footer-links
     .container
       %p
-        = link_to t('about.source_code'), 'https://github.com/tootsuite/mastodon'
-        = " (#{@instance_presenter.version_number})"
\ No newline at end of file
+        = link_to t('about.source_code'), @instance_presenter.source_url
+        = " (#{@instance_presenter.version_number})"
diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb
index 381e9aac9..fcca875d9 100644
--- a/lib/mastodon/version.rb
+++ b/lib/mastodon/version.rb
@@ -31,5 +31,22 @@ module Mastodon
     def to_s
       [to_a.join('.'), flags].join
     end
+
+    def source_base_url
+      'https://github.com/tootsuite/mastodon'
+    end
+
+    # specify git tag or commit hash here
+    def source_tag
+      nil
+    end
+
+    def source_url
+      if source_tag
+        "#{source_base_url}/tree/#{source_tag}"
+      else
+        source_base_url
+      end
+    end
   end
 end
diff --git a/spec/views/about/show.html.haml_spec.rb b/spec/views/about/show.html.haml_spec.rb
index c0ead6349..aa151dd27 100644
--- a/spec/views/about/show.html.haml_spec.rb
+++ b/spec/views/about/show.html.haml_spec.rb
@@ -13,6 +13,7 @@ describe 'about/show.html.haml', without_verify_partial_doubles: true do
                                 site_title: 'something',
                                 site_description: 'something',
                                 version_number: '1.0',
+                                source_url: 'https://github.com/tootsuite/mastodon',
                                 open_registrations: false,
                                 closed_registrations_message: 'yes')
     assign(:instance_presenter, instance_presenter)