Sha256: a5c357d7dbf9e50f7ab08a891f630faf84f022cbe394feae1aeaeeab6ed6c4aa

Contents?: true

Size: 545 Bytes

Versions: 1

Compression:

Stored size: 545 Bytes

Contents

# frozen_string_literal: true

module Nuntius
  module Nuntiable
    extend ActiveSupport::Concern

    class_methods do
      def nuntiable_options
        @_nuntius_nuntiable_options || {}
      end

      def messenger
        Nuntius::BaseMessenger.messenger_for_class(name)
      end
    end

    included do
      raise "Nuntius Messenger has not been implemented for class #{name}" unless messenger

      Nuntius.config.add_nuntiable_class(self)
      has_many :messages, as: :nuntiable, class_name: 'Nuntius::Message'
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
nuntius-1.0.27 lib/nuntius/nuntiable.rb