mongoa 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.1.2
@@ -1,7 +1,7 @@
1
1
  module Mongoa
2
2
  module MongoMapper
3
3
  module Matchers
4
- def belong_to(name)
4
+ def belongs_to(name)
5
5
  MongoAssociationMatcher.new(:belongs_to, name)
6
6
  end
7
7
 
@@ -0,0 +1,47 @@
1
+ module Mongoa
2
+ module MongoMapper
3
+ module Matchers
4
+
5
+ def validate_presence_of(attr)
6
+ ValidatePresenceOfMatcher.new(attr)
7
+ end
8
+
9
+ class ValidatePresenceOfMatcher < ValidationMatcher
10
+
11
+ def with_message(message)
12
+ @expected_message = message if message
13
+ self
14
+ end
15
+
16
+ def matches?(subject)
17
+ super(subject)
18
+ @expected_message ||= :blank
19
+ disallows_value_of(blank_value, @expected_message)
20
+ end
21
+
22
+ def description
23
+ "require #{@attribute} to be set"
24
+ end
25
+
26
+ private
27
+
28
+ def blank_value
29
+ if collection?
30
+ []
31
+ else
32
+ nil
33
+ end
34
+ end
35
+
36
+ def collection?
37
+ if reflection = @subject.class.reflect_on_association(@attribute)
38
+ [:has_many, :has_and_belongs_to_many].include?(reflection.macro)
39
+ else
40
+ false
41
+ end
42
+ end
43
+ end
44
+
45
+ end
46
+ end
47
+ end
data/lib/mongoa.rb CHANGED
@@ -1,5 +1 @@
1
- # if defined?(RSpec)
2
- require 'mongoa/integrations/rspec2'
3
- # else
4
- # raise 'DONT SUPPORT THAT TEST FRAMEWORK'
5
- # end
1
+ require 'mongoa/integrations/rspec2'
data/mongoa.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{mongoa}
8
- s.version = "0.1.1"
8
+ s.version = "0.1.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Scott J. Tamosunas"]
12
- s.date = %q{2010-08-08}
12
+ s.date = %q{2010-08-09}
13
13
  s.description = %q{Adds the association and validation macros for Rspec in the same way Shoulda does for ActiveRecord.}
14
14
  s.email = %q{tamosunas@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -28,6 +28,7 @@ Gem::Specification.new do |s|
28
28
  "lib/mongoa/mongo_mapper/association_matcher.rb",
29
29
  "lib/mongoa/mongo_mapper/associations.rb",
30
30
  "lib/mongoa/mongo_mapper/matchers.rb",
31
+ "lib/mongoa/mongo_mapper/validations.rb",
31
32
  "mongoa.gemspec",
32
33
  "spec/mongoa_spec.rb",
33
34
  "spec/spec.opts",
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 1
9
- version: 0.1.1
8
+ - 2
9
+ version: 0.1.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - Scott J. Tamosunas
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-08-08 00:00:00 -04:00
17
+ date: 2010-08-09 00:00:00 -04:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -53,6 +53,7 @@ files:
53
53
  - lib/mongoa/mongo_mapper/association_matcher.rb
54
54
  - lib/mongoa/mongo_mapper/associations.rb
55
55
  - lib/mongoa/mongo_mapper/matchers.rb
56
+ - lib/mongoa/mongo_mapper/validations.rb
56
57
  - mongoa.gemspec
57
58
  - spec/mongoa_spec.rb
58
59
  - spec/spec.opts