Sha256: 36a195540a8599c3f4bfee4a6b8bb50662eb3de421bafc84594048c61afbc643

Contents?: true

Size: 1.32 KB

Versions: 47

Compression:

Stored size: 1.32 KB

Contents

require 'kaminari/models/active_record_extension'

module ActiveAdmin

  # manually initialize kaminari for this model
  ::ActiveRecord::Base.send :include, Kaminari::ActiveRecordExtension

  class Comment < ActiveRecord::Base
    belongs_to :resource, :polymorphic => true
    belongs_to :author, :polymorphic => true

    attr_accessible :resource, :resource_id, :resource_type, :body, :namespace

    validates_presence_of :resource
    validates_presence_of :body
    validates_presence_of :namespace

    # @returns [String] The name of the record to use for the polymorphic relationship
    def self.resource_type(record)
      record.class.base_class.name.to_s
    end

    def self.resource_id_cast(record)
      # Postgres adapters won't compare strings to numbers (issue 34)
      if resource_id_type == :string
        record.id.to_s
      else
        record.id
      end
    end

    def self.find_for_resource_in_namespace(resource, namespace)
      where(:resource_type => resource_type(resource),
            :resource_id => resource_id_cast(resource),
            :namespace => namespace.to_s)
    end

    def self.resource_id_type
      columns.select { |i| i.name == "resource_id" }.first.type
    end

    def self.table_name
      @table_name ||= ActiveRecord::Migrator.proper_table_name("active_admin_comments")
    end

  end

end

Version data entries

47 entries across 47 versions & 2 rubygems

Version Path
lalala-4.0.0.dev.141 vendor/deps/active_admin/lib/active_admin/comments/comment.rb
lalala-4.0.0.dev.136 vendor/deps/active_admin/lib/active_admin/comments/comment.rb
lalala-4.0.0.dev.135 vendor/deps/active_admin/lib/active_admin/comments/comment.rb
lalala-4.0.0.dev.134 vendor/deps/active_admin/lib/active_admin/comments/comment.rb
lalala-4.0.0.dev.133 vendor/deps/active_admin/lib/active_admin/comments/comment.rb
lalala-4.0.0.dev.132 vendor/deps/active_admin/lib/active_admin/comments/comment.rb
lalala-4.0.0.dev.131 vendor/deps/active_admin/lib/active_admin/comments/comment.rb
lalala-4.0.0.dev.129 vendor/deps/active_admin/lib/active_admin/comments/comment.rb
lalala-4.0.0.dev.128 vendor/deps/active_admin/lib/active_admin/comments/comment.rb
lalala-4.0.0.dev.126 vendor/deps/active_admin/lib/active_admin/comments/comment.rb
lalala-4.0.0.dev.125 vendor/deps/active_admin/lib/active_admin/comments/comment.rb
lalala-4.0.0.dev.124 vendor/deps/active_admin/lib/active_admin/comments/comment.rb
lalala-4.0.0.dev.123 vendor/deps/active_admin/lib/active_admin/comments/comment.rb
lalala-4.0.0.dev.118 vendor/deps/active_admin/lib/active_admin/comments/comment.rb
lalala-4.0.0.dev.116 vendor/deps/active_admin/lib/active_admin/comments/comment.rb
lalala-4.0.0.dev.114 vendor/deps/active_admin/lib/active_admin/comments/comment.rb
lalala-4.0.0.dev.113 vendor/deps/active_admin/lib/active_admin/comments/comment.rb
lalala-4.0.0.dev.111 vendor/deps/active_admin/lib/active_admin/comments/comment.rb
lalala-4.0.0.dev.109 vendor/deps/active_admin/lib/active_admin/comments/comment.rb
lalala-4.0.0.dev.107 vendor/deps/active_admin/lib/active_admin/comments/comment.rb