about summary refs log tree commit diff
path: root/app
diff options
context:
space:
mode:
authorDavid Yip <yipdw@member.fsf.org>2017-12-14 02:27:42 -0600
committerDavid Yip <yipdw@member.fsf.org>2017-12-14 02:27:42 -0600
commite35a35011915bc0cb77dae933e55fba267d31430 (patch)
tree5c46cd2e2e67d4121d03508042e88205705154b0 /app
parent2efffe77dc5ff20ba4904d7a72e137d6c0e5c017 (diff)
Examples for Status#set_locality and .as_tag_timeline.
This commit also:

- exposes the local-only emoji so that it can be used in examples
- allows local_only to be set explicitly, i.e. for timeline filtering
  specs
Diffstat (limited to 'app')
-rw-r--r--app/models/status.rb8
1 files changed, 6 insertions, 2 deletions
diff --git a/app/models/status.rb b/app/models/status.rb
index 1bc4c633d..db3072571 100644
--- a/app/models/status.rb
+++ b/app/models/status.rb
@@ -276,7 +276,11 @@ class Status < ApplicationRecord
 
   def marked_local_only?
     # match both with and without U+FE0F (the emoji variation selector)
-    /👁\ufe0f?\z/.match?(content)
+    /#{local_only_emoji}\ufe0f?\z/.match?(content)
+  end
+
+  def local_only_emoji
+    '👁'
   end
 
   private
@@ -305,7 +309,7 @@ class Status < ApplicationRecord
   end
 
   def set_locality
-    if account.domain.nil?
+    if account.domain.nil? && !attribute_changed?(:local_only)
       self.local_only = marked_local_only?
     end
   end