Sha256: 6c309ede2169b16d36e4003c6f92c9b295e52baa98f266d3d00851b0d2af6e97
Contents?: true
Size: 1.3 KB
Versions: 2
Compression:
Stored size: 1.3 KB
Contents
module FixtureReplacement module ClassMethods def included(_other_mod) FixtureReplacement.load_example_data end def attributes_for(fixture_name, options={}, &block) builder = AttributeBuilder.new(fixture_name, options, &block) MethodGenerator.new(builder, self).generate_methods end def validate! AttributeBuilder.validate_instances! end def random_string(length=10) chars = ("a".."z").to_a string = "" 1.upto(length) { |i| string << chars[rand(chars.size-1)]} string end def load_example_data load "#{rails_root}/db/example_data.rb" # rescue NameError # load "./db/example_data.rb" rescue LoadError, NameError # no-op. If the file is not found, don't panic end def rails_root ::Rails.root rescue NameError "." end def reload! AttributeBuilder.clear_out_instances! load File.expand_path(File.dirname(__FILE__) + "/../fixture_replacement.rb") end private # Any user defined instance methods need the module's class scope to be # accessible inside the block given to attributes_for # # Addresses bug #16858 (see CHANGELOG) def method_added(method) module_function method if method != :method_added public method end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
fixture_replacement-4.0.1 | lib/fixture_replacement/class_methods.rb |
fixture_replacement-4.0.0 | lib/fixture_replacement/class_methods.rb |