dm-rspec 0.1.1 → 0.1.2
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/Gemfile.lock +17 -20
- data/README.markdown +6 -5
- data/VERSION +1 -1
- data/lib/dm/matchers/have_one.rb +34 -0
- data/lib/dm/matchers/validate_presence_of.rb +6 -10
- data/lib/dm/matchers/validate_uniqueness_of.rb +8 -9
- data/lib/dm/matchers.rb +1 -0
- data/spec/dm/matchers/have_one_spec.rb +19 -0
- data/spec/spec_helper.rb +5 -0
- metadata +184 -123
data/Gemfile.lock
CHANGED
@@ -2,8 +2,7 @@ GEM
|
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
4
|
addressable (2.2.6)
|
5
|
-
|
6
|
-
columnize (0.3.4)
|
5
|
+
columnize (0.3.6)
|
7
6
|
data_objects (0.10.6)
|
8
7
|
addressable (~> 2.1)
|
9
8
|
diff-lcs (1.1.3)
|
@@ -21,6 +20,7 @@ GEM
|
|
21
20
|
dm-core (~> 1.1.0)
|
22
21
|
do_sqlite3 (0.10.6)
|
23
22
|
data_objects (= 0.10.6)
|
23
|
+
ffi (1.0.9)
|
24
24
|
git (1.2.5)
|
25
25
|
guard (0.6.3)
|
26
26
|
thor (~> 0.14.6)
|
@@ -31,10 +31,12 @@ GEM
|
|
31
31
|
git (>= 1.2.5)
|
32
32
|
rake
|
33
33
|
libnotify (0.5.7)
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
34
|
+
ffi (= 1.0.9)
|
35
|
+
linecache (0.46)
|
36
|
+
rbx-require-relative (> 0.0.4)
|
37
|
+
rake (0.9.2.2)
|
38
|
+
rbx-require-relative (0.0.5)
|
39
|
+
rcov (0.9.11)
|
38
40
|
reek (1.2.8)
|
39
41
|
ruby2ruby (~> 1.2)
|
40
42
|
ruby_parser (~> 2.0)
|
@@ -47,22 +49,17 @@ GEM
|
|
47
49
|
rspec-expectations (2.3.0)
|
48
50
|
diff-lcs (~> 1.1.2)
|
49
51
|
rspec-mocks (2.3.0)
|
50
|
-
ruby-debug
|
51
|
-
columnize (>= 0.
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
linecache19 (>= 0.5.11)
|
57
|
-
ruby-debug-base19 (>= 0.11.19)
|
58
|
-
ruby2ruby (1.3.0)
|
52
|
+
ruby-debug (0.10.4)
|
53
|
+
columnize (>= 0.1)
|
54
|
+
ruby-debug-base (~> 0.10.4.0)
|
55
|
+
ruby-debug-base (0.10.4)
|
56
|
+
linecache (>= 0.3)
|
57
|
+
ruby2ruby (1.3.1)
|
59
58
|
ruby_parser (~> 2.0)
|
60
59
|
sexp_processor (~> 3.0)
|
61
|
-
|
62
|
-
archive-tar-minitar (>= 0.5.2)
|
63
|
-
ruby_parser (2.3.0)
|
60
|
+
ruby_parser (2.3.1)
|
64
61
|
sexp_processor (~> 3.0)
|
65
|
-
sexp_processor (3.0.
|
62
|
+
sexp_processor (3.0.8)
|
66
63
|
thor (0.14.6)
|
67
64
|
|
68
65
|
PLATFORMS
|
@@ -80,4 +77,4 @@ DEPENDENCIES
|
|
80
77
|
rcov
|
81
78
|
reek (~> 1.2.8)
|
82
79
|
rspec (~> 2.3.0)
|
83
|
-
ruby-
|
80
|
+
ruby-debug
|
data/README.markdown
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# dm-rspec
|
1
|
+
# dm-rspec (RSpec matchers for DataMapper)
|
2
2
|
by Potapov Sergey (aka Blake)
|
3
3
|
|
4
4
|
A set of rspec matchers to test DataMapper models like you test ActiveRecord models with rspec-rails.
|
@@ -19,9 +19,10 @@ Add the next to your `spec_helper`:
|
|
19
19
|
config.include(DataMapper::Matchers)
|
20
20
|
end
|
21
21
|
|
22
|
-
In your spec files you can use the next matchers:
|
22
|
+
In your spec files you can use the next matchers to test appropriate DataMapper's validations:
|
23
23
|
|
24
24
|
* belong\_to
|
25
|
+
* have\_one
|
25
26
|
* have\_many
|
26
27
|
* have\_many\_and\_belong\_to
|
27
28
|
* have\_property
|
@@ -34,7 +35,7 @@ In your spec files you can use the next matchers:
|
|
34
35
|
|
35
36
|
## Examples
|
36
37
|
|
37
|
-
Assume you have the next models:
|
38
|
+
Assume you have the next data mapper models:
|
38
39
|
|
39
40
|
class Book
|
40
41
|
include DataMapper::Resource
|
@@ -66,7 +67,7 @@ You specs can contain the next:
|
|
66
67
|
specify {Genre.should have_many_and_belong_to :books}
|
67
68
|
specify {Books.should have_many_and_belong_to :genres}
|
68
69
|
|
69
|
-
specify {Books.should
|
70
|
+
specify {Books.should validate_presence_of :name}
|
70
71
|
|
71
72
|
it 'has errors' do
|
72
73
|
book = Book.new(:name => 'fails on two validations')
|
@@ -78,7 +79,7 @@ You specs can contain the next:
|
|
78
79
|
|
79
80
|
## TODO
|
80
81
|
|
81
|
-
Implement the next matchers:
|
82
|
+
Implement the next rspec matchers:
|
82
83
|
|
83
84
|
* have timestamps
|
84
85
|
* matchers to verify validations
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.2
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module DataMapper
|
2
|
+
module Matchers
|
3
|
+
class HaveOne
|
4
|
+
def initialize(child)
|
5
|
+
@child = child
|
6
|
+
end
|
7
|
+
|
8
|
+
def matches?(parent)
|
9
|
+
@parent = parent
|
10
|
+
relation = @parent.relationships[@child.to_s]
|
11
|
+
|
12
|
+
relation and
|
13
|
+
relation.is_a?(DataMapper::Associations::OneToOne::Relationship) and
|
14
|
+
relation.parent_model == parent
|
15
|
+
end
|
16
|
+
|
17
|
+
def failure_message
|
18
|
+
"expected to have one #{@child}"
|
19
|
+
end
|
20
|
+
|
21
|
+
def negative_failure_message
|
22
|
+
"expected not to have one #{@child}"
|
23
|
+
end
|
24
|
+
|
25
|
+
def description
|
26
|
+
"has one #{@child}"
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def have_one(name)
|
31
|
+
HaveOne.new(name)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -6,21 +6,17 @@ module DataMapper
|
|
6
6
|
|
7
7
|
class ValidatePresenceOf < ValidationMatcher
|
8
8
|
set_validation_subject "presence"
|
9
|
-
set_default_msg_reg /must not be blank$/
|
10
|
-
|
11
9
|
|
12
10
|
def matches?(model)
|
13
|
-
[
|
14
|
-
|
15
|
-
|
16
|
-
if messages = obj.errors.send(:errors)[@property]
|
17
|
-
return false unless messages.find{|msg| msg =~ @msg_reg}
|
18
|
-
else
|
19
|
-
return false
|
20
|
-
end
|
11
|
+
validators = model.validators.contexts[:default]
|
12
|
+
presence_of = validators.find do |validator|
|
13
|
+
validator.is_a? DataMapper::Validations::PresenceValidator and validator.field_name == @property
|
21
14
|
end
|
15
|
+
return false unless presence_of
|
16
|
+
return false if @msg and @msg != presence_of.options[:message]
|
22
17
|
true
|
23
18
|
end
|
19
|
+
|
24
20
|
end
|
25
21
|
|
26
22
|
end
|
@@ -6,16 +6,15 @@ module DataMapper
|
|
6
6
|
|
7
7
|
class ValidateUniquenessOf < ValidationMatcher
|
8
8
|
set_validation_subject "uniqueness"
|
9
|
-
set_default_msg_reg /is already taken$/
|
10
9
|
|
11
|
-
def matches?(
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
10
|
+
def matches?(model)
|
11
|
+
validators = model.validators.contexts[:default]
|
12
|
+
uniqueness_of = validators.find do |validator|
|
13
|
+
validator.is_a? DataMapper::Validations::UniquenessValidator and validator.field_name == @property
|
14
|
+
end
|
15
|
+
return false unless uniqueness_of
|
16
|
+
return false if @msg and @msg != uniqueness_of.options[:message]
|
17
|
+
true
|
19
18
|
end
|
20
19
|
end
|
21
20
|
|
data/lib/dm/matchers.rb
CHANGED
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe DataMapper::Matchers::HaveOne do
|
4
|
+
context '#should' do
|
5
|
+
it 'passes if association exists' do
|
6
|
+
lambda { Book.should have_one :foreword}.should_pass
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'fails if association does not exist' do
|
10
|
+
lambda { Author.should have_one :book}.should fail_with "expected to have one book"
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
context '#should_not' do
|
15
|
+
it 'fails if association exists' do
|
16
|
+
lambda { Book.should_not have_one :foreword}.should fail_with "expected not to have one foreword"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -48,6 +48,7 @@ class Book
|
|
48
48
|
property :id, Serial
|
49
49
|
property :name, String
|
50
50
|
belongs_to :author
|
51
|
+
has 1, :foreword
|
51
52
|
has n, :genres, :through => Resource
|
52
53
|
has n, :taggings
|
53
54
|
has n, :tags, :through => :taggings
|
@@ -90,6 +91,10 @@ class Tagging
|
|
90
91
|
belongs_to :book
|
91
92
|
end
|
92
93
|
|
94
|
+
class Foreword
|
95
|
+
include DataMapper::Resource
|
96
|
+
property :id, Serial
|
97
|
+
end
|
93
98
|
|
94
99
|
DataMapper.finalize
|
95
100
|
DataMapper.auto_migrate!
|
metadata
CHANGED
@@ -1,156 +1,207 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: dm-rspec
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 31
|
5
5
|
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 1
|
9
|
+
- 2
|
10
|
+
version: 0.1.2
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- Potapov Sergey
|
9
14
|
autorequire:
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
dependencies:
|
15
|
-
- !ruby/object:Gem::Dependency
|
16
|
-
|
17
|
-
requirement: &15883760 !ruby/object:Gem::Requirement
|
17
|
+
|
18
|
+
date: 2011-12-29 00:00:00 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
18
22
|
none: false
|
19
|
-
requirements:
|
20
|
-
- -
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
|
23
|
-
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
hash: 3
|
27
|
+
segments:
|
28
|
+
- 0
|
29
|
+
version: "0"
|
30
|
+
name: dm-core
|
24
31
|
prerelease: false
|
25
|
-
version_requirements: *15883760
|
26
|
-
- !ruby/object:Gem::Dependency
|
27
|
-
name: dm-validations
|
28
|
-
requirement: &15883280 !ruby/object:Gem::Requirement
|
29
|
-
none: false
|
30
|
-
requirements:
|
31
|
-
- - ! '>='
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
32
|
type: :runtime
|
33
|
+
requirement: *id001
|
34
|
+
- !ruby/object:Gem::Dependency
|
35
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
36
|
+
none: false
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
hash: 3
|
41
|
+
segments:
|
42
|
+
- 0
|
43
|
+
version: "0"
|
44
|
+
name: dm-validations
|
35
45
|
prerelease: false
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
46
|
+
type: :runtime
|
47
|
+
requirement: *id002
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
40
50
|
none: false
|
41
|
-
requirements:
|
51
|
+
requirements:
|
42
52
|
- - ~>
|
43
|
-
- !ruby/object:Gem::Version
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
hash: 3
|
55
|
+
segments:
|
56
|
+
- 2
|
57
|
+
- 3
|
58
|
+
- 0
|
44
59
|
version: 2.3.0
|
45
|
-
|
60
|
+
name: rspec
|
46
61
|
prerelease: false
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
62
|
+
type: :development
|
63
|
+
requirement: *id003
|
64
|
+
- !ruby/object:Gem::Dependency
|
65
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
51
66
|
none: false
|
52
|
-
requirements:
|
67
|
+
requirements:
|
53
68
|
- - ~>
|
54
|
-
- !ruby/object:Gem::Version
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
hash: 23
|
71
|
+
segments:
|
72
|
+
- 1
|
73
|
+
- 0
|
74
|
+
- 0
|
55
75
|
version: 1.0.0
|
56
|
-
|
76
|
+
name: bundler
|
57
77
|
prerelease: false
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
78
|
+
type: :development
|
79
|
+
requirement: *id004
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
62
82
|
none: false
|
63
|
-
requirements:
|
83
|
+
requirements:
|
64
84
|
- - ~>
|
65
|
-
- !ruby/object:Gem::Version
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
hash: 7
|
87
|
+
segments:
|
88
|
+
- 1
|
89
|
+
- 6
|
90
|
+
- 4
|
66
91
|
version: 1.6.4
|
67
|
-
|
92
|
+
name: jeweler
|
68
93
|
prerelease: false
|
69
|
-
version_requirements: *15881840
|
70
|
-
- !ruby/object:Gem::Dependency
|
71
|
-
name: rcov
|
72
|
-
requirement: &15881360 !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
|
-
requirements:
|
75
|
-
- - ! '>='
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '0'
|
78
94
|
type: :development
|
95
|
+
requirement: *id005
|
96
|
+
- !ruby/object:Gem::Dependency
|
97
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
98
|
+
none: false
|
99
|
+
requirements:
|
100
|
+
- - ">="
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
hash: 3
|
103
|
+
segments:
|
104
|
+
- 0
|
105
|
+
version: "0"
|
106
|
+
name: rcov
|
79
107
|
prerelease: false
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
108
|
+
type: :development
|
109
|
+
requirement: *id006
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
84
112
|
none: false
|
85
|
-
requirements:
|
113
|
+
requirements:
|
86
114
|
- - ~>
|
87
|
-
- !ruby/object:Gem::Version
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
hash: 15
|
117
|
+
segments:
|
118
|
+
- 1
|
119
|
+
- 2
|
120
|
+
- 8
|
88
121
|
version: 1.2.8
|
89
|
-
|
122
|
+
name: reek
|
90
123
|
prerelease: false
|
91
|
-
version_requirements: *15880880
|
92
|
-
- !ruby/object:Gem::Dependency
|
93
|
-
name: guard-rspec
|
94
|
-
requirement: &15880400 !ruby/object:Gem::Requirement
|
95
|
-
none: false
|
96
|
-
requirements:
|
97
|
-
- - ! '>='
|
98
|
-
- !ruby/object:Gem::Version
|
99
|
-
version: '0'
|
100
124
|
type: :development
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
name: libnotify
|
105
|
-
requirement: &15879920 !ruby/object:Gem::Requirement
|
125
|
+
requirement: *id007
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
version_requirements: &id008 !ruby/object:Gem::Requirement
|
106
128
|
none: false
|
107
|
-
requirements:
|
108
|
-
- -
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
|
111
|
-
|
129
|
+
requirements:
|
130
|
+
- - ">="
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
hash: 3
|
133
|
+
segments:
|
134
|
+
- 0
|
135
|
+
version: "0"
|
136
|
+
name: guard-rspec
|
112
137
|
prerelease: false
|
113
|
-
version_requirements: *15879920
|
114
|
-
- !ruby/object:Gem::Dependency
|
115
|
-
name: ruby-debug19
|
116
|
-
requirement: &15879440 !ruby/object:Gem::Requirement
|
117
|
-
none: false
|
118
|
-
requirements:
|
119
|
-
- - ! '>='
|
120
|
-
- !ruby/object:Gem::Version
|
121
|
-
version: '0'
|
122
138
|
type: :development
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
name: dm-migrations
|
127
|
-
requirement: &15878960 !ruby/object:Gem::Requirement
|
139
|
+
requirement: *id008
|
140
|
+
- !ruby/object:Gem::Dependency
|
141
|
+
version_requirements: &id009 !ruby/object:Gem::Requirement
|
128
142
|
none: false
|
129
|
-
requirements:
|
130
|
-
- -
|
131
|
-
- !ruby/object:Gem::Version
|
132
|
-
|
143
|
+
requirements:
|
144
|
+
- - ">="
|
145
|
+
- !ruby/object:Gem::Version
|
146
|
+
hash: 3
|
147
|
+
segments:
|
148
|
+
- 0
|
149
|
+
version: "0"
|
150
|
+
name: libnotify
|
151
|
+
prerelease: false
|
133
152
|
type: :development
|
153
|
+
requirement: *id009
|
154
|
+
- !ruby/object:Gem::Dependency
|
155
|
+
version_requirements: &id010 !ruby/object:Gem::Requirement
|
156
|
+
none: false
|
157
|
+
requirements:
|
158
|
+
- - ">="
|
159
|
+
- !ruby/object:Gem::Version
|
160
|
+
hash: 3
|
161
|
+
segments:
|
162
|
+
- 0
|
163
|
+
version: "0"
|
164
|
+
name: ruby-debug
|
134
165
|
prerelease: false
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
166
|
+
type: :development
|
167
|
+
requirement: *id010
|
168
|
+
- !ruby/object:Gem::Dependency
|
169
|
+
version_requirements: &id011 !ruby/object:Gem::Requirement
|
139
170
|
none: false
|
140
|
-
requirements:
|
141
|
-
- -
|
142
|
-
- !ruby/object:Gem::Version
|
143
|
-
|
171
|
+
requirements:
|
172
|
+
- - ">="
|
173
|
+
- !ruby/object:Gem::Version
|
174
|
+
hash: 3
|
175
|
+
segments:
|
176
|
+
- 0
|
177
|
+
version: "0"
|
178
|
+
name: dm-migrations
|
179
|
+
prerelease: false
|
144
180
|
type: :development
|
181
|
+
requirement: *id011
|
182
|
+
- !ruby/object:Gem::Dependency
|
183
|
+
version_requirements: &id012 !ruby/object:Gem::Requirement
|
184
|
+
none: false
|
185
|
+
requirements:
|
186
|
+
- - ">="
|
187
|
+
- !ruby/object:Gem::Version
|
188
|
+
hash: 3
|
189
|
+
segments:
|
190
|
+
- 0
|
191
|
+
version: "0"
|
192
|
+
name: dm-sqlite-adapter
|
145
193
|
prerelease: false
|
146
|
-
|
194
|
+
type: :development
|
195
|
+
requirement: *id012
|
147
196
|
description: RSpec matchers for DataMapper
|
148
197
|
email: blake131313@gmail.com
|
149
198
|
executables: []
|
199
|
+
|
150
200
|
extensions: []
|
151
|
-
|
201
|
+
|
202
|
+
extra_rdoc_files:
|
152
203
|
- README.markdown
|
153
|
-
files:
|
204
|
+
files:
|
154
205
|
- .document
|
155
206
|
- .rspec
|
156
207
|
- CHANGELOG.markdown
|
@@ -167,6 +218,7 @@ files:
|
|
167
218
|
- lib/dm/matchers/have_many.rb
|
168
219
|
- lib/dm/matchers/have_many_and_belong_to.rb
|
169
220
|
- lib/dm/matchers/have_many_through.rb
|
221
|
+
- lib/dm/matchers/have_one.rb
|
170
222
|
- lib/dm/matchers/have_property.rb
|
171
223
|
- lib/dm/matchers/validate_format_of.rb
|
172
224
|
- lib/dm/matchers/validate_presence_of.rb
|
@@ -178,35 +230,44 @@ files:
|
|
178
230
|
- spec/dm/matchers/have_many_and_belong_to_spec.rb
|
179
231
|
- spec/dm/matchers/have_many_spec.rb
|
180
232
|
- spec/dm/matchers/have_many_through_spec.rb
|
233
|
+
- spec/dm/matchers/have_one_spec.rb
|
181
234
|
- spec/dm/matchers/have_property_spec.rb
|
182
235
|
- spec/dm/matchers/validate_format_of_spec.rb
|
183
236
|
- spec/dm/matchers/validate_presence_of_spec.rb
|
184
237
|
- spec/dm/matchers/validate_uniquness_of_spec.rb
|
185
238
|
- spec/spec_helper.rb
|
186
|
-
has_rdoc: true
|
187
239
|
homepage: http://github.com/greyblake/dm-rspec
|
188
|
-
licenses:
|
240
|
+
licenses:
|
189
241
|
- MIT
|
190
242
|
post_install_message:
|
191
243
|
rdoc_options: []
|
192
|
-
|
244
|
+
|
245
|
+
require_paths:
|
193
246
|
- lib
|
194
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
247
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
195
248
|
none: false
|
196
|
-
requirements:
|
197
|
-
- -
|
198
|
-
- !ruby/object:Gem::Version
|
199
|
-
|
200
|
-
|
249
|
+
requirements:
|
250
|
+
- - ">="
|
251
|
+
- !ruby/object:Gem::Version
|
252
|
+
hash: 3
|
253
|
+
segments:
|
254
|
+
- 0
|
255
|
+
version: "0"
|
256
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
201
257
|
none: false
|
202
|
-
requirements:
|
203
|
-
- -
|
204
|
-
- !ruby/object:Gem::Version
|
205
|
-
|
258
|
+
requirements:
|
259
|
+
- - ">="
|
260
|
+
- !ruby/object:Gem::Version
|
261
|
+
hash: 3
|
262
|
+
segments:
|
263
|
+
- 0
|
264
|
+
version: "0"
|
206
265
|
requirements: []
|
266
|
+
|
207
267
|
rubyforge_project:
|
208
|
-
rubygems_version: 1.
|
268
|
+
rubygems_version: 1.8.10
|
209
269
|
signing_key:
|
210
270
|
specification_version: 3
|
211
271
|
summary: It's a set of matchers for DataMapper. Something similar to rspec-rails gem.
|
212
272
|
test_files: []
|
273
|
+
|