Sha256: eb6e621d49441b62793072e8b1e38dee68276c85bd1e3d3f267ddb71e8112ab0

Contents?: true

Size: 581 Bytes

Versions: 1

Compression:

Stored size: 581 Bytes

Contents

module ActsAsUser
  module IsUser

    def self.included(base)
      base.belongs_to :userable, polymorphic: true
      base.extend ClassMethods
      #loads models acting as users when the hook is loaded
      base.define_models_acting_as_users
    end

    module ClassMethods
      def define_models_acting_as_users
        ActsAsUser.models_acting_as_users.each do |model_class_name|
          define_method("#{model_class_name.to_s.downcase}?") do
            self.userable_type.downcase == model_class_name.to_s.downcase
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
acts_as_user-1.2.1 lib/acts_as_user/is_user.rb