Sha256: f8a3e552eb24013653188757858b6ca8ddec5bb0cd29ded2d56541636bc894c2

Contents?: true

Size: 1.01 KB

Versions: 1

Compression:

Stored size: 1.01 KB

Contents

require 'redactor3_rails/orm/base'

module Redactor3Rails
  module Orm
    module ActiveRecord
      module AssetBase
        def self.included(base)
          base.send(:include, Base::AssetBase::InstanceMethods)
          base.send(:extend, ClassMethods)
        end

        module ClassMethods
          def self.extended(base)
            base.class_eval do
              self.table_name = 'redactor3_assets'

              belongs_to :assetable, :polymorphic => true
              belongs_to Redactor3Rails.devise_user, :foreign_key => Redactor3Rails.devise_user_key

              if defined?(ActiveModel::ForbiddenAttributesProtection) && base.ancestors.include?(ActiveModel::ForbiddenAttributesProtection)
                # Ok
              elsif defined?(ActiveModel::MassAssignmentSecurity) && base.ancestors.include?(ActiveModel::MassAssignmentSecurity)
                attr_accessible :data, :assetable_type, :assetable_id, :assetable
              end
            end
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
redactor3_rails-0.1.0 lib/redactor3_rails/orm/active_record.rb