Sha256: f2838c99bcc6e31b0f421d0ac15b56e7a453797715540cbad76b6a196421a68e
Contents?: true
Size: 1.5 KB
Versions: 10
Compression:
Stored size: 1.5 KB
Contents
# frozen_string_literal: true require 'securerandom' require 'cyclone_lariat/messages/v1/command' require 'cyclone_lariat/messages/v2/command' module CycloneLariat module Generators module Command def command(type, version: config.version, **options) case version.to_i when 1 then command_v1(type, **options) when 2 then command_v2(type, **options) else raise ArgumentError, "Unknown version #{version}" end end def command_v1(type, data: {}, request_id: nil, group_id: nil, deduplication_id: nil, uuid: SecureRandom.uuid) params = { uuid: uuid, type: type, sent_at: Time.now.iso8601(3), version: 1, publisher: config.publisher, data: data, request_id: request_id, group_id: group_id, deduplication_id: deduplication_id } Messages::V1::Command.wrap(params.compact) end def command_v2(type, subject:, object:, data: {}, request_id: nil, group_id: nil, deduplication_id: nil, uuid: SecureRandom.uuid) params = { uuid: uuid, type: type, subject: subject, object: object, sent_at: Time.now.iso8601(3), version: 2, publisher: config.publisher, data: data, request_id: request_id, group_id: group_id, deduplication_id: deduplication_id } Messages::V2::Command.wrap(params.compact) end end end end
Version data entries
10 entries across 10 versions & 1 rubygems