Sha256: a8f42ee5819155b27e12ea6d71cea63068531b71db53ea624f2a10946629a69f

Contents?: true

Size: 579 Bytes

Versions: 2

Compression:

Stored size: 579 Bytes

Contents

#typed: strict

require 'singleton'

module DVLA
  module Atlas
    class Holder
      extend T::Sig
      include Singleton

      sig { returns(DVLA::Atlas::Artefacts) }
      attr_accessor :artefacts

      # The below is required by Sorbet. While the flow of the code within Atlas won't allow for :artefacts to be called
      # externally before something is assigned to it, Sorbet requires that it is initialized using T.let.
      sig { void }
      def initialize
        @artefacts = T.let(DVLA::Atlas::Artefacts.new, DVLA::Atlas::Artefacts)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dvla-atlas-1.1.0 lib/dvla/atlas/holder.rb
dvla-atlas-1.0.0 lib/dvla/atlas/holder.rb