rs_voteable_mongo 1.0.0 → 1.0.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 53b6e38a882ecb70db25219bd78159c08e226bbf
4
- data.tar.gz: 10a70421818708ecc107023550022bb31d1db72d
3
+ metadata.gz: 45ea1fbc2dc83f8f83c9dadf76f0e0d7aeae55fc
4
+ data.tar.gz: 588254e5dc81a3010ece1972a6a1f1d06f4da705
5
5
  SHA512:
6
- metadata.gz: 167fc70a55bfc367fd4a441a8a7123267b0fc62c5aa58f0a58a20e5824e2847a47f45b1ee01cb5e95c93c2026e187fa1a634c26fe8516f5c09b5694578ad9dad
7
- data.tar.gz: 6ca2f3486223cfc1554a2587b42d5884b830f49b50b94917822bf811e1d7ec6bf2edebe082b9198362b6339f8cb70bd57baaa82b42869a20814df60fe530ab6f
6
+ metadata.gz: 7088a5fae13d3ef1f1a71e0febde84fb4cff8784df77302552eea0d1d40b006cff7e463cf71f6272b46ff9c11eb0a47ed0d1772fb57430fbfc379fe6aa4e4478
7
+ data.tar.gz: c93b9c107594da322e980b86d4ba0690ef31c45350596e99bddcca54b11945168e64243df28e7c3bff24013dca35e33b1a82425a45fcc6efc0d7d301c49fbd02
data/.travis.yml ADDED
@@ -0,0 +1,22 @@
1
+ services: mongodb
2
+
3
+ notifications:
4
+ email: false
5
+
6
+ language: ruby
7
+ rvm:
8
+ - 1.9.3
9
+ - 2.0.0
10
+ - jruby-19mode
11
+ - rbx-19mode
12
+
13
+ gemfile:
14
+ - Gemfile
15
+ - gemfiles/mongoid-3.0.gemfile
16
+ - gemfiles/mongoid-3.1.gemfile
17
+ - gemfiles/mongoid-4.0.gemfile
18
+
19
+ matrix:
20
+ exclude:
21
+ - rvm: rbx-19mode
22
+ gemfile: gemfiles/mongoid-4.0.gemfile
data/CHANGELOG.rdoc CHANGED
@@ -1,3 +1,9 @@
1
+ == rs-1.0.0
2
+ * Forked gem
3
+ * drop mongomapper
4
+ * Support mongoid 3 and 4
5
+ * Add Travis-ci
6
+
1
7
  == 0.9.3
2
8
  * Support mongoid ~> 2.0, mongo_mapper ~> 0.9
3
9
 
data/README.rdoc CHANGED
@@ -1,14 +1,13 @@
1
1
  = Voteable Mongo (for Mongoid 3 / 4)
2
2
 
