Sha256: 31fa9a837aa719190b1189d781c7901a34393afbe58dcfde68b000b7a17f56b7
Contents?: true
Size: 1019 Bytes
Versions: 2
Compression:
Stored size: 1019 Bytes
Contents
module Rico module Object extend Forwardable def_delegators :riak_object, :conflict?, :delete, :store # Initialize an object with a bucket and key # # bucket - the name of the bucket (not prefixed by a namespace) # key - the name of the key # # Returns nothing def initialize(bucket, key) @bucket, @key = bucket, key end def data @data ||= riak_object.data end # Sets a new value on the object and stores it # # value - new value to set # # Returns the result of the store operation def mutate(value) @data = value riak_object.data = value store end # Determine whether an object exists or not # # Returns true or false def exists? Rico.bucket(@bucket).exists? @key end protected def type_key name = self.class.name.split("::").last Rico::TYPES[name] end def riak_object @riak_object ||= Rico.bucket(@bucket).get_or_new @key end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rico-0.2.0 | lib/rico/object.rb |
rico-0.1.0 | lib/rico/object.rb |