Sha256: 939c0611473fb21c198c7e2b4d2e6709a6c759e2c6c3afa28cae76d55b0fd82c

Contents?: true

Size: 749 Bytes

Versions: 5

Compression:

Stored size: 749 Bytes

Contents

module Boxroom
  class Clipboard
    def initialize
      setup
    end

    def folders
      Folder.where(:id => @folders)
    end

    def files
      UserFile.where(:id => @files)
    end

    def add(item)
      if item.class == Folder
        @folders << item.id unless @folders.include?(item.id)
      else
        @files << item.id unless @files.include?(item.id)
      end
    end

    def remove(item)
      if item.class == Folder
        @folders.delete(item.id)
      else
        @files.delete(item.id)
      end
    end

    def empty?
      (@folders.empty? || folders.empty?) && (@files.empty? || files.empty?)
    end

    def reset
      setup
    end

    private

    def setup
      @folders, @files = [], []
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
boxroom-0.0.5 app/models/boxroom/clipboard.rb
boxroom-0.0.4 app/models/boxroom/clipboard.rb
boxroom-0.0.3 app/models/boxroom/clipboard.rb
boxroom-0.0.2 app/models/boxroom/clipboard.rb
boxroom-0.0.1 app/models/boxroom/clipboard.rb