3
+ {<img src="https://travis-ci.org/rs-pro/voteable_mongo.png?branch=master" alt="Build Status" />}[https://travis-ci.org/rs-pro/voteable_mongo]
4
+ {<img src="https://gemnasium.com/rs-pro/voteable_mongo.png" alt="Dependency Status" />}[https://gemnasium.com/rs-pro/voteable_mongo]
5
+ {<img src="https://badge.fury.io/rb/rs_voteable_mongo.png" alt="Gem Version" />}[http://badge.fury.io/rb/rs_voteable_mongo]
6
+
3
7
  voteable_mongo allows you to make your Mongoid::Document or MongoMapper::Document objects voteable and tabulate votes count and votes point for you. For instance, in a forum, a user can vote up (or down) on a post or a comment. It's optimized for speed by using only ONE database request per collection to validate, update, and retrieve updated data.
4
8
 
5
9
  Initial idea based on http://cookbook.mongodb.org/patterns/votes.
6
10
 
7
- Sample app at https://github.com/vinova/simple_qa.
8
-
9
- Wonder how fast voteable_mongo is compare to other SQL & MongoDB solutions?
10
- Visit benchmarks at https://github.com/vinova/voteable_benchmarks
11
-
12
11
  == Why voteable_mongo?
13
12
 
14
13
  There are various solutions for up / down voting problem (1[https://github.com/medihack/make_voteable], 2[https://github.com/brady8/thumbs_up], 3[https://github.com/icaruswings/mm-voteable], 4[https://github.com/jcoene/mongoid_voteable], ...). Most of them using additional votes table (SQL) or votes collection (MongoDB) to store votes and do data tabulation on that votes table or votes collection.
@@ -29,6 +28,7 @@ So use voteable_mongo for less maintain cost, data integrity and save database r
29
28
  * http://www.naiku.net
30
29
  * http://www.amorveneris.com
31
30
  * http://zheye.org
31
+ * http://megalyrics.ru
32
32
 
33
33
  == Installation
34
34
 
@@ -81,41 +81,6 @@ user.rb
81
81
  end
82
82
 
83
83
 
84
- == MongoMapper
85
- post.rb
86
-
87
- class Post
88
- include MongoMapper::Document
89
- include Mongo::Voteable
90
-
91
- # set points for each vote
92
- voteable self, :up => +1, :down => -1
93
-
94
- many :comments
95
- end
96
-
97
- comment.rb
98
-
99
- require 'post'
100
-
101
- class Comment
102
- include MongoMapper::Document
103
- include Mongo::Voteable
104
-
105
- belongs_to :post
106
-
107
- voteable self, :up => +1, :down => -3
108
- voteable Post, :up => +2, :down => -1
109
- end
110
-
111
- user.rb
112
-
113
- class User
114
- include MongoMapper::Document
115
- include Mongo::Voter
116
- end
117
-
118
-
119
84
  === Make a vote
120
85
 
121
86
  @user.vote(@post, :up)
@@ -205,7 +170,7 @@ Ruby
205
170
 
206
171
  == Credits
207
172
  * Alex Nguyen - Author
208
- * Contributors[https://github.com/vinova/voteable_mongo/contributors]
173
+ * Contributors[https://github.com/rs-pro/voteable_mongo/contributors]
209
174
 
210
175
  Copyright (c) 2010-2011 Vinova Pte Ltd
211
176
 
@@ -0,0 +1,5 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "mongoid", github: "mongoid/mongoid", branch: "3.0.0-stable"
4
+
5
+ gemspec path: "../"
@@ -0,0 +1,5 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "mongoid", github: "mongoid/mongoid", branch: "3.1.0-stable"
4
+
5
+ gemspec path: "../"
@@ -0,0 +1,5 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "mongoid", github: "mongoid/mongoid", branch: "master"
4
+
5
+ gemspec path: "../"
@@ -1 +1 @@
1
- require 'votable_mongo'
1
+ require 'voteable_mongo'
@@ -1,3 +1,3 @@
1
1
  module VoteableMongo
2
- VERSION = '1.0.0'
2
+ VERSION = '1.0.1'
3
3
  end
@@ -16,12 +16,7 @@ module Mongo
16
16
 
17
17
  included do
18
18
  include Mongo::Voteable::Voting
19
-
20
- if defined?(Mongoid) && defined?(field)
21
- include Mongo::Voteable::Integrations::Mongoid
22
- elsif defined?(MongoMapper)
23
- include Mongo::Voteable::Integrations::MongoMapper
24
- end
19
+ include Mongo::Voteable::Integrations::Mongoid
25
20
 
26
21
  scope :voted_by, lambda { |voter|
27
22
  voter_id = Helpers.get_mongo_id(voter)
@@ -11,14 +11,15 @@ Gem::Specification.new do |s|
11
11
  s.homepage = 'https://github.com/rs-pro/voteable_mongo'
12
12
  s.summary = %q{Add up / down voting ability to Mongoid documents}
13
13
  s.description = %q{Add up / down voting ability to Mongoid documents. Optimized for speed by using only ONE request to MongoDB to validate, update, and retrieve updated data.}
14
-
15
- s.add_dependency "mongoid", [">= 3.0", "< 5.0"]
16
- s.add_development_dependency 'rspec', '~> 2.14.1'
17
-
18
- s.rubyforge_project = 'voteable_mongo'
14
+ s.license = "MIT"
19
15
 
20
16
  s.files = `git ls-files`.split("\n")
21
17
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
22
18
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
23
19
  s.require_paths = ['lib']
20
+
21
+ s.add_dependency "mongoid", [">= 3.0", "< 5.0"]
22
+ s.add_development_dependency 'rspec', '~> 2.14.1'
23
+ s.add_development_dependency "bundler", "~> 1.3"
24
+ s.add_development_dependency "rake"
24
25
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rs_voteable_mongo
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - RocketScience
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-09-29 00:00:00.000000000 Z
12
+ date: 2013-10-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mongoid
@@ -45,6 +45,34 @@ dependencies:
45
45
  - - ~>
46
46
  - !ruby/object:Gem::Version
47
47
  version: 2.14.1
48
+ - !ruby/object:Gem::Dependency
49
+ name: bundler
50
+ requirement: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '1.3'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '1.3'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rake
64
+ requirement: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ type: :development
70
+ prerelease: false
71
+ version_requirements: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
48
76
  description: Add up / down voting ability to Mongoid documents. Optimized for speed
49
77
  by using only ONE request to MongoDB to validate, update, and retrieve updated data.
50
78
  email:
@@ -57,12 +85,15 @@ files:
57
85
  - .gitignore
58
86
  - .ruby-gemset
59
87
  - .ruby-version
60
- - .watchr
88
+ - .travis.yml
61
89
  - CHANGELOG.rdoc
62
90
  - Gemfile
63
91
  - README.rdoc
64
92
  - Rakefile
65
93
  - TODO
94
+ - gemfiles/mongoid-3.0.gemfile
95
+ - gemfiles/mongoid-3.1.gemfile
96
+ - gemfiles/mongoid-4.0.gemfile
66
97
  - lib/rs_votable_mongo.rb
67
98
  - lib/voteable_mongo.rb
68
99
  - lib/voteable_mongo/helpers.rb
@@ -85,7 +116,8 @@ files:
85
116
  - spec/voteable_mongo/voter_spec.rb
86
117
  - voteable_mongo.gemspec
87
118
  homepage: https://github.com/rs-pro/voteable_mongo
88
- licenses: []
119
+ licenses:
120
+ - MIT
89
121
  metadata: {}
90
122
  post_install_message:
91
123
  rdoc_options: []
@@ -102,7 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
102
134
  - !ruby/object:Gem::Version
103
135
  version: '0'
104
136
  requirements: []
105
- rubyforge_project: voteable_mongo
137
+ rubyforge_project:
106
138
  rubygems_version: 2.0.6
107
139
  signing_key:
108
140
  specification_version: 4
data/.watchr DELETED
@@ -1,23 +0,0 @@
1
- # vim:set filetype=ruby:
2
- def run(cmd)
3
- puts cmd
4
- system cmd
5
- end
6
-
7
- def spec(file)
8
- if File.exists?(file)
9
- run("rspec #{file}")
10
- else
11
- puts("Spec: #{file} does not exist.")
12
- end
13
- end
14
-
15
- watch("spec/.*/*_spec\.rb") do |match|
16
- puts(match[0])
17
- spec(match[0])
18
- end
19
-
20
- watch("lib/(.*/.*)\.rb") do |match|
21
- puts(match[1])
22
- spec("spec/#{match[1]}_spec.rb")
23
- end