Sha256: eb7104dd14f2d2238a752e86db57c0dfe26bb17af8f857fe82f14ef6f31fe877

Contents?: true

Size: 1.01 KB

Versions: 5

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 = 'redactor_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

5 entries across 5 versions & 1 rubygems

Version Path
redactor3_rails-0.1.5 lib/redactor3_rails/orm/active_record.rb
redactor3_rails-0.1.4 lib/redactor3_rails/orm/active_record.rb
redactor3_rails-0.1.3 lib/redactor3_rails/orm/active_record.rb
redactor3_rails-0.1.2 lib/redactor3_rails/orm/active_record.rb
redactor3_rails-0.1.1 lib/redactor3_rails/orm/active_record.rb