Module: ObjectDaddy::ActiveRecordClassMethods
- Defined in:
- lib/object_daddy.rb
Instance Method Summary collapse
- #exemplar_path ⇒ Object
-
#generate(args = {}) ⇒ Object
:call-seq: generate() generate() do |obj| …
-
#generate!(args = {}) ⇒ Object
:call-seq: generate() generate() do |obj| …
- #root_dir ⇒ Object
- #validates_presence_of_with_object_daddy(*attr_names) ⇒ Object
- #validates_with_object_daddy(*args) ⇒ Object
Instance Method Details
#exemplar_path ⇒ Object
210 211 212 213 214 215 216 217 |
# File 'lib/object_daddy.rb', line 210 def exemplar_path ['spec', 'test'].inject([]) do |array, dir| if File.directory?(File.join(root_dir, dir)) array << File.join(root_dir, dir, 'exemplars') end array end end |
#generate(args = {}) ⇒ Object
:call-seq:
generate()
generate() do |obj| ... end
generate(args)
generate(args) do |obj| ... end
Creates and tries to save an instance of this class, using any known generators. The generated instance is yielded to a block if provided.
This will not raise errors on a failed save. Use generate! if you want errors raised.
246 247 248 249 250 251 |
# File 'lib/object_daddy.rb', line 246 def generate(args = {}) spawn(args) do |instance| instance.save yield instance if block_given? end end |
#generate!(args = {}) ⇒ Object
:call-seq:
generate()
generate() do |obj| ... end
generate(args)
generate(args) do |obj| ... end
Creates and tries to save! an instance of this class, using any known generators. The generated instance is yielded to a block if provided.
This will raise errors on a failed save. Use generate if you do not want errors raised.
264 265 266 267 268 269 |
# File 'lib/object_daddy.rb', line 264 def generate!(args = {}) spawn(args) do |instance| instance.save! yield instance if block_given? end end |
#root_dir ⇒ Object
202 203 204 205 206 207 208 |
# File 'lib/object_daddy.rb', line 202 def root_dir if defined? Rails Rails.root else ENV['ROOT_DIR'] || ENV['PWD'] end end |
#validates_presence_of_with_object_daddy(*attr_names) ⇒ Object
219 220 221 222 223 224 225 |
# File 'lib/object_daddy.rb', line 219 def validates_presence_of_with_object_daddy(*attr_names) @presence_validated_attributes ||= {} new_attr = attr_names.dup new_attr.pop if new_attr.last.is_a?(Hash) new_attr.each {|a| @presence_validated_attributes[a] = true } validates_presence_of_without_object_daddy(*attr_names) end |
#validates_with_object_daddy(*args) ⇒ Object
227 228 229 230 231 232 233 |
# File 'lib/object_daddy.rb', line 227 def validates_with_object_daddy(*args) if args.last.is_a?(Hash) && args.last[:presence] @presence_validated_attributes ||= {} @presence_validated_attributes[args.first] = true end validates_without_object_daddy(*args) end |