mongoid-utils 0.1.11 → 0.1.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/mongoid/utils/hitable.rb +2 -2
- data/lib/mongoid/utils/listable.rb +18 -1
- data/lib/mongoid/utils/version.rb +1 -1
- data/lib/mongoid/utils/votable.rb +12 -8
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 42d407ec3118c9bce9d61be90de4ca243b8fecd6
|
4
|
+
data.tar.gz: f539d3d2bbd8b0003b96b7fbf836eec52e9d4d8f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 741313915b76c0d267f27042c95d9320cca4dc83a936e4e688c67d8fe071725f2f860224e06283b6ff95c1e05a92a160eefc3f1a1fd1d0ea609777ec16a4c049
|
7
|
+
data.tar.gz: 8eda1e747ca660dda3a89916681626b8dec5122ac714d76e7e471c2c10395161a48e8ea49cd43d2a58afb7756b527eda98e7e9eeb82a9a734b916b42f527f007
|
@@ -15,8 +15,8 @@ module Mongoid
|
|
15
15
|
|
16
16
|
unless seen
|
17
17
|
hits.create(digest: hit_digest)
|
18
|
-
self.hits_count = hits_count + 1
|
19
|
-
self.timeless.save
|
18
|
+
self.hits_count = self.hits_count + 1
|
19
|
+
self.timeless.save!(validate: false)
|
20
20
|
# self.timeless.update_attribute(:hits_count, hits_count + 1)
|
21
21
|
end
|
22
22
|
end
|
@@ -23,7 +23,24 @@ module Mongoid
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def list_title(list)
|
26
|
-
|
26
|
+
# lists_hash[list].is_a?(Array) ? lists_hash[list].collect(&:title).join(', ') : lists_hash[list].try(:title)
|
27
|
+
if lists_hash[list].is_a?(Array)
|
28
|
+
lists_hash[list].map { |l|
|
29
|
+
l.is_a?(Array) ? l.collect(&:title).join(', ') : l.try(:title)
|
30
|
+
}
|
31
|
+
else
|
32
|
+
lists_hash[list].try(:title)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def update_lists(new_lists)
|
37
|
+
_lists = self.lists
|
38
|
+
|
39
|
+
new_lists.each do |new_list|
|
40
|
+
_lists = _lists.delete_if { |list| list.is_a? new_list.class }
|
41
|
+
end
|
42
|
+
|
43
|
+
self.lists = (_lists + new_lists)
|
27
44
|
end
|
28
45
|
end
|
29
46
|
end
|
@@ -6,10 +6,15 @@ module Mongoid
|
|
6
6
|
included do
|
7
7
|
field :votes_up, type: Integer, default: 0
|
8
8
|
field :votes_down, type: Integer, default: 0
|
9
|
+
field :votes_value, type: Integer, default: 0
|
9
10
|
|
10
11
|
embeds_many :votes, class_name: 'Mongoid::Utils::Votable::Vote'
|
11
12
|
|
12
|
-
scope :voted_by, ->(voter) { where('votes.
|
13
|
+
scope :voted_by, ->(voter) { where('votes.user_id' => voter.id) }
|
14
|
+
scope :votable, -> { order_by(votes_value: :desc) }
|
15
|
+
|
16
|
+
index votes_value: 1
|
17
|
+
index 'votes.user_id' => 1
|
13
18
|
end
|
14
19
|
|
15
20
|
def voted?(voter)
|
@@ -42,9 +47,9 @@ module Mongoid
|
|
42
47
|
self.votes.count
|
43
48
|
end
|
44
49
|
|
45
|
-
|
46
|
-
|
47
|
-
|
50
|
+
# def votes_value
|
51
|
+
# self.votes_up - self.votes_down
|
52
|
+
# end
|
48
53
|
|
49
54
|
module ClassMethods
|
50
55
|
end
|
@@ -54,8 +59,9 @@ module Mongoid
|
|
54
59
|
votes_up_change = (vote.value > 0 ? -vote.value : 0) + (value > 0 ? value : 0)
|
55
60
|
votes_down_change = (vote.value < 0 ? vote.value : 0) + (value < 0 ? value.abs : 0)
|
56
61
|
|
57
|
-
self.inc(votes_up: votes_up_change)
|
58
|
-
self.inc(votes_down: votes_down_change)
|
62
|
+
self.timeless.inc(votes_up: votes_up_change)
|
63
|
+
self.timeless.inc(votes_down: votes_down_change)
|
64
|
+
self.timeless.inc(votes_value: votes_up_change - votes_down_change)
|
59
65
|
end
|
60
66
|
|
61
67
|
class Vote
|
@@ -65,8 +71,6 @@ module Mongoid
|
|
65
71
|
|
66
72
|
belongs_to :user
|
67
73
|
embedded_in :votable
|
68
|
-
|
69
|
-
index voter_id: 1
|
70
74
|
end
|
71
75
|
end
|
72
76
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongoid-utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michail
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-02-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -117,7 +117,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
117
117
|
version: '0'
|
118
118
|
requirements: []
|
119
119
|
rubyforge_project:
|
120
|
-
rubygems_version: 2.6.
|
120
|
+
rubygems_version: 2.6.13
|
121
121
|
signing_key:
|
122
122
|
specification_version: 4
|
123
123
|
summary: Useful concerns for mongoid ORM for the rails framework. Including commentable,
|