Sha256: 7f9862a6cf2076d336a79c56726e0fe54e0f2b48b56bf93fa8eb1edd58c044cc

Contents?: true

Size: 1.45 KB

Versions: 16

Compression:

Stored size: 1.45 KB

Contents

# frozen_string_literal: true

module Vedeu

  module Runtime

    # Home of various runtime flags which Vedeu uses.
    #
    # @api private
    #
    class Flags

      include Singleton

      class << self

        # @return [Boolean]
        def ready!
          Vedeu.log(message: 'Vedeu ready!')

          instance.options[:ready] = true
        end

        # @return [Boolean]
        def ready?
          instance.options[:ready]
        end

        # Reset the flags to the default values.
        #
        # @return [Hash]
        def reset!
          instance.reset!
        end
        alias reset reset!

      end # Eigenclass

      # @!attribute [rw]
      # @return [Hash]
      attr_accessor :options

      # Create a new singleton instance of Vedeu::Runtime::Flags.
      #
      # @return [Vedeu::Runtime::Flags]
      def initialize
        self.options = defaults
      end

      # @return [Hash]
      def reset!
        self.options = defaults
      end
      alias reset reset!

      private

      # @macro defaults_method
      def defaults
        {
          ready: false,
        }
      end

    end # Flags

  end # Runtime

  # Manipulate the internal flags.
  #
  # @api public
  # @!method ready?
  #   @see Vedeu::Runtime::Flags#ready?
  # @api public
  # @!method ready!
  #   @see Vedeu::Runtime::Flags#ready!
  # @return [Boolean]
  def_delegators Vedeu::Runtime::Flags,
                 :ready?,
                 :ready!

end # Vedeu

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
vedeu-0.8.32 lib/vedeu/runtime/flags.rb
vedeu-0.8.31 lib/vedeu/runtime/flags.rb
vedeu-0.8.30 lib/vedeu/runtime/flags.rb
vedeu-0.8.29 lib/vedeu/runtime/flags.rb
vedeu-0.8.28 lib/vedeu/runtime/flags.rb
vedeu-0.8.27 lib/vedeu/runtime/flags.rb
vedeu-0.8.26 lib/vedeu/runtime/flags.rb
vedeu-0.8.25 lib/vedeu/runtime/flags.rb
vedeu-0.8.24 lib/vedeu/runtime/flags.rb
vedeu-0.8.23 lib/vedeu/runtime/flags.rb
vedeu-0.8.22 lib/vedeu/runtime/flags.rb
vedeu-0.8.21 lib/vedeu/runtime/flags.rb
vedeu-0.8.20 lib/vedeu/runtime/flags.rb
vedeu-0.8.19 lib/vedeu/runtime/flags.rb
vedeu-0.8.18 lib/vedeu/runtime/flags.rb
vedeu-0.8.17 lib/vedeu/runtime/flags.rb