Sha256: 180d142f68aa802eaacde3f8ad702bd4decd3dbe62ac7ed407a2795bacd9da2a

Contents?: true

Size: 601 Bytes

Versions: 2

Compression:

Stored size: 601 Bytes

Contents

module Partisan
  class Helper
    # Retrieves the parent class name
    def self.parent_class_name(obj)
      # If the object is an ActiveRecord record
      klass = obj.class if obj.class < ActiveRecord::Base

      # If the object respond to `object` and the value is an ActiveRecord record
      klass ||= obj.object.class if obj.respond_to?(:object) && obj.object.class < ActiveRecord::Base

      # In case we’re using STI, loop back until we find the top-level ActiveRecord model
      klass = klass.superclass while klass.superclass != ActiveRecord::Base

      klass.name
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
partisan-0.4.2 lib/partisan/helper.rb
partisan-0.4.1 lib/partisan/helper.rb