Sha256: c99b2eadcfd402b45f117434bc5a70ed157c0719c2eee820813c966fe286d2a0

Contents?: true

Size: 1.68 KB

Versions: 2

Compression:

Stored size: 1.68 KB

Contents

module SerializationFormat
  def serialized_record
    AssociatedRecord.cache_has_many :deeply_associated_records, :embed => true
    AssociatedRecord.cache_belongs_to :item, :embed => false
    Item.cache_has_many :associated_records, :embed => true
    Item.cache_has_one :associated
    time = Time.parse('1970-01-01T00:00:00 UTC')

    record = Item.new(:title => 'foo')
    record.associated_records << AssociatedRecord.new(:name => 'bar')
    record.associated_records << AssociatedRecord.new(:name => 'baz')
    record.associated = AssociatedRecord.new(:name => 'bork')
    record.not_cached_records << NotCachedRecord.new(:name => 'NoCache', created_at: time)
    record.associated.deeply_associated_records << DeeplyAssociatedRecord.new(:name => "corge", created_at: time)
    record.associated.deeply_associated_records << DeeplyAssociatedRecord.new(:name => "qux", created_at: time)
    record.created_at = time
    record.save
    [Item, NotCachedRecord, DeeplyAssociatedRecord].each do |model|
      model.update_all(updated_at: time)
    end
    record.reload
    Item.fetch(record.id)

    IdentityCache.fetch(record.primary_cache_index_key) do
      STDERR.puts(
        "\e[31m" \
          "The record could not be retrieved from the cache." \
          "Did you configure MEMCACHED_HOST?" \
          "\e[0m",
      )
      exit(1)
    end
  end

  def serialized_record_file
    File.expand_path("../../fixtures/serialized_record.#{DatabaseConnection.db_name}", __FILE__)
  end

  def serialize(record, anIO = nil)
    hash = {
      :version => IdentityCache::CACHE_VERSION,
      :record => record
    }

    if anIO
      Marshal.dump(hash, anIO)
    else
      Marshal.dump(hash)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
identity_cache-0.5.1 test/helpers/serialization_format.rb
identity_cache-0.5.0 test/helpers/serialization_format.rb