Class: LogStruct::Log::ActionMailer::Delivery

Inherits:
T::Struct
  • Object
show all
Extended by:
T::Sig
Includes:
Interfaces::AdditionalDataField, Interfaces::CommonFields, Shared::MergeAdditionalDataFields, Shared::SerializeCommon
Defined in:
lib/log_struct/log/action_mailer/delivery.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Shared::SerializeCommon

#as_json, #serialize, #serialize_common

Methods included from Interfaces::CommonFields

#serialize

Methods included from Shared::MergeAdditionalDataFields

#merge_additional_data_fields

Constructor Details

#initialize(source: Source::Mailer, event: Event::Delivery, timestamp:, level: Level::Info, to: nil, from: nil, subject: nil, message_id: nil, mailer_class: nil, mailer_action: nil, attachment_count: nil, additional_data: nil) ⇒ void

Parameters:

  • source (Source::Mailer) (defaults to: Source::Mailer)

    Shared/common fields

  • event (Event) (defaults to: Event::Delivery)
  • timestamp (Time)
  • level (Level) (defaults to: Level::Info)
  • to (Array<String>, nil) (defaults to: nil)
  • from (String, nil) (defaults to: nil)
  • subject (String, nil) (defaults to: nil)
  • message_id (String, nil) (defaults to: nil)
  • mailer_class (String, nil) (defaults to: nil)
  • mailer_action (String, nil) (defaults to: nil)
  • attachment_count (Integer, nil) (defaults to: nil)
  • additional_data (Hash{String, Symbol => T.untyped}, nil) (defaults to: nil)


# File ''

const :source, Source::Mailer, default: Source::Mailer
const :event, Event, default: Event::Delivery
const :timestamp, Time, factory: -> { Time.now }
const :level, Level, default: Level::Info
const :to, T.nilable(T::Array[String]), default: nil
const :from, T.nilable(String), default: nil
const :subject, T.nilable(String), default: nil
const :message_id, T.nilable(String), default: nil
const :mailer_class, T.nilable(String), default: nil
const :mailer_action, T.nilable(String), default: nil
const :attachment_count, T.nilable(Integer), default: nil
const :additional_data, T.nilable(T::Hash[T.any(String, Symbol), T.untyped]), default: nil

Instance Attribute Details

#additional_dataHash{String, Symbol => T.untyped}? (readonly)

Returns the value of prop additional_data.

Returns:

  • (Hash{String, Symbol => T.untyped}, nil)


# File ''

const :additional_data, T.nilable(T::Hash[T.any(String, Symbol), T.untyped]), default: nil

#attachment_countInteger? (readonly)

Returns the value of prop attachment_count.

Returns:

  • (Integer, nil)


# File ''

const :attachment_count, T.nilable(Integer), default: nil

#eventEvent (readonly)

Returns the value of prop event.

Returns:



# File ''

const :event, Event, default: Event::Delivery

#fromString? (readonly)

Returns the value of prop from.

Returns:

  • (String, nil)


# File ''

const :from, T.nilable(String), default: nil

#levelLevel (readonly)

Returns the value of prop level.

Returns:



# File ''

const :level, Level, default: Level::Info

#mailer_actionString? (readonly)

Returns the value of prop mailer_action.

Returns:

  • (String, nil)


# File ''

const :mailer_action, T.nilable(String), default: nil

#mailer_classString? (readonly)

Returns the value of prop mailer_class.

Returns:

  • (String, nil)


# File ''

const :mailer_class, T.nilable(String), default: nil

#message_idString? (readonly)

Returns the value of prop message_id.

Returns:

  • (String, nil)


# File ''

const :message_id, T.nilable(String), default: nil

#sourceSource::Mailer (readonly)

Shared/common fields

Returns:



# File ''

const :source, Source::Mailer, default: Source::Mailer

#subjectString? (readonly)

Returns the value of prop subject.

Returns:

  • (String, nil)


# File ''

const :subject, T.nilable(String), default: nil

#timestampTime (readonly)

Returns the value of prop timestamp.

Returns:

  • (Time)


# File ''

const :timestamp, Time, factory: -> { Time.now }

#toArray<String>? (readonly)

Returns the value of prop to.

Returns:

  • (Array<String>, nil)


# File ''

const :to, T.nilable(T::Array[String]), default: nil

Instance Method Details

#to_hHash{LogStruct::LogField => T.untyped}

Returns:



50
51
52
53
54
55
56
57
58
59
60
# File 'lib/log_struct/log/action_mailer/delivery.rb', line 50

def to_h
  h = T.let({}, T::Hash[LogStruct::LogField, T.untyped])
  h[LogField::To] = to unless to.nil?
  h[LogField::From] = from unless from.nil?
  h[LogField::Subject] = subject unless subject.nil?
  h[LogField::MessageId] = message_id unless message_id.nil?
  h[LogField::MailerClass] = mailer_class unless mailer_class.nil?
  h[LogField::MailerAction] = mailer_action unless mailer_action.nil?
  h[LogField::AttachmentCount] = attachment_count unless attachment_count.nil?
  h
end