Sha256: 269e689b46a9088655009ca1cff662e237a7bc344dfcd9c415a0b0f16687107f

Contents?: true

Size: 1.05 KB

Versions: 20

Compression:

Stored size: 1.05 KB

Contents

require 'versions'

class Attachment < Versions::SharedAttachment

  before_save   :set_visitor_id, :set_site_id

  def filepath(format=nil)
    mode   = format ? (format[:size] == :keep ? 'full' : format[:name]) : 'full'
    "#{SITES_ROOT}#{current_site.data_path}/#{mode}/#{super()}"
  end

  private
    def set_visitor_id
      self['user_id'] = visitor.id
    end

    def set_site_id
      self['site_id'] = current_site.id
    end

    # When destoying an image, make sur to delete all iformats and their corresponding folders.
    def remove_file
      visitor.site.iformats.each do |k,v|
        next if k == :updated_at
        fpath = filepath(v)
        if File.exist?(fpath)
          FileUtils.rm(fpath)
          folder = File.dirname(fpath)
          if Dir.empty?(folder)
            # rm parent folder
            FileUtils::rmtree(folder)
            folder = File.dirname(folder)
            if Dir.empty?(folder)
              # rm parent / parent folder
              FileUtils::rmtree(folder)
            end
          end
        end
      end
    end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
zena-1.2.8 app/models/attachment.rb
zena-1.2.7 app/models/attachment.rb
zena-1.2.6 app/models/attachment.rb
zena-1.2.5 app/models/attachment.rb
zena-1.2.4 app/models/attachment.rb
zena-1.2.3 app/models/attachment.rb
zena-1.2.2 app/models/attachment.rb
zena-1.2.1 app/models/attachment.rb
zena-1.2.0 app/models/attachment.rb
zena-1.1.3 app/models/attachment.rb
zena-1.1.2 app/models/attachment.rb
zena-1.1.1 app/models/attachment.rb
zena-1.1.0 app/models/attachment.rb
zena-1.0.0 app/models/attachment.rb
zena-1.0.0.rc3 app/models/attachment.rb
zena-1.0.0.rc2 app/models/attachment.rb
zena-1.0.0.rc1 app/models/attachment.rb
zena-1.0.0.beta3 app/models/attachment.rb
zena-1.0.0.beta2 app/models/attachment.rb
zena-1.0.0.beta1 app/models/attachment.rb