aboutsummaryrefslogtreecommitdiffstats
path: root/lib/message_prominence.rb
diff options
context:
space:
mode:
authorLouise Crow <louise.crow@gmail.com>2013-09-24 11:29:31 +0100
committerLouise Crow <louise.crow@gmail.com>2013-09-24 11:29:31 +0100
commitd8deb8418b4cd26c68eb1301959e156c19b111e2 (patch)
tree99c346db95d17be9c5105ce47d5f3ac8e943e952 /lib/message_prominence.rb
parent8459314b691f5b02277035219cd58f510d100a77 (diff)
parent75542416a1cc36b353ade557b1bc4f729b02423a (diff)
Merge branch 'release/0.14'0.14
Conflicts: locale/bg/app.po locale/fr/app.po locale/fr_CA/app.po locale/he_IL/app.po locale/hr/app.po locale/it/app.po locale/nb_NO/app.po locale/pl/app.po locale/sv/app.po locale/vi/app.po
Diffstat (limited to 'lib/message_prominence.rb')
-rw-r--r--lib/message_prominence.rb26
1 files changed, 26 insertions, 0 deletions
diff --git a/lib/message_prominence.rb b/lib/message_prominence.rb
new file mode 100644
index 000000000..8f54fcc95
--- /dev/null
+++ b/lib/message_prominence.rb
@@ -0,0 +1,26 @@
+module MessageProminence
+
+ def has_prominence
+ send :include, InstanceMethods
+ cattr_accessor :prominence_states
+ self.prominence_states = ['normal', 'hidden','requester_only']
+ validates_inclusion_of :prominence, :in => self.prominence_states
+ end
+
+ module InstanceMethods
+
+ def user_can_view?(user)
+ Ability.can_view_with_prominence?(self.prominence, self.info_request, user)
+ end
+
+ def indexed_by_search?
+ self.prominence == 'normal'
+ end
+
+ def all_can_view?
+ self.prominence == 'normal'
+ end
+
+ end
+end
+