voteable-ism 0.0.0 → 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/voteable-ism.rb +25 -0
- metadata +2 -2
- data/lib/voteable.rb +0 -5
data/lib/voteable-ism.rb
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
module VoteableIsm
|
2
|
+
def self.included(base)
|
3
|
+
base.send(:include, InstanceMethods)
|
4
|
+
base.extend ClassMethods
|
5
|
+
base.class_eval do
|
6
|
+
my_class_method
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
module InstanceMethods
|
11
|
+
def total_votes
|
12
|
+
self.votes.where(vote: true).size - self.votes.where(votes: false).size
|
13
|
+
end
|
14
|
+
|
15
|
+
def generate_slug
|
16
|
+
self.slug = self.username.gsub(' ', '-')
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
module ClassMethods
|
21
|
+
def my_class_method
|
22
|
+
has_many :votes, as: :voteable
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: voteable-ism
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -17,7 +17,7 @@ executables: []
|
|
17
17
|
extensions: []
|
18
18
|
extra_rdoc_files: []
|
19
19
|
files:
|
20
|
-
- lib/voteable.rb
|
20
|
+
- lib/voteable-ism.rb
|
21
21
|
homepage: ''
|
22
22
|
licenses: []
|
23
23
|
post_install_message:
|