Sha256: 90ae9cc160b942be8af8a5bb327a862b17acbd042ba74007dc013e7ce196dd3f

Contents?: true

Size: 779 Bytes

Versions: 5

Compression:

Stored size: 779 Bytes

Contents

module Picky

  module Backends

    class Memory

      # Memory-based index files dumped in the JSON format.
      #
      class JSON < Basic

        # Uses the extension "json".
        #
        def extension
          :json
        end

        # Loads the index hash from json format.
        #
        def load
          Yajl::Parser.parse ::File.open(cache_path, 'r'), symbolize_keys: true
        end

        # Dumps the index hash in json format.
        #
        def dump hash
          create_directory cache_path
          hash.dump_json cache_path
        end

        # A json file does not provide retrieve functionality.
        #
        def retrieve
          raise "Can't retrieve from JSON file. Use text file."
        end

      end

    end

  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
picky-3.4.0 lib/picky/backends/memory/json.rb
picky-3.3.3 lib/picky/backends/memory/json.rb
picky-3.3.2 lib/picky/backends/memory/json.rb
picky-3.3.1 lib/picky/backends/memory/json.rb
picky-3.3.0 lib/picky/backends/memory/json.rb