Sha256: bf1fb43ac46be18539fa91b2e4e77a81a294eb05f30c4d00258fed44e5b2628c

Contents?: true

Size: 1.14 KB

Versions: 1

Compression:

Stored size: 1.14 KB

Contents

module Uploader
  module Asset
    # Save asset
    # Usage:
    #
    #   class Asset < ActiveRecord::Base
    #     include Uploader::Asset
    #     
    #     def uploader_create(params, request = nil)
    #       self.user = request.env['warden'].user
    #       super
    #     end
    #   end
    #
    def uploader_create(params, request = nil)
      self.guid = params[:guid]
      self.assetable_type = params[:assetable_type]
      if self.class.respond_to?(:collection)
        self.assetable_id = Moped::BSON::ObjectId.from_string(params[:assetable_id])
      else
        self.assetable_id = params[:assetable_id]
      end

      save
    end

    # Destroy asset
    # Usage (cancan example):
    #
    #   class Asset < ActiveRecord::Base
    #     include Uploader::Asset
    #     
    #     def uploader_destroy(params, request = nil)
    #       ability = Ability.new(request.env['warden'].user)
    #       if ability.can? :delete, self
    #         super
    #       else
    #         errors.add(:id, :access_denied)
    #       end
    #     end
    #   end
    #
    def uploader_destroy(params, request)
      destroy
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
glebtv-rails-uploader-0.0.8 lib/uploader/asset.rb