Sha256: ecd1305e73953684cc7721b8f5e5b7580df1a3f20e16014534a65d28191c2cb5
Contents?: true
Size: 1.33 KB
Versions: 2
Compression:
Stored size: 1.33 KB
Contents
require 'json' require 'base64' require File.dirname(__FILE__) + '/response' module NSISam class FakeClient def initialize @storage = {} end def store(data) key = Time.now.to_i.to_s @storage[key] = JSON.load(data.to_json) {'key' => key, 'checksum' => 0} end def store_file(file, type=:file) key = Time.now.to_i.to_s @storage[key] = {type.to_s => Base64.encode64(file)}.to_json Response.new "key" => key, "checksum" => 0 end def get(key, expected_checksum=nil) if @storage.has_key?(key) {'data' => @storage[key]} else raise NSISam::Errors::Client::KeyNotFoundError end end def get_file(key, type=:file) if @storage.has_key?(key) response = Hash.new 'data' => Base64.decode64(@storage[key][type.to_s]) Response.new response else raise NSISam::Errors::Client::KeyNotFoundError end end def delete(key) if @storage.has_key?(key) @storage.delete key {'deleted' => true} else raise NSISam::Errors::Client::KeyNotFoundError end end def update(key, value) if @storage.has_key?(key) @storage[key] = value {'key' => key, 'checksum' => 0} else raise NSISam::Errors::Client::KeyNotFoundError end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
nsisam-0.6.1 | lib/nsisam/fake_client.rb |
nsisam-0.6.0 | lib/nsisam/fake_client.rb |