diff --git a/lib/event_source/message.rb b/lib/event_source/message.rb index 028e1e9..5e38a5e 100644 --- a/lib/event_source/message.rb +++ b/lib/event_source/message.rb @@ -17,13 +17,13 @@ def initialize(options = {}) private def build_message(options) - result = EventSource::Operations::BuildMessageOptions.call(options) + result = EventSource::Operations::BuildMessageOptions.new.call(options) raise "unable to build message options due to #{result.failure}" unless result.success? result.success end def create_message(options) - result = EventSource::Operations::CreateMessage.call(options) + result = EventSource::Operations::CreateMessage.new.call(options) raise "unable to create message due to #{result.failure}" unless result.success? result.success end diff --git a/lib/event_source/operations/build_message_options.rb b/lib/event_source/operations/build_message_options.rb index 3c1ad57..945ca6c 100644 --- a/lib/event_source/operations/build_message_options.rb +++ b/lib/event_source/operations/build_message_options.rb @@ -24,8 +24,8 @@ def call(params) def build_options(params) message_attributes = { - payload: params[:attributes].symbolize_keys, - headers: params[:headers].symbolize_keys + payload: params[:attributes]&.symbolize_keys || {}, + headers: params[:headers]&.symbolize_keys || {} } message_attributes[:payload][:message_id] ||= SecureRandom.uuid @@ -48,7 +48,7 @@ def fetch_session_options(message_attributes) else message_attributes[:payload].merge!( account_id: system_account&.id - ) + ) if defined?(system_account) end # Create system account user when session is not available