Sha256: f1339945eb11ce3162ca7afedddb59409f831a63c42b386821479468e99b5f0d

Contents?: true

Size: 537 Bytes

Versions: 4

Compression:

Stored size: 537 Bytes

Contents

# frozen_string_literal: true

require 'json'

class LocalStorage
  def store(key, value)
    setup
    config = load_config
    config[key.to_s] = value
    write_config(config)
  end

  def load(key)
    config = load_config
    config[key.to_s]
  end

  private

  def load_config
    JSON.parse(File.read('.local_storage'))
  end

  def write_config(config)
    File.write('.local_storage', config.to_json)
    File.chmod(0o600, '.local_storage')
  end

  def setup
    write_config({}) unless File.exist? '.local_storage'
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
renuo-cli-4.5.0 lib/renuo/cli/app/local_storage.rb
renuo-cli-4.3.0 lib/renuo/cli/app/local_storage.rb
renuo-cli-4.2.1 lib/renuo/cli/app/local_storage.rb
renuo-cli-4.2.0 lib/renuo/cli/app/local_storage.rb