gtl-voteable 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/gtl-voteable.rb +27 -0
  3. metadata +43 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 7530a3d26821a7d84681ba25fa41f7ead06bee1b
4
+ data.tar.gz: b24c49f73191c86081df839fed00077cef3bf07c
5
+ SHA512:
6
+ metadata.gz: 2a6418614c2eef27ffeb187220272bccb4ca35b156dce636fb73e9d593d8168c109b072d1aba16c0e1cec21bd14235a9d8f5ee8ed2a9e4160fa982f01bfe3ca8
7
+ data.tar.gz: 40dec5f4e13178ad6c4e4386261dc8181d646e9f5f6433c96f7eaebe7880b03744e6028f14de90f4464174c5b9006ecfe6c7a93c1d0f659334de8bbb87f2ed54
@@ -0,0 +1,27 @@
1
+ module Voteable
2
+
3
+ def self.included(base)
4
+ base.send(:include, InstanceMethods)
5
+ base.extend ClassMethods
6
+ base.class_eval do
7
+ create_polymorphic_relationship
8
+ end
9
+ end
10
+
11
+ module InstanceMethods
12
+
13
+ def total_votes
14
+ self.votes.where(vote: true).size - self.votes.where(vote: false).size
15
+ end
16
+
17
+ end
18
+
19
+ module ClassMethods
20
+
21
+ def create_polymorphic_relationship
22
+ has_many :votes, as: :voteable
23
+ end
24
+
25
+ end
26
+
27
+ end
metadata ADDED
@@ -0,0 +1,43 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gtl-voteable
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Craig Tran
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-09-27 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: A voting gem to allow polymorphic voting on objects
14
+ email: cntran@gmail.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/gtl-voteable.rb
20
+ homepage: https://github.com/cntran/gtl-voteable
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.1.5
40
+ signing_key:
41
+ specification_version: 4
42
+ summary: A voting gem
43
+ test_files: []