make_voteable 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,3 @@
1
1
  module MakeVoteable
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
@@ -40,6 +40,8 @@ module MakeVoteable
40
40
  voteable.save
41
41
  voting.save
42
42
  end
43
+
44
+ true
43
45
  end
44
46
 
45
47
  # Up votes the +voteable+, but doesn't raise an error if the votelable was already up voted.
@@ -47,8 +49,11 @@ module MakeVoteable
47
49
  def up_vote!(voteable)
48
50
  begin
49
51
  up_vote(voteable)
52
+ success = true
50
53
  rescue Exceptions::AlreadyVotedError
54
+ success = false
51
55
  end
56
+ success
52
57
  end
53
58
 
54
59
  # Down vote a +voteable+.
@@ -79,6 +84,8 @@ module MakeVoteable
79
84
  voteable.save
80
85
  voting.save
81
86
  end
87
+
88
+ true
82
89
  end
83
90
 
84
91
  # Down votes the +voteable+, but doesn't raise an error if the votelable was already down voted.
@@ -86,8 +93,11 @@ module MakeVoteable
86
93
  def down_vote!(voteable)
87
94
  begin
88
95
  down_vote(voteable)
96
+ success = true
89
97
  rescue Exceptions::AlreadyVotedError
98
+ success = false
90
99
  end
100
+ success
91
101
  end
92
102
 
93
103
  # Clears an already done vote on a +voteable+.
@@ -112,6 +122,8 @@ module MakeVoteable
112
122
  voteable.save
113
123
  voting.destroy
114
124
  end
125
+
126
+ true
115
127
  end
116
128
 
117
129
  # Clears an already done vote on a +voteable+, but doesn't raise an error if
@@ -119,8 +131,11 @@ module MakeVoteable
119
131
  def unvote!(voteable)
120
132
  begin
121
133
  unvote(voteable)
134
+ success = true
122
135
  rescue Exceptions::NotVotedError
136
+ success = false
123
137
  end
138
+ success
124
139
  end
125
140
 
126
141
  # Returns true if the voter voted for the +voteable+.
@@ -134,6 +149,7 @@ module MakeVoteable
134
149
  def up_voted?(voteable)
135
150
  check_voteable(voteable)
136
151
  voting = fetch_voting(voteable)
152
+ return false if voting.nil?
137
153
  return true if voting.has_attribute?(:up_vote) && voting.up_vote
138
154
  false
139
155
  end
@@ -142,6 +158,7 @@ module MakeVoteable
142
158
  def down_voted?(voteable)
143
159
  check_voteable(voteable)
144
160
  voting = fetch_voting(voteable)
161
+ return false if voting.nil?
145
162
  return true if voting.has_attribute?(:up_vote) && !voting.up_vote
146
163
  false
147
164
  end
@@ -14,10 +14,10 @@ Gem::Specification.new do |s|
14
14
  s.required_rubygems_version = ">= 1.3.6"
15
15
  s.rubyforge_project = "make_voteable"
16
16
 
17
- s.add_dependency "activerecord", "~> 3.0.0"
17
+ s.add_dependency "activerecord", "~> 3.0"
18
18
  s.add_development_dependency "bundler", "~> 1.0.0"
19
19
  s.add_development_dependency "rspec", "~> 2.5.0"
20
- s.add_development_dependency "database_cleaner", "0.6.7.RC"
20
+ s.add_development_dependency "database_cleaner", "0.6.7"
21
21
  s.add_development_dependency "sqlite3-ruby", "~> 1.3.0"
22
22
  s.add_development_dependency "generator_spec", "~> 0.8.2"
23
23
 
@@ -17,11 +17,11 @@ describe "Make Voteable" do
17
17
  end
18
18
 
19
19
  it "should get correct vote summary" do
20
- @voter.up_vote(@voteable)
20
+ @voter.up_vote(@voteable).should == true
21
21
  @voteable.votes.should == 1
22
- @voter.down_vote(@voteable)
22
+ @voter.down_vote(@voteable).should == true
23
23
  @voteable.votes.should == -1
24
- @voter.unvote(@voteable)
24
+ @voter.unvote(@voteable).should == true
25
25
  @voteable.votes.should == 0
26
26
  end
27
27
 
@@ -83,7 +83,9 @@ describe "Make Voteable" do
83
83
 
84
84
  it "should only allow a voter to up vote a voteable once without raising an error" do
85
85
  @voter.up_vote!(@voteable)
86
- lambda { @voter.up_vote!(@voteable) }.should_not raise_error(MakeVoteable::Exceptions::AlreadyVotedError)
86
+ lambda {
87
+ @voter.up_vote!(@voteable).should == false
88
+ }.should_not raise_error(MakeVoteable::Exceptions::AlreadyVotedError)
87
89
  MakeVoteable::Voting.count.should == 1
88
90
  end
89
91
 
@@ -155,7 +157,9 @@ describe "Make Voteable" do
155
157
 
156
158
  it "should only allow a voter to down vote a voteable once without raising an error" do
157
159
  @voter.down_vote!(@voteable)
158
- lambda { @voter.down_vote!(@voteable) }.should_not raise_error(MakeVoteable::Exceptions::AlreadyVotedError)
160
+ lambda {
161
+ @voter.down_vote!(@voteable).should == false
162
+ }.should_not raise_error(MakeVoteable::Exceptions::AlreadyVotedError)
159
163
  MakeVoteable::Voting.count.should == 1
160
164
  end
161
165
 
@@ -219,7 +223,9 @@ describe "Make Voteable" do
219
223
  end
220
224
 
221
225
  it "should not raise error if voter didn't vote for the voteable and unvote! is called" do
222
- lambda { @voter.unvote!(@voteable) }.should_not raise_error(MakeVoteable::Exceptions::NotVotedError)
226
+ lambda {
227
+ @voter.unvote!(@voteable).should == false
228
+ }.should_not raise_error(MakeVoteable::Exceptions::NotVotedError)
223
229
  end
224
230
 
225
231
  it "should raise an error for an invalid voteable" do
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: make_voteable
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.0
5
+ version: 0.1.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - Kai Schlamp
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-06-16 00:00:00 +02:00
13
+ date: 2011-07-25 00:00:00 +02:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -21,7 +21,7 @@ dependencies:
21
21
  requirements:
22
22
  - - ~>
23
23
  - !ruby/object:Gem::Version
24
- version: 3.0.0
24
+ version: "3.0"
25
25
  type: :runtime
26
26
  version_requirements: *id001
27
27
  - !ruby/object:Gem::Dependency
@@ -54,7 +54,7 @@ dependencies:
54
54
  requirements:
55
55
  - - "="
56
56
  - !ruby/object:Gem::Version
57
- version: 0.6.7.RC
57
+ version: 0.6.7
58
58
  type: :development
59
59
  version_requirements: *id004
60
60
  - !ruby/object:Gem::Dependency