Sha256: bdeec6f1090b93f504ed8a5bb37d4762f3ea3fcb11cf66738e8c9a9b738a6e8d

Contents?: true

Size: 505 Bytes

Versions: 9

Compression:

Stored size: 505 Bytes

Contents

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(0600, '.local_storage')
  end

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

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
renuo-cli-0.0.9 lib/renuo/cli/app/local_storage.rb
renuo-cli-0.0.8 lib/renuo/cli/app/local_storage.rb
renuo-cli-0.0.7 lib/renuo/cli/app/local_storage.rb
renuo-cli-0.0.6 lib/renuo/cli/app/local_storage.rb
renuo-cli-0.0.5 lib/renuo/cli/app/local_storage.rb
renuo-cli-0.0.4 lib/renuo/cli/app/local_storage.rb
renuo-cli-0.0.3 lib/renuo/cli/app/local_storage.rb
renuo-cli-0.0.2 lib/renuo/cli/app/local_storage.rb
renuo-cli-0.0.1 lib/renuo/cli/app/local_storage.rb