Sha256: da79a70d7f75832eb46c56ffedf8c7d4727d7a5f72e657aa526d30623af037da

Contents?: true

Size: 623 Bytes

Versions: 8

Compression:

Stored size: 623 Bytes

Contents

# -*- encoding : utf-8 -*-
require 'active_model'

module Untied
  class Event
    include ActiveModel::Serializers::JSON
    attr_accessor :name, :payload, :origin

    def initialize(attrs)
      @config = {
        :name => "after_create",
        :payload => nil,
        :origin => nil
      }.merge(attrs)

      raise "You should inform the origin service" unless @config[:origin]

      @name = @config.delete(:name)
      @payload = @config.delete(:payload)
      @origin = @config.delete(:origin)
    end

    def attributes
      { "name" => @name, "origin" => @origin, "payload" => @payload }
    end
  end
end

Version data entries

8 entries across 8 versions & 2 rubygems

Version Path
untied-consumer-0.0.5 lib/untied-consumer/event.rb
untied-consumer-0.0.4 lib/untied-consumer/event.rb
untied-publisher-0.0.3 lib/untied-publisher/event.rb
untied-consumer-0.0.3 lib/untied-consumer/event.rb
untied-publisher-0.0.2 lib/untied-publisher/event.rb
untied-consumer-0.0.2 lib/untied-consumer/event.rb
untied-consumer-0.0.1 lib/untied-consumer/event.rb
untied-publisher-0.0.1 lib/untied-publisher/event.rb