object-daddy 1.1.1 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/object_daddy.rb +15 -7
- data/object-daddy.gemspec +2 -2
- metadata +3 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.2.0
|
data/lib/object_daddy.rb
CHANGED
@@ -3,7 +3,7 @@ module ObjectDaddy
|
|
3
3
|
def self.included(klass)
|
4
4
|
klass.extend ClassMethods
|
5
5
|
if defined? ActiveRecord and klass < ActiveRecord::Base
|
6
|
-
klass.extend
|
6
|
+
klass.extend ActiveRecordClassMethods
|
7
7
|
|
8
8
|
class << klass
|
9
9
|
alias_method :validates_presence_of_without_object_daddy, :validates_presence_of
|
@@ -130,7 +130,7 @@ module ObjectDaddy
|
|
130
130
|
|
131
131
|
protected
|
132
132
|
|
133
|
-
# we define an underscore helper ourselves since the ActiveSupport isn't available if we're not using
|
133
|
+
# we define an underscore helper ourselves since the ActiveSupport isn't available if we're not using AR
|
134
134
|
def underscore(string)
|
135
135
|
string.gsub(/([a-z])([A-Z])/, '\1_\2').gsub(/::/,'_').downcase
|
136
136
|
end
|
@@ -186,9 +186,9 @@ module ObjectDaddy
|
|
186
186
|
(presence_validated_attributes.keys - args.keys).each {|a| req[a.to_s] = true } # find attributes required by validates_presence_of not already set
|
187
187
|
|
188
188
|
belongs_to_associations = reflect_on_all_associations(:belongs_to).to_a
|
189
|
-
fk_method =
|
189
|
+
fk_method = ActiveRecord::VERSION::STRING >= "3.1.0" ? :foreign_key : :primary_key_name
|
190
190
|
missing = belongs_to_associations.select { |a| req[a.name.to_s] or req[a.send(fk_method).to_s] }
|
191
|
-
#
|
191
|
+
# AR 3.1 compatibility jazz - current_scoped_methods was deprecated.
|
192
192
|
if scope = respond_to?(:current_scoped_methods) ? current_scoped_methods : current_scope
|
193
193
|
missing.reject! { |a| scope.scope_for_create.include?(a.send(fk_method)) }
|
194
194
|
end
|
@@ -198,11 +198,19 @@ module ObjectDaddy
|
|
198
198
|
end
|
199
199
|
end
|
200
200
|
|
201
|
-
module
|
201
|
+
module ActiveRecordClassMethods
|
202
|
+
def root_dir
|
203
|
+
if defined? Rails
|
204
|
+
Rails.root
|
205
|
+
else
|
206
|
+
ENV['ROOT_DIR'] || ENV['PWD']
|
207
|
+
end
|
208
|
+
end
|
209
|
+
|
202
210
|
def exemplar_path
|
203
211
|
['spec', 'test'].inject([]) do |array, dir|
|
204
|
-
if File.directory?(File.join(
|
205
|
-
array << File.join(
|
212
|
+
if File.directory?(File.join(root_dir, dir))
|
213
|
+
array << File.join(root_dir, dir, 'exemplars')
|
206
214
|
end
|
207
215
|
array
|
208
216
|
end
|
data/object-daddy.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "object-daddy"
|
8
|
-
s.version = "1.
|
8
|
+
s.version = "1.2.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Rick Bradley", "Yossef Mendelssohn", "Jeremy Holland"]
|
12
|
-
s.date = "2013-06-
|
12
|
+
s.date = "2013-06-30"
|
13
13
|
s.description = "Object Daddy is a library (as well as a Ruby on Rails plugin) designed to assist in automating testing of large collections of objects, especially webs of ActiveRecord models. It is a descendent of the \"Object Mother\" pattern for creating objects for testing, and is related to the concept of an \"object exemplar\" or stereotype."
|
14
14
|
s.email = ["blogicx@rickbradley.com", "ymendel@pobox.com", "jeremy@jeremypholland.com"]
|
15
15
|
s.extra_rdoc_files = [
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: object-daddy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2013-06-
|
14
|
+
date: 2013-06-30 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rspec
|
@@ -219,7 +219,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
219
219
|
version: '0'
|
220
220
|
segments:
|
221
221
|
- 0
|
222
|
-
hash:
|
222
|
+
hash: 3406508294409145889
|
223
223
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
224
224
|
none: false
|
225
225
|
requirements:
|