voteable_wwm 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/voteable_wwm.rb +49 -0
  3. metadata +43 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 20ee833ffd7a6554f193d6c895babecc0a4f4cc6
4
+ data.tar.gz: 247a2a60583955c62b4824ab630cae4316022bfb
5
+ SHA512:
6
+ metadata.gz: b060f7415434d264cecfec3acc42a68572c9dd3da35354a458badc41d7f796f2a015ad01fb3b71cca120520f2d87fc02365f22b4ac4f12c28790793a63a26242
7
+ data.tar.gz: 0ea0895eef9128e9e47c700f81d1c09997f618198315296ec728a7588edf7c1d7dd0a5d8d7bd34b62a6375f5e68a34253fcf2a5098f7a59daceb2d8fa898130c
@@ -0,0 +1,49 @@
1
+ module Voteable
2
+ extend ActiveSupport::Concern
3
+
4
+ included do
5
+ has_many :votes, as: :voteable
6
+ end
7
+
8
+ def total_votes
9
+ self.up_votes - self.down_votes
10
+ end
11
+
12
+ def up_votes
13
+ self.votes.where(vote: true).size
14
+ end
15
+
16
+ def down_votes
17
+ self.votes.where(vote: false).size
18
+ end
19
+ end
20
+
21
+ # module Voteable
22
+ # def self.included(base)
23
+ # base.send(:include, InstanceMethods)
24
+ # base.extend ClassMethods
25
+ # base.class_eval do
26
+ # my_class_method
27
+ # end
28
+ # end
29
+
30
+ # module InstanceMethods
31
+ # def total_votes
32
+ # self.up_votes - self.down_votes
33
+ # end
34
+
35
+ # def up_votes
36
+ # self.votes.where(vote: true).size
37
+ # end
38
+
39
+ # def down_votes
40
+ # self.votes.where(vote: false).size
41
+ # end
42
+ # end
43
+
44
+ # module ClassMethods
45
+ # def my_class_method
46
+ # has_many :votes, as: :voteable
47
+ # end
48
+ # end
49
+ # end
metadata ADDED
@@ -0,0 +1,43 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: voteable_wwm
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Jimmy Reilly
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-01-01 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Test gem
14
+ email: reilly@whitewavemedia.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/voteable_wwm.rb
20
+ homepage: http://whitewavemedia.com
21
+ licenses: []
22
+ metadata: {}
23
+ post_install_message:
24
+ rdoc_options: []
25
+ require_paths:
26
+ - lib
27
+ required_ruby_version: !ruby/object:Gem::Requirement
28
+ requirements:
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ version: '0'
32
+ required_rubygems_version: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: '0'
37
+ requirements: []
38
+ rubyforge_project:
39
+ rubygems_version: 2.5.1
40
+ signing_key:
41
+ specification_version: 4
42
+ summary: A voting gem
43
+ test_files: []