class Argumenta::Storage::DHT

A DHT data store for Argumenta objects.

Attributes

hash[RW]

Public Class Methods

new(options = {}) click to toggle source
# File lib/argumenta/storage/dht.rb, line 9
def initialize(options = {})
  @hash = ::DHT::Hash.new options
end

Public Instance Methods

add_proposition(proposition) click to toggle source
# File lib/argumenta/storage/dht.rb, line 13
def add_proposition(proposition)
  Argumenta::Proposition.validate proposition
  sha1 = proposition.sha1()
  @hash[sha1] = proposition.text
end
get_proposition(sha1) click to toggle source
# File lib/argumenta/storage/dht.rb, line 19
def get_proposition(sha1)
  text = @hash[sha1]
  unless text
    raise RetrievalError, "No proposition found for '#{sha1}'."
  end
  proposition = Argumenta::Proposition.new text
end