Sha256: 3dbd947155ed63f7cc85ad8ba8d9c38f08f2c9ff8c2184289a54987983c162e3

Contents?: true

Size: 510 Bytes

Versions: 1

Compression:

Stored size: 510 Bytes

Contents

# frozen_string_literal: true

module Micro
  module Observers

    module Events
      def self.[](value, default: Utils::EMPTY_ARRAY)
        values = Utils.compact_array(value)

        values.empty? ? default : values
      end

      NO_EVENTS_MSG = 'no events (expected at least 1)'.freeze

      def self.fetch(value)
        values = self[value]

        return values unless values.empty?

        raise ArgumentError, NO_EVENTS_MSG
      end

      private_constant :NO_EVENTS_MSG
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
u-observers-1.0.0 lib/micro/observers/events.rb