module DuckPuncher::Ducks::ActiveRecord

Public Class Methods

included(base) click to toggle source
# File lib/duck_puncher/ducks/active_record.rb, line 4
def self.included(base)
  base.extend(ClassMethods)
end

Public Instance Methods

associations() click to toggle source
# File lib/duck_puncher/ducks/active_record.rb, line 12
def associations
  results = []
  refls = send respond_to?(:reflections) ? :reflections : :_reflections
  refls.each do |key, reflection|
    begin
      if reflection.macro.to_s =~ /many/ ? public_send(key).exists? : public_send(key).present?
        results << key
      end
    rescue
      nil
    end
  end
  results
end
associations?() click to toggle source
# File lib/duck_puncher/ducks/active_record.rb, line 8
def associations?
  associations.present?
end