ActiveInteraction and a big amount of other frameworks are using 
ActiveModel::Errors to implement errors.

When combined with other gems or frameworks that are using ActiveModel it 
is difficult to find out what class have called 
`ActiveModel::Errors.new(self)`. For example the following case:

module MyAwesomeFramework
  class Errors < ActiveModel::Errors
    def merge!(other_instance_of_active_model_errors)
      if other_instance_of_active_model_errors.called_by? User # User is an 
ActiveRecord::Base
        # Use ActiveModel's error translations
      else
        # Do magic to decide what translations to use
      end
    end
  end
end



That is why I propose to expose something like

class ActiveModel::Errors

  #...

  def called_by?(klass)
    caller.class == klass
  end

  def caller
    @base
  end

  #...

end

Not sure about the name of method however.


Thanks in advance, 

Ivan

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-core+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-core@googlegroups.com.
Visit this group at https://groups.google.com/group/rubyonrails-core.
For more options, visit https://groups.google.com/d/optout.

Reply via email to