Sha256: 28602949be91333504c7ded88915d0c2ede00cf3912dce3687ff5d0101b4ab4f

Contents?: true

Size: 1.37 KB

Versions: 118

Compression:

Stored size: 1.37 KB

Contents

module Picky

  module Backends

    class Memory

      # Base class for all memory-based index files.
      #
      # Provides necessary helper methods for its
      # subclasses.
      # Not directly useable, as it does not provide
      # dump/load methods.
      #
      class Basic

        include Helpers::File

        # This file's location.
        #
        attr_reader :cache_path

        # An index cache takes a path, without file extension,
        # which will be provided by the subclasses.
        #
        def initialize cache_path, options = {}
          @cache_path = "#{cache_path}.memory.#{extension}"
          @empty      = options[:empty]
          @initial    = options[:initial]
        end

        # The default extension for index files is "index".
        #
        def extension
          :index
        end

        # The empty index that is used for putting the index
        # together before it is dumped into the files.
        #
        def empty
          @empty && @empty.clone || {}
        end

        # The initial content before loading from file.
        #
        def initial
          @initial && @initial.clone || {}
        end

        # Deletes the file.
        #
        def delete
          `rm -Rf #{cache_path}`
        end

        #
        #
        def to_s
          "#{self.class}(#{cache_path})"
        end

      end

    end

  end

end

Version data entries

118 entries across 118 versions & 1 rubygems

Version Path
picky-4.26.1 lib/picky/backends/memory/basic.rb
picky-4.26.0 lib/picky/backends/memory/basic.rb
picky-4.25.3 lib/picky/backends/memory/basic.rb
picky-4.25.2 lib/picky/backends/memory/basic.rb
picky-4.25.1 lib/picky/backends/memory/basic.rb
picky-4.25.0 lib/picky/backends/memory/basic.rb
picky-4.24.0 lib/picky/backends/memory/basic.rb
picky-4.23.2 lib/picky/backends/memory/basic.rb
picky-4.23.1 lib/picky/backends/memory/basic.rb
picky-4.23.0 lib/picky/backends/memory/basic.rb
picky-4.22.0 lib/picky/backends/memory/basic.rb
picky-4.21.2 lib/picky/backends/memory/basic.rb
picky-4.21.1 lib/picky/backends/memory/basic.rb
picky-4.21.0 lib/picky/backends/memory/basic.rb
picky-4.20.2 lib/picky/backends/memory/basic.rb
picky-4.20.1 lib/picky/backends/memory/basic.rb
picky-4.20.0 lib/picky/backends/memory/basic.rb
picky-4.19.7 lib/picky/backends/memory/basic.rb
picky-4.19.6 lib/picky/backends/memory/basic.rb
picky-4.19.5 lib/picky/backends/memory/basic.rb