Sha256: f4ed9c25b7d59c394f897f48ef73bb0c84c271e85cd4350410269bd7d68172eb

Contents?: true

Size: 990 Bytes

Versions: 45

Compression:

Stored size: 990 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 # TODO Symbols.
        end

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

        #
        #
        def dump_json internal
          ::File.open(cache_path, 'w') do |out_file|
            Yajl::Encoder.encode internal, out_file
          end
        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

45 entries across 45 versions & 1 rubygems

Version Path
picky-4.4.2 lib/picky/backends/memory/json.rb
picky-4.4.1 lib/picky/backends/memory/json.rb
picky-4.4.0 lib/picky/backends/memory/json.rb
picky-4.3.2 lib/picky/backends/memory/json.rb
picky-4.3.1 lib/picky/backends/memory/json.rb
picky-4.3.0 lib/picky/backends/memory/json.rb
picky-4.2.4 lib/picky/backends/memory/json.rb
picky-4.2.3 lib/picky/backends/memory/json.rb
picky-4.2.2 lib/picky/backends/memory/json.rb
picky-4.2.1 lib/picky/backends/memory/json.rb
picky-4.2.0 lib/picky/backends/memory/json.rb
picky-4.1.0 lib/picky/backends/memory/json.rb
picky-4.0.9 lib/picky/backends/memory/json.rb
picky-4.0.8 lib/picky/backends/memory/json.rb
picky-4.0.7 lib/picky/backends/memory/json.rb
picky-4.0.6 lib/picky/backends/memory/json.rb
picky-4.0.5 lib/picky/backends/memory/json.rb
picky-4.0.4 lib/picky/backends/memory/json.rb
picky-4.0.3 lib/picky/backends/memory/json.rb
picky-4.0.1 lib/picky/backends/memory/json.rb