unread 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- data/changelog.md +4 -0
- data/lib/unread/acts_as_readable.rb +5 -11
- data/lib/unread/version.rb +1 -1
- data/test/unread_test.rb +8 -0
- metadata +5 -5
data/changelog.md
CHANGED
@@ -5,9 +5,6 @@ module Unread
|
|
5
5
|
|
6
6
|
module ActsAsReadable
|
7
7
|
def acts_as_reader
|
8
|
-
# Ignore multiple calls
|
9
|
-
return if ReadMark.reader_class
|
10
|
-
|
11
8
|
ReadMark.reader_class = self
|
12
9
|
|
13
10
|
has_many :read_marks, :dependent => :delete_all
|
@@ -20,22 +17,19 @@ module Unread
|
|
20
17
|
end
|
21
18
|
|
22
19
|
def acts_as_readable(options={})
|
23
|
-
# Ignore multiple calls
|
24
|
-
return if self.included_modules.include?(InstanceMethods)
|
25
|
-
|
26
|
-
options.reverse_merge!({ :on => :updated_at })
|
27
20
|
if respond_to?(:class_attribute)
|
28
21
|
class_attribute :readable_options
|
29
22
|
else
|
30
23
|
class_inheritable_accessor :readable_options
|
31
24
|
end
|
25
|
+
|
26
|
+
options.reverse_merge!({ :on => :updated_at })
|
32
27
|
self.readable_options = options
|
33
28
|
|
34
|
-
|
29
|
+
has_many :read_marks, :as => :readable, :dependent => :delete_all
|
35
30
|
|
36
|
-
|
37
|
-
|
38
|
-
ReadMark.readable_classes = classes
|
31
|
+
ReadMark.readable_classes ||= []
|
32
|
+
ReadMark.readable_classes << self unless ReadMark.readable_classes.map(&:name).include?(self.name)
|
39
33
|
|
40
34
|
scope_method = ActiveRecord::VERSION::MAJOR < 3 ? :named_scope : :scope
|
41
35
|
|
data/lib/unread/version.rb
CHANGED
data/test/unread_test.rb
CHANGED
@@ -19,6 +19,14 @@ class UnreadTest < ActiveSupport::TestCase
|
|
19
19
|
def test_schema_has_loaded_correctly
|
20
20
|
assert_equal [@email1, @email2], Email.all
|
21
21
|
end
|
22
|
+
|
23
|
+
def test_readable_classes
|
24
|
+
assert_equal [ Email ], ReadMark.readable_classes
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_reader_class
|
28
|
+
assert_equal User, ReadMark.reader_class
|
29
|
+
end
|
22
30
|
|
23
31
|
def test_scope
|
24
32
|
assert_equal [@email1, @email2], Email.unread_by(@user)
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: unread
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 21
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 5
|
10
|
+
version: 0.0.5
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Georg Ledermann
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-09-09 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: activerecord
|
@@ -150,7 +150,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
150
150
|
requirements: []
|
151
151
|
|
152
152
|
rubyforge_project: unread
|
153
|
-
rubygems_version: 1.8.
|
153
|
+
rubygems_version: 1.8.6
|
154
154
|
signing_key:
|
155
155
|
specification_version: 3
|
156
156
|
summary: Manages read/unread status of ActiveRecord objects
|