Sha256: d2da5a64ab9d9e8068ef4e852b1050da24e3eeaa0a7c8b21767a85409fbbd865

Contents?: true

Size: 520 Bytes

Versions: 1

Compression:

Stored size: 520 Bytes

Contents

class AllFutures < ActiveEntity::Base
  attr_accessor :id

  def initialize(attributes={})
    super
    unless @id
      @id = SecureRandom.uuid
      save
    end
  end

  def []=(attr_name, value)
    super
    save
  end

  def save
    Kredis.json("#{self.class.name}:#{@id}").value = self.attributes
    changes_applied
  end

  def self.find(id)
    raise ArgumentError unless id
    json = Kredis.json("#{name}:#{id}").value
    raise ActiveRecord::RecordNotFound unless json
    new json.merge(id: id)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
all_futures-1.0.3 lib/all_futures/all_futures.rb