module TestSeeds::ClassMethods
Public Instance Methods
defined_seeds()
click to toggle source
# File lib/test_seeds.rb, line 51 def defined_seeds @defined_seeds ||= {} end
seeds(name = nil, &block)
click to toggle source
# File lib/test_seeds.rb, line 30 def seeds(name = nil, &block) set_callback(:seed, :before) do pre_vars = self.instance_variables self.instance_eval &block post_vars = self.instance_variables (post_vars - pre_vars).each do |seed_var| seed_name = seed_var.to_s[1..-1] next if seed_name.starts_with?("_") seed_accessor = self.set_seed_fixture(seed_name, self.instance_variable_get(seed_var)) self.instance_variable_set(seed_var, nil) # avoid memory bloat defined_seeds = self.class.defined_seeds defined_seeds[name] ||= {} defined_seeds[name][seed_var] = seed_accessor end end end