Sha256: 3fa33ea32eb7ab6e91f8fb1adda14d59d4449bafc5bc4ce524a56ed3ef870289
Contents?: true
Size: 1004 Bytes
Versions: 2
Compression:
Stored size: 1004 Bytes
Contents
# frozen_string_literal: true module Fixtury # Acts as an reference between the schema and an object in some remote store. # The Store uses these references to keep track of the fixtures it has created. # The references are used by the locator to retrieve the fixture data from whatever # backend is being used. class Reference # A special key used to indicate that the a definition is currently building an # object for this locator_key. This is used to prevent circular dependencies. HOLDER_KEY = "__BUILDING_FIXTURE__" def self.holder(name) new(name, HOLDER_KEY) end attr_reader :name, :locator_key, :created_at, :metadata alias options metadata # backwards compatibility def initialize(name, locator_key, **metadata) @name = name @locator_key = locator_key @created_at = Fixtury.now.to_i @metadata = metadata end def holder? locator_key == HOLDER_KEY end def real? !holder? end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
fixtury-2.0.0 | lib/fixtury/reference.rb |
fixtury-1.0.1 | lib/fixtury/reference.rb |