dm-is-voteable 0.0.3 → 0.0.4

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.
data/Rakefile CHANGED
@@ -2,7 +2,7 @@ require 'rubygems'
2
2
  require 'rake'
3
3
  require 'echoe'
4
4
 
5
- Echoe.new('dm-is-voteable', '0.0.3') do |p|
5
+ Echoe.new('dm-is-voteable', '0.0.4') do |p|
6
6
  p.description = "Makes a model voteable"
7
7
  p.url = "http://github.com/brianp/dm-is-voteable"
8
8
  p.author = "Brian Pearce"
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{dm-is-voteable}
5
- s.version = "0.0.3"
5
+ s.version = "0.0.4"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Brian Pearce"]
9
- s.date = %q{2010-10-10}
9
+ s.date = %q{2010-10-12}
10
10
  s.description = %q{Makes a model voteable}
11
11
  s.email = %q{brian.o.pearce@gmail.com}
12
12
  s.extra_rdoc_files = ["CHANGELOG", "README.rdoc", "lib/dm-is-voteable.rb", "lib/dm-is-voteable/is/models/vote.rb", "lib/dm-is-voteable/is/voteable.rb"]
@@ -13,15 +13,16 @@ class Vote
13
13
  property :updated_at, DateTime, :lazy => true
14
14
  property :updated_on, Date, :lazy => true
15
15
 
16
- validates_with_method :no_vote_in_3_days
16
+ validates_with_method :no_vote_in_x_days
17
17
 
18
- def no_vote_in_3_days
19
- Vote.count(:voter => voter, :created_on.gt => 3.days.ago) == 0
18
+ def no_vote_in_x_days
19
+ if Vote.respond_to?('x_days')
20
+ return Vote.count(:voter => voter, :created_on.gt => Vote.x_days.days.ago) == 0
21
+ else
22
+ return true
23
+ end
20
24
  end
21
-
25
+
22
26
  # belongs_to :voteable, :voteable_id
23
-
24
- # Uncomment this to limit users to a single vote.
25
- # validates_uniqueness_of :voter
26
27
 
27
28
  end
@@ -5,6 +5,11 @@ module DataMapper
5
5
  def is_voteable(options = {}, &block)
6
6
  has n, :votes, :as => :voteable, :child_key => [ :voteable_id ]
7
7
 
8
+ if !options[:every_x_days].nil?
9
+ Vote.instance_eval { @@x_days = 0; def x_days; @@x_days; end; def x_days=(value); @@x_days = (value); end }
10
+ Vote.x_days = options[:every_x_days]
11
+ end
12
+
8
13
  include DataMapper::Is::Voteable::InstanceMethods
9
14
  extend DataMapper::Is::Voteable::SingletonMethods
10
15
  end
@@ -15,8 +20,6 @@ module DataMapper
15
20
 
16
21
  module InstanceMethods
17
22
  def vote(voter)
18
- # puts "HERE:"
19
- # puts env.inspect
20
23
  vote = Vote.new(:voteable_id => self.id, :voteable_type => self.class, :voter => voter)
21
24
  vote.save
22
25
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 3
9
- version: 0.0.3
8
+ - 4
9
+ version: 0.0.4
10
10
  platform: ruby
11
11
  authors:
12
12
  - Brian Pearce
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-10-10 00:00:00 -07:00
17
+ date: 2010-10-12 00:00:00 -07:00
18
18
  default_executable:
19
19
  dependencies: []
20
20