Sha256: 5695217403491127c7647e92dabebb63fd298c5adb8ea8ee336a7196cb1e4b59

Contents?: true

Size: 838 Bytes

Versions: 8

Compression:

Stored size: 838 Bytes

Contents

# frozen_string_literal: true

require 'cyclone_lariat/messages/abstract'
require 'cyclone_lariat/messages/v2/validator'

module CycloneLariat
  module Messages
    module V2
      class Command < Abstract
        validator Validator

        attrs :subject, :object

        KIND = 'command'

        def kind
          KIND
        end

        def serialize
          {
            uuid: uuid,
            publisher: publisher,
            type: [kind, type].join('_'),
            version: version,
            data: data,
            request_id: request_id,
            sent_at: sent_at&.iso8601(3),
            subject: subject,
            object: object
          }.compact
        end

        def subject
          @subject ||= {}
        end

        def object
          @object ||= {}
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
cyclone_lariat-1.0.0 lib/cyclone_lariat/messages/v2/command.rb
cyclone_lariat-1.0.0.rc9 lib/cyclone_lariat/messages/v2/command.rb
cyclone_lariat-1.0.0.rc8 lib/cyclone_lariat/messages/v2/command.rb
cyclone_lariat-1.0.0.rc7 lib/cyclone_lariat/messages/v2/command.rb
cyclone_lariat-1.0.0.rc6 lib/cyclone_lariat/messages/v2/command.rb
cyclone_lariat-1.0.0.rc5 lib/cyclone_lariat/messages/v2/command.rb
cyclone_lariat-1.0.0.rc4 lib/cyclone_lariat/messages/v2/command.rb
cyclone_lariat-1.0.0.rc3 lib/cyclone_lariat/messages/v2/command.rb