Sha256: 92f3d8a1f18ea9b056e8f21f09431e449577bfe3508588fbf67b61ba492e491b

Contents?: true

Size: 777 Bytes

Versions: 23

Compression:

Stored size: 777 Bytes

Contents

module Dockit
  class Volume
    attr_reader :volume

    class << self
      def list(dangling: false)
        fetch(dangling: dangling)
      end

      # can't remove non-dangling containers, so don't bother
      # with "force" argument
      def clean
        puts "Volumes..."
        (list(dangling: true)||[]).each do |volume|
          name = volume['Name']
          puts "  #{name}"
          delete(name)
        end
      end

      def delete(name)
        Docker.connection.delete("/volumes/#{name}")
      end


      private
      def fetch(path='', dangling: false)
        Docker::Util.parse_json(
          Docker.connection.get(
          "/volumes#{path}", filters: JSON.dump({dangling: [dangling.to_s]}))
        )['Volumes']
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
dockit-5.2.1 lib/dockit/volume.rb
dockit-5.2.0 lib/dockit/volume.rb
dockit-5.0.0 lib/dockit/volume.rb
dockit-4.3.0 lib/dockit/volume.rb
dockit-4.2.0 lib/dockit/volume.rb
dockit-4.1.2 lib/dockit/volume.rb
dockit-4.1.1 lib/dockit/volume.rb
dockit-4.1.0 lib/dockit/volume.rb
dockit-4.0.1 lib/dockit/volume.rb
dockit-4.0.0 lib/dockit/volume.rb
dockit-3.4.0 lib/dockit/volume.rb
dockit-3.3.0 lib/dockit/volume.rb
dockit-3.2.0 lib/dockit/volume.rb
dockit-3.1.3 lib/dockit/volume.rb
dockit-3.1.1 lib/dockit/volume.rb
dockit-3.1.0 lib/dockit/volume.rb
dockit-3.0.0 lib/dockit/volume.rb
dockit-2.1.0 lib/dockit/volume.rb
dockit-2.0.1 lib/dockit/volume.rb
dockit-1.8.0 lib/dockit/volume.rb