Sha256: 98fd967a121a2b6335f83ea6762427350d61b1dec0f35dd800329d4dfdf6c0df

Contents?: true

Size: 498 Bytes

Versions: 2

Compression:

Stored size: 498 Bytes

Contents

# frozen_string_literal: true

module Micro
  module Observers

    module EventsOrActions
      DEFAULTS = [:call]

      def self.[](value)
        values = Utils.compact_array(value)

        values.empty? ? DEFAULTS : values
      end

      def self.fetch_actions(hash)
        return self[hash[:actions] || hash.fetch(:action)] if hash.is_a?(Hash)

        raise ArgumentError, 'expected a hash with the key :action or :actions'
      end

      private_constant :DEFAULTS
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
u-observers-0.8.0 lib/micro/observers/events_or_actions.rb
u-observers-0.7.0 lib/micro/observers/events_or_actions.rb