Sha256: 2ac945ef32193a8abfcd99abac86209d482cb4fd15b26a1610622e23d819f810

Contents?: true

Size: 865 Bytes

Versions: 15

Compression:

Stored size: 865 Bytes

Contents

# -*- encoding : utf-8 -*-

def virtual?
  new?
end

# the content to be cached
# (can be overridden)
def virtual_content
  attributes["db_content"]
end

def db_content
  Virtual.fetch(self)&.content
end

def updated_at
  Virtual.fetch(self)&.updated_at
end

event :save_virtual_content, :prepare_to_store, on: :save do
  Virtual.save self
  abort :success
end

event :delete_virtual_content, :prepare_to_store, on: :delete do
  Virtual.delete self
  abort :success unless real?
end

# TODO: confirm that the following are needed (and if so, explain why)
# in theory, if we always abort, we'll never trigger history/follow events,
# and we'll never have a card to delete, no?

def history?
  false
end

def followable?
  false
end

def delete
  # delete although it's new
  update trash: true
end

def delete!
  # delete although it's new
  update! trash: true
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
card-mod-virtual-0.18.1 set/abstract/virtual_cache.rb
card-mod-virtual-0.18.0 set/abstract/virtual_cache.rb
card-mod-virtual-0.17.0 set/abstract/virtual_cache.rb
card-mod-virtual-0.16.0 set/abstract/virtual_cache.rb
card-mod-virtual-0.15.6 set/abstract/virtual_cache.rb
card-mod-virtual-0.15.5 set/abstract/virtual_cache.rb
card-mod-virtual-0.15.4 set/abstract/virtual_cache.rb
card-mod-virtual-0.15.3 set/abstract/virtual_cache.rb
card-mod-virtual-0.15.2.pre1 set/abstract/virtual_cache.rb
card-mod-virtual-0.15.1.1 set/abstract/virtual_cache.rb
card-mod-virtual-0.15.1 set/abstract/virtual_cache.rb
card-mod-virtual-0.15.0 set/abstract/virtual_cache.rb
card-mod-virtual-0.14.2 set/abstract/virtual_cache.rb
card-mod-virtual-0.14.1 set/abstract/virtual_cache.rb
card-mod-virtual-0.14.0 set/abstract/virtual_cache.rb