Sha256: f5f9250e1c5d5626a1d722f62a5788a67a580f2ffab4b7ed2292b9a694debcf3

Contents?: true

Size: 1.48 KB

Versions: 5

Compression:

Stored size: 1.48 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)
  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

5 entries across 5 versions & 1 rubygems

Version Path
identity_cache-0.4.1 test/helpers/serialization_format.rb
identity_cache-0.4.0 test/helpers/serialization_format.rb
identity_cache-0.3.2 test/helpers/serialization_format.rb
identity_cache-0.3.1 test/helpers/serialization_format.rb
identity_cache-0.3.0 test/helpers/serialization_format.rb