mongoa 0.0.2 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.1.1
@@ -5,3 +5,4 @@ module RSpec
5
5
  include Mongoa::MongoMapper::Matchers
6
6
  end
7
7
  end
8
+
@@ -27,7 +27,11 @@ module Mongoa
27
27
  return false
28
28
  end
29
29
  @subject = subject
30
- association_exists? && macro_correct? && foreign_key_exists?
30
+ result = (association_exists? && macro_correct?)
31
+ if result && macro == :belongs_to
32
+ result = foreign_key_exists?
33
+ end
34
+ result
31
35
  end
32
36
 
33
37
  def failure_message
@@ -53,7 +57,6 @@ module Mongoa
53
57
  end
54
58
 
55
59
  def model_class
56
- p @subject
57
60
  @subject.class
58
61
  end
59
62
 
@@ -74,17 +77,14 @@ module Mongoa
74
77
  def association_exists?
75
78
  if !association
76
79
  @missing = "no association called #{name}"
77
- false
80
+ return false
78
81
  end
79
82
  true
80
83
  end
81
84
 
82
- def association_exists?
83
- association
84
- end
85
-
86
- def macro_correct?
87
- association.type == macro
85
+ def macro_correct?
86
+ (association.type == :belongs_to && macro == :belongs_to) ||
87
+ (association.type == :many && macro == :has_many)
88
88
  end
89
89
 
90
90
  def foreign_key_exists?
@@ -92,7 +92,7 @@ module Mongoa
92
92
  end
93
93
 
94
94
  def belongs_to_foreign_key_exists?
95
- macro == :belongs_to && model_class.keys.keys.include?("#{reflection_name}_id")
95
+ model_class.keys.keys.include?("#{reflection_name}_id")
96
96
  end
97
97
 
98
98
  def reflection_name
@@ -0,0 +1,12 @@
1
+ module MongoMapper
2
+ module Plugins
3
+ module Associations
4
+ module ClassMethods
5
+ def find_association(name)
6
+ name_association = self.associations.detect {|key, value| key.to_s == name.to_s}
7
+ name_association ? name_association.last : nil
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
@@ -1,3 +1,4 @@
1
+ require 'mongoa/mongo_mapper/associations'
1
2
  require 'mongoa/mongo_mapper/association_matcher'
2
3
 
3
4
  module Mongoa
data/lib/mongoa.rb CHANGED
@@ -1,5 +1,5 @@
1
- if defined?(RSpec)
1
+ # if defined?(RSpec)
2
2
  require 'mongoa/integrations/rspec2'
3
- else
4
- raise 'DONT SUPPORT THAT TEST FRAMEWORK'
5
- end
3
+ # else
4
+ # raise 'DONT SUPPORT THAT TEST FRAMEWORK'
5
+ # end
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.0.2"
8
+ s.version = "0.1.1"
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-06}
12
+ s.date = %q{2010-08-08}
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 = [
@@ -24,9 +24,10 @@ Gem::Specification.new do |s|
24
24
  "Rakefile",
25
25
  "VERSION",
26
26
  "lib/mongoa.rb",
27
- "lib/mongoa/matchers.rb",
27
+ "lib/mongoa/integrations/rspec2.rb",
28
28
  "lib/mongoa/mongo_mapper/association_matcher.rb",
29
- "lib/mongoa/rspec2.rb",
29
+ "lib/mongoa/mongo_mapper/associations.rb",
30
+ "lib/mongoa/mongo_mapper/matchers.rb",
30
31
  "mongoa.gemspec",
31
32
  "spec/mongoa_spec.rb",
32
33
  "spec/spec.opts",
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
- - 0
8
- - 2
9
- version: 0.0.2
7
+ - 1
8
+ - 1
9
+ version: 0.1.1
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-06 00:00:00 -04:00
17
+ date: 2010-08-08 00:00:00 -04:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -49,9 +49,10 @@ files:
49
49
  - Rakefile
50
50
  - VERSION
51
51
  - lib/mongoa.rb
52
- - lib/mongoa/matchers.rb
52
+ - lib/mongoa/integrations/rspec2.rb
53
53
  - lib/mongoa/mongo_mapper/association_matcher.rb
54
- - lib/mongoa/rspec2.rb
54
+ - lib/mongoa/mongo_mapper/associations.rb
55
+ - lib/mongoa/mongo_mapper/matchers.rb
55
56
  - mongoa.gemspec
56
57
  - spec/mongoa_spec.rb
57
58
  - spec/spec.opts