rad_matchers 0.1 → 0.2

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -1 +1,2 @@
1
1
  .DS_Store
2
+ .rvmrc
@@ -0,0 +1,23 @@
1
+ class ValidateAssociatedMatcher
2
+
3
+ def initialize(attribute)
4
+ @attribute = attribute
5
+ end
6
+
7
+ def matches?(instance)
8
+ @instance = instance
9
+ association_class = @instance.class.reflect_on_association(@attribute).klass
10
+ invalid_record = association_class.new
11
+ invalid_record.stub!(:valid?).and_return(false)
12
+ @instance.send("#{@attribute}=", invalid_record)
13
+ @instance.valid? == false && @instance.errors_on(@attribute)
14
+ end
15
+
16
+ def failure_message_for_should
17
+ "expected #{@instance} to validate associated #{@attribute}"
18
+ end
19
+ end
20
+
21
+ def validate_associated(attribute)
22
+ ValidateAssociatedMatcher.new attribute
23
+ end
@@ -1,5 +1,5 @@
1
1
  module RadMatchers
2
2
  module Version
3
- STRING = "0.1"
3
+ STRING = "0.2"
4
4
  end
5
5
  end
data/lib/rad_matchers.rb CHANGED
@@ -1 +1,2 @@
1
+ require 'rad_matchers/validate_associated_matcher'
1
2
  require 'rad_matchers/version'
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: rad_matchers
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: "0.1"
5
+ version: "0.2"
6
6
  platform: ruby
7
7
  authors:
8
8
  - Eric Carty-Fickes
@@ -28,6 +28,7 @@ files:
28
28
  - Licence.txt
29
29
  - README.markdown
30
30
  - lib/rad_matchers.rb
31
+ - lib/rad_matchers/validate_associated_matcher.rb
31
32
  - lib/rad_matchers/version.rb
32
33
  - rad_matchers.gemspec
33
34
  has_rdoc: true
@@ -57,6 +58,6 @@ rubyforge_project: rad_matchers
57
58
  rubygems_version: 1.6.2
58
59
  signing_key:
59
60
  specification_version: 3
60
- summary: rad_matchers-0.1
61
+ summary: rad_matchers-0.2
61
62
  test_files: []
62
63