module ThoughtBot::Shoulda::Controller::Helpers
def get_existing_record(res) # :nodoc:
def get_existing_record(res) # :nodoc: returning(instance_variable_get("@#{res.object}")) do |record| assert(record, "This test requires you to set @#{res.object} in your setup block") end end
def instantiate_variables_from_assigns(*names, &blk)
def instantiate_variables_from_assigns(*names, &blk) old = {} names = (@response.template.assigns.keys - SPECIAL_INSTANCE_VARIABLES) if names.empty? names.each do |name| old[name] = instance_variable_get("@#{name}") instance_variable_set("@#{name}", assigns(name.to_sym)) end blk.call names.each do |name| instance_variable_set("@#{name}", old[name]) end end
def make_parent_params(resource, record = nil, parent_names = nil) # :nodoc:
def make_parent_params(resource, record = nil, parent_names = nil) # :nodoc: parent_names ||= resource.parents.reverse return {} if parent_names == [] # Base case parent_name = parent_names.shift parent = record ? record.send(parent_name) : parent_name.to_s.classify.constantize.find(:first) { :"#{parent_name}_id" => parent.to_param }.merge(make_parent_params(resource, parent, parent_names)) end