An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
class
PlaceOS::Model::PendingMail
- PlaceOS::Model::PendingMail
- PgORM::Base
- ActiveModel::Model
- Reference
- Object
Overview
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Included Modules
- Neuroplastic
- PgORM::Timestamps
Defined in:
placeos-models/pending_mail.crConstant Summary
-
CALLBACKS =
{before_save: [do if (__temp_1543 = @authority) && __temp_1543.new_record? __temp_1543.save self.authority_id = __temp_1543.id.not_nil! end end, do if (__temp_1545 = @user) && __temp_1545.new_record? __temp_1545.save self.user_id = __temp_1545.id.not_nil! end end] of Nil, after_save: [] of Nil, before_create: [do self.created_at = self.updated_at = Time.utc end] of Nil, after_create: [] of Nil, before_update: [do self.updated_at = Time.utc end] of Nil, after_update: [] of Nil, before_destroy: [] of Nil, after_destroy: [do end, do end] of Nil} -
An email queued for later processing/sending. Each row belongs to an authority and to the user who triggered it. The actual content is described by a
#template(a list of names resolving to a template) plus#argsinjected into it.#attachments/#resource_attachmentsreferenceUploadids; those ids are pruned automatically when an upload is deleted (seeUpload#remove_from_pending_mail).#zonesreferences zone ids and is pruned when a zone is deleted (seeZone#remove_array_references). -
PRIMARY_KEY_TYPES =
{:id => UUID} of Nil => Nil -
macro level key => type
-
PRIMARY_KEYS =
[{:id}] -
An email queued for later processing/sending. Each row belongs to an authority and to the user who triggered it. The actual content is described by a
#template(a list of names resolving to a template) plus#argsinjected into it.#attachments/#resource_attachmentsreferenceUploadids; those ids are pruned automatically when an upload is deleted (seeUpload#remove_from_pending_mail).#zonesreferences zone ids and is pruned when a zone is deleted (seeZone#remove_array_references).
Constructors
-
.from_json(string_or_io : String | IO, trusted : Bool = false) : self
An email queued for later processing/sending.
-
.from_json(string_or_io : String | IO, root : String, trusted : Bool = false) : self
Deserializes the given JSON in string_or_io into an instance of
self, assuming the JSON consists of an JSON object with key root, and whose value is the value to deserialize. -
.from_trusted_json(string_or_io : String | IO, root : String) : self
An email queued for later processing/sending.
-
.from_trusted_json(string_or_io : String | IO) : self
Serialize from a trusted JSON source
-
.from_trusted_yaml(string_or_io : String | IO) : self
Serialize from a trusted YAML source
-
.from_yaml(string_or_io : String | IO, trusted : Bool = false) : self
An email queued for later processing/sending.
-
.new(ctx : YAML::ParseContext, node : YAML::Nodes::Node)
An email queued for later processing/sending.
-
.new(pull : JSON::PullParser)
An email queued for later processing/sending.
-
.new(rs : DB::ResultSet)
An email queued for later processing/sending.
-
.new(created_at : Time | ActiveModel::Model::None = ::ActiveModel::Model::None.new, updated_at : Time | ActiveModel::Model::None = ::ActiveModel::Model::None.new, id : UUID | ActiveModel::Model::None = ::ActiveModel::Model::None.new, send_at : Time | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, expiry : Time | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, send_to : Array(String) | ActiveModel::Model::None = ::ActiveModel::Model::None.new, template : Array(String) | ActiveModel::Model::None = ::ActiveModel::Model::None.new, args : Hash(String, Bool | Float64 | Int64 | String | Nil) | ActiveModel::Model::None = ::ActiveModel::Model::None.new, resource_attachments : Array(String) | ActiveModel::Model::None = ::ActiveModel::Model::None.new, attachments : Array(String) | ActiveModel::Model::None = ::ActiveModel::Model::None.new, cc : Array(String) | ActiveModel::Model::None = ::ActiveModel::Model::None.new, bcc : Array(String) | ActiveModel::Model::None = ::ActiveModel::Model::None.new, send_from : String | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, reply_to : String | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, zones : Array(String) | ActiveModel::Model::None = ::ActiveModel::Model::None.new, sent_at : Time | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, sent_by : String | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, rejected_at : Time | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, rejected_reason : String | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, source_service : String | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, source_reference : String | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, authority_id : String | ActiveModel::Model::None = ::ActiveModel::Model::None.new, user_id : String | ActiveModel::Model::None = ::ActiveModel::Model::None.new)
An email queued for later processing/sending.
-
.new(params : HTTP::Params | Hash(String, String) | Tuple(String, String))
Initialize PlaceOS::Model::PendingMail from
HTTP::Params.
Class Method Summary
-
.attributes : Array(Symbol)
Returns all attribute keys.
- .by_authority_id(id)
- .by_user_id(id)
-
.changes(id : UUID | Nil = nil) : ChangeFeed
Changefeed at row (if
#idpassed) or whole table level. - .elastic
-
.from_rs(__temp_2618 : DB::ResultSet)
An email queued for later processing/sending.
-
.on_error(err : Exception | IO::Error)
An email queued for later processing/sending.
-
.primary_key
An email queued for later processing/sending.
-
.table_name
An email queued for later processing/sending.
Instance Method Summary
-
#after_create
An email queued for later processing/sending.
-
#after_destroy
An email queued for later processing/sending.
-
#after_initialize(trusted : Bool)
An email queued for later processing/sending.
-
#after_save
An email queued for later processing/sending.
-
#after_update
An email queued for later processing/sending.
-
#apply_defaults
Generate code to apply default values
-
#args : Hash(String, Bool | Float64 | Int64 | String | Nil)
#argsgetter -
#args=(value : Hash(String, Bool | Float64 | Int64 | String | Nil))
#argssetter -
#args? : Hash(String, Bool | Float64 | Int64 | String | Nil) | Nil
NOTE use
getter/getter!(notproperty/property!) so that the setter defined later in__create_initializer__is the only setter on the field. -
#args_assigned? : Bool
An email queued for later processing/sending.
-
#args_change : Tuple(Hash(String, Bool | Float64 | Int64 | String | Nil) | Nil, Hash(String, Bool | Float64 | Int64 | String | Nil) | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
-
#args_changed? : Bool
An email queued for later processing/sending.
-
#args_default : Hash(String, String | Int64 | Float64 | Bool | Nil)
#args's default value -
#args_present? : Bool
values injected into the template.
-
#args_removed? : Bool
An email queued for later processing/sending.
-
#args_was : Hash(String, Bool | Float64 | Int64 | String | Nil) | Nil
An email queued for later processing/sending.
-
#args_will_change! : Nil
Include
#argsin the set of changed attributes, whether it has changed or not. -
#assign_attributes(created_at : Time | Missing = Missing, updated_at : Time | Missing = Missing, id : UUID | Missing = Missing, send_at : Time | Nil | Missing = Missing, expiry : Time | Nil | Missing = Missing, send_to : Array(String) | Missing = Missing, template : Array(String) | Missing = Missing, args : Hash(String, Bool | Float64 | Int64 | String | Nil) | Missing = Missing, resource_attachments : Array(String) | Missing = Missing, attachments : Array(String) | Missing = Missing, cc : Array(String) | Missing = Missing, bcc : Array(String) | Missing = Missing, send_from : String | Nil | Missing = Missing, reply_to : String | Nil | Missing = Missing, zones : Array(String) | Missing = Missing, sent_at : Time | Nil | Missing = Missing, sent_by : String | Nil | Missing = Missing, rejected_at : Time | Nil | Missing = Missing, rejected_reason : String | Nil | Missing = Missing, source_service : String | Nil | Missing = Missing, source_reference : String | Nil | Missing = Missing, authority_id : String | Missing = Missing, user_id : String | Missing = Missing)
Assign to multiple attributes.
-
#assign_attributes(params : HTTP::Params | Hash(String, String) | Tuple(String, String))
Assign to multiple attributes via
HTTP::Params. -
#assign_attributes(model : PlaceOS::Model::PendingMail)
Assign to multiple attributes from a model object
-
#assign_attributes_from_json(json, root : String)
An email queued for later processing/sending.
-
#assign_attributes_from_json(json)
An email queued for later processing/sending.
-
#assign_attributes_from_trusted_json(json, root : String)
An email queued for later processing/sending.
-
#assign_attributes_from_trusted_json(json)
Assign each field from JSON if field exists in JSON and has changed in model
-
#assign_attributes_from_trusted_yaml(yaml)
An email queued for later processing/sending.
-
#assign_attributes_from_yaml(yaml)
Uses the YAML parser as JSON is valid YAML
-
#attachments : Array(String)
#attachmentsgetter -
#attachments=(value : Array(String))
#attachmentssetter -
#attachments? : Array(String) | Nil
NOTE use
getter/getter!(notproperty/property!) so that the setter defined later in__create_initializer__is the only setter on the field. -
#attachments_assigned? : Bool
An email queued for later processing/sending.
-
#attachments_change : Tuple(Array(String) | Nil, Array(String) | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
-
#attachments_changed? : Bool
An email queued for later processing/sending.
-
#attachments_default : Array(String)
#attachments's default value - #attachments_present? : Bool
-
#attachments_removed? : Bool
An email queued for later processing/sending.
-
#attachments_was : Array(String) | Nil
An email queued for later processing/sending.
-
#attachments_will_change! : Nil
Include
#attachmentsin the set of changed attributes, whether it has changed or not. -
#attributes
Returns a
Hashof all attribute values -
#attributes_tuple
Returns a
NamedTupleof all attribute values. - #authority : PlaceOS::Model::Authority
- #authority! : PlaceOS::Model::Authority
- #authority=(record : PlaceOS::Model::Authority) : PlaceOS::Model::Authority
- #authority? : PlaceOS::Model::Authority | Nil
-
#authority_id : String
#authority_idgetter -
#authority_id=(value : String)
#authority_idsetter -
#authority_id? : String | Nil
NOTE use
getter/getter!(notproperty/property!) so that the setter defined later in__create_initializer__is the only setter on the field. -
#authority_id_assigned? : Bool
An email queued for later processing/sending.
-
#authority_id_change : Tuple(String | Nil, String | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
-
#authority_id_changed? : Bool
An email queued for later processing/sending.
-
#authority_id_default : String
#authority_id's default value - #authority_id_present? : Bool
-
#authority_id_removed? : Bool
An email queued for later processing/sending.
-
#authority_id_was : String | Nil
An email queued for later processing/sending.
-
#authority_id_will_change! : Nil
Include
#authority_idin the set of changed attributes, whether it has changed or not. -
#bcc : Array(String)
#bccgetter -
#bcc=(value : Array(String))
#bccsetter -
#bcc? : Array(String) | Nil
NOTE use
getter/getter!(notproperty/property!) so that the setter defined later in__create_initializer__is the only setter on the field. -
#bcc_assigned? : Bool
An email queued for later processing/sending.
-
#bcc_change : Tuple(Array(String) | Nil, Array(String) | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
-
#bcc_changed? : Bool
An email queued for later processing/sending.
-
#bcc_default : Array(String)
#bcc's default value - #bcc_present? : Bool
-
#bcc_removed? : Bool
An email queued for later processing/sending.
-
#bcc_was : Array(String) | Nil
An email queued for later processing/sending.
-
#bcc_will_change! : Nil
Include
#bccin the set of changed attributes, whether it has changed or not. -
#before_create
An email queued for later processing/sending.
-
#before_destroy
An email queued for later processing/sending.
-
#before_save
An email queued for later processing/sending.
-
#before_update
An email queued for later processing/sending.
- #build_authority(**attributes) : PlaceOS::Model::Authority
- #build_user(**attributes) : PlaceOS::Model::User
-
#cc : Array(String)
#ccgetter -
#cc=(value : Array(String))
#ccsetter -
#cc? : Array(String) | Nil
NOTE use
getter/getter!(notproperty/property!) so that the setter defined later in__create_initializer__is the only setter on the field. -
#cc_assigned? : Bool
An email queued for later processing/sending.
-
#cc_change : Tuple(Array(String) | Nil, Array(String) | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
-
#cc_changed? : Bool
An email queued for later processing/sending.
-
#cc_default : Array(String)
#cc's default value - #cc_present? : Bool
-
#cc_removed? : Bool
An email queued for later processing/sending.
-
#cc_was : Array(String) | Nil
An email queued for later processing/sending.
-
#cc_will_change! : Nil
Include
#ccin the set of changed attributes, whether it has changed or not. -
#changed?
Check if any attributes have changed.
-
#changed_attributes
Returns a
Hashwith all changed attributes. -
#changed_json(io : IO) : Nil
Serialize the set of changed attributes to JSON.
-
#changed_json : String
Serialize the set of changed attributes to JSON.
-
#changed_persist_attributes
An email queued for later processing/sending.
-
#changed_yaml(io : IO) : Nil
Serialize the set of changed attributes to YAML.
-
#changed_yaml : String
Serialize the set of changed attributes to YAML.
-
#clear_changes_information
Reset changes for all attributes.
- #create_authority(**attributes) : PlaceOS::Model::Authority
- #create_authority!(**attributes) : PlaceOS::Model::Authority
- #create_user(**attributes) : PlaceOS::Model::User
- #create_user!(**attributes) : PlaceOS::Model::User
-
#created_at : Time
#created_atgetter -
#created_at=(value : Time)
Setters
#created_atsetter -
#created_at? : Time | Nil
NOTE use
getter/getter!(notproperty/property!) so that the setter defined later in__create_initializer__is the only setter on the field. -
#created_at_assigned? : Bool
An email queued for later processing/sending.
-
#created_at_change : Tuple(Time | Nil, Time | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
-
#created_at_changed? : Bool
An email queued for later processing/sending.
-
#created_at_default : Time
#created_at's default value - #created_at_present? : Bool
-
#created_at_removed? : Bool
An email queued for later processing/sending.
-
#created_at_was : Time | Nil
An email queued for later processing/sending.
-
#created_at_will_change! : Nil
Include
#created_atin the set of changed attributes, whether it has changed or not. -
#expiry : Time | Nil
#expirygetter -
#expiry=(value : Time | Nil)
#expirysetter -
#expiry_assigned? : Bool
An email queued for later processing/sending.
-
#expiry_change : Tuple(Time | Nil | Nil, Time | Nil | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
-
#expiry_changed? : Bool
An email queued for later processing/sending.
-
#expiry_default : Time | Nil
#expiry's default value -
#expiry_present? : Bool
after which the email should not be sent
-
#expiry_removed? : Bool
An email queued for later processing/sending.
-
#expiry_was : Time | Nil | Nil
An email queued for later processing/sending.
-
#expiry_will_change! : Nil
Include
#expiryin the set of changed attributes, whether it has changed or not. -
#id : UUID
#idgetter -
#id=(value : UUID)
#idsetter -
#id?
An email queued for later processing/sending.
-
#id_assigned? : Bool
An email queued for later processing/sending.
-
#id_change : Tuple(UUID | Nil, UUID | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
-
#id_changed? : Bool
An email queued for later processing/sending.
-
#id_default : UUID
#id's default value - #id_present? : Bool
-
#id_removed? : Bool
An email queued for later processing/sending.
-
#id_was : UUID | Nil
An email queued for later processing/sending.
-
#id_will_change! : Nil
Include
#idin the set of changed attributes, whether it has changed or not. -
#invoke_props
An email queued for later processing/sending.
-
#persistent_attributes
An email queued for later processing/sending.
-
#primary_key
An email queued for later processing/sending.
-
#primary_key_hash
An email queued for later processing/sending.
-
#rejected_at : Time | Nil
#rejected_atgetter -
#rejected_at=(value : Time | Nil)
#rejected_atsetter -
#rejected_at_assigned? : Bool
An email queued for later processing/sending.
-
#rejected_at_change : Tuple(Time | Nil | Nil, Time | Nil | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
-
#rejected_at_changed? : Bool
An email queued for later processing/sending.
-
#rejected_at_default : Time | Nil
#rejected_at's default value - #rejected_at_present? : Bool
-
#rejected_at_removed? : Bool
An email queued for later processing/sending.
-
#rejected_at_was : Time | Nil | Nil
An email queued for later processing/sending.
-
#rejected_at_will_change! : Nil
Include
#rejected_atin the set of changed attributes, whether it has changed or not. -
#rejected_reason : String | Nil
#rejected_reasongetter -
#rejected_reason=(value : String | Nil)
#rejected_reasonsetter -
#rejected_reason_assigned? : Bool
An email queued for later processing/sending.
-
#rejected_reason_change : Tuple(String | Nil | Nil, String | Nil | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
-
#rejected_reason_changed? : Bool
An email queued for later processing/sending.
-
#rejected_reason_default : String | Nil
#rejected_reason's default value - #rejected_reason_present? : Bool
-
#rejected_reason_removed? : Bool
An email queued for later processing/sending.
-
#rejected_reason_was : String | Nil | Nil
An email queued for later processing/sending.
-
#rejected_reason_will_change! : Nil
Include
#rejected_reasonin the set of changed attributes, whether it has changed or not. - #reload_authority : PlaceOS::Model::Authority
- #reload_authority? : PlaceOS::Model::Authority | Nil
- #reload_user : PlaceOS::Model::User
- #reload_user? : PlaceOS::Model::User | Nil
-
#reply_to : String | Nil
#reply_togetter -
#reply_to=(value : String | Nil)
#reply_tosetter -
#reply_to_assigned? : Bool
An email queued for later processing/sending.
-
#reply_to_change : Tuple(String | Nil | Nil, String | Nil | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
-
#reply_to_changed? : Bool
An email queued for later processing/sending.
-
#reply_to_default : String | Nil
#reply_to's default value - #reply_to_present? : Bool
-
#reply_to_removed? : Bool
An email queued for later processing/sending.
-
#reply_to_was : String | Nil | Nil
An email queued for later processing/sending.
-
#reply_to_will_change! : Nil
Include
#reply_toin the set of changed attributes, whether it has changed or not. -
#resource_attachments : Array(String)
#resource_attachmentsgetter -
#resource_attachments=(value : Array(String))
#resource_attachmentssetter -
#resource_attachments? : Array(String) | Nil
NOTE use
getter/getter!(notproperty/property!) so that the setter defined later in__create_initializer__is the only setter on the field. -
#resource_attachments_assigned? : Bool
An email queued for later processing/sending.
-
#resource_attachments_change : Tuple(Array(String) | Nil, Array(String) | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
-
#resource_attachments_changed? : Bool
An email queued for later processing/sending.
-
#resource_attachments_default : Array(String)
#resource_attachments's default value -
#resource_attachments_present? : Bool
upload id references.
-
#resource_attachments_removed? : Bool
An email queued for later processing/sending.
-
#resource_attachments_was : Array(String) | Nil
An email queued for later processing/sending.
-
#resource_attachments_will_change! : Nil
Include
#resource_attachmentsin the set of changed attributes, whether it has changed or not. -
#restore_attributes
Reset each attribute to their previous values and clears all changes.
-
#run_create_callbacks(&)
Wrap a block with callbacks for the appropriate crud operation
-
#run_destroy_callbacks(&)
An email queued for later processing/sending.
-
#run_save_callbacks(&)
An email queued for later processing/sending.
-
#run_update_callbacks(&)
An email queued for later processing/sending.
-
#send_at : Time | Nil
#send_atgetter -
#send_at=(value : Time | Nil)
#send_atsetter -
#send_at_assigned? : Bool
An email queued for later processing/sending.
-
#send_at_change : Tuple(Time | Nil | Nil, Time | Nil | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
-
#send_at_changed? : Bool
An email queued for later processing/sending.
-
#send_at_default : Time | Nil
#send_at's default value -
#send_at_present? : Bool
schedule a send for this time (or later); nil sends as soon as processed
-
#send_at_removed? : Bool
An email queued for later processing/sending.
-
#send_at_was : Time | Nil | Nil
An email queued for later processing/sending.
-
#send_at_will_change! : Nil
Include
#send_atin the set of changed attributes, whether it has changed or not. -
#send_from : String | Nil
#send_fromgetter -
#send_from=(value : String | Nil)
#send_fromsetter -
#send_from_assigned? : Bool
An email queued for later processing/sending.
-
#send_from_change : Tuple(String | Nil | Nil, String | Nil | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
-
#send_from_changed? : Bool
An email queued for later processing/sending.
-
#send_from_default : String | Nil
#send_from's default value - #send_from_present? : Bool
-
#send_from_removed? : Bool
An email queued for later processing/sending.
-
#send_from_was : String | Nil | Nil
An email queued for later processing/sending.
-
#send_from_will_change! : Nil
Include
#send_fromin the set of changed attributes, whether it has changed or not. -
#send_to : Array(String)
#send_togetter -
#send_to=(value : Array(String))
#send_tosetter -
#send_to? : Array(String) | Nil
NOTE use
getter/getter!(notproperty/property!) so that the setter defined later in__create_initializer__is the only setter on the field. -
#send_to_assigned? : Bool
An email queued for later processing/sending.
-
#send_to_change : Tuple(Array(String) | Nil, Array(String) | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
-
#send_to_changed? : Bool
An email queued for later processing/sending.
-
#send_to_default : Array(String)
#send_to's default value -
#send_to_present? : Bool
recipients (exact match)
-
#send_to_removed? : Bool
An email queued for later processing/sending.
-
#send_to_was : Array(String) | Nil
An email queued for later processing/sending.
-
#send_to_will_change! : Nil
Include
#send_toin the set of changed attributes, whether it has changed or not. -
#sent_at : Time | Nil
#sent_atgetter -
#sent_at=(value : Time | Nil)
#sent_atsetter -
#sent_at_assigned? : Bool
An email queued for later processing/sending.
-
#sent_at_change : Tuple(Time | Nil | Nil, Time | Nil | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
-
#sent_at_changed? : Bool
An email queued for later processing/sending.
-
#sent_at_default : Time | Nil
#sent_at's default value -
#sent_at_present? : Bool
Monitoring: populated as the mail is processed.
-
#sent_at_removed? : Bool
An email queued for later processing/sending.
-
#sent_at_was : Time | Nil | Nil
An email queued for later processing/sending.
-
#sent_at_will_change! : Nil
Include
#sent_atin the set of changed attributes, whether it has changed or not. -
#sent_by : String | Nil
#sent_bygetter -
#sent_by=(value : String | Nil)
#sent_bysetter -
#sent_by_assigned? : Bool
An email queued for later processing/sending.
-
#sent_by_change : Tuple(String | Nil | Nil, String | Nil | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
-
#sent_by_changed? : Bool
An email queued for later processing/sending.
-
#sent_by_default : String | Nil
#sent_by's default value - #sent_by_present? : Bool
-
#sent_by_removed? : Bool
An email queued for later processing/sending.
-
#sent_by_was : String | Nil | Nil
An email queued for later processing/sending.
-
#sent_by_will_change! : Nil
Include
#sent_byin the set of changed attributes, whether it has changed or not. -
#source_reference : String | Nil
#source_referencegetter -
#source_reference=(value : String | Nil)
#source_referencesetter -
#source_reference_assigned? : Bool
An email queued for later processing/sending.
-
#source_reference_change : Tuple(String | Nil | Nil, String | Nil | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
-
#source_reference_changed? : Bool
An email queued for later processing/sending.
-
#source_reference_default : String | Nil
#source_reference's default value - #source_reference_present? : Bool
-
#source_reference_removed? : Bool
An email queued for later processing/sending.
-
#source_reference_was : String | Nil | Nil
An email queued for later processing/sending.
-
#source_reference_will_change! : Nil
Include
#source_referencein the set of changed attributes, whether it has changed or not. -
#source_service : String | Nil
#source_servicegetter -
#source_service=(value : String | Nil)
#source_servicesetter -
#source_service_assigned? : Bool
An email queued for later processing/sending.
-
#source_service_change : Tuple(String | Nil | Nil, String | Nil | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
-
#source_service_changed? : Bool
An email queued for later processing/sending.
-
#source_service_default : String | Nil
#source_service's default value -
#source_service_present? : Bool
Free-form provenance, indexed for filtering (e.g.
-
#source_service_removed? : Bool
An email queued for later processing/sending.
-
#source_service_was : String | Nil | Nil
An email queued for later processing/sending.
-
#source_service_will_change! : Nil
Include
#source_servicein the set of changed attributes, whether it has changed or not. -
#table_name
An email queued for later processing/sending.
-
#template : Array(String)
#templategetter -
#template=(value : Array(String))
#templatesetter -
#template? : Array(String) | Nil
NOTE use
getter/getter!(notproperty/property!) so that the setter defined later in__create_initializer__is the only setter on the field. -
#template_assigned? : Bool
An email queued for later processing/sending.
-
#template_change : Tuple(Array(String) | Nil, Array(String) | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
-
#template_changed? : Bool
An email queued for later processing/sending.
-
#template_default : Array(String)
#template's default value -
#template_present? : Bool
names which resolve to the template to be sent
-
#template_removed? : Bool
An email queued for later processing/sending.
-
#template_was : Array(String) | Nil
An email queued for later processing/sending.
-
#template_will_change! : Nil
Include
#templatein the set of changed attributes, whether it has changed or not. -
#updated_at : Time
#updated_atgetter -
#updated_at=(value : Time)
#updated_atsetter -
#updated_at? : Time | Nil
NOTE use
getter/getter!(notproperty/property!) so that the setter defined later in__create_initializer__is the only setter on the field. -
#updated_at_assigned? : Bool
An email queued for later processing/sending.
-
#updated_at_change : Tuple(Time | Nil, Time | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
-
#updated_at_changed? : Bool
An email queued for later processing/sending.
-
#updated_at_default : Time
#updated_at's default value - #updated_at_present? : Bool
-
#updated_at_removed? : Bool
An email queued for later processing/sending.
-
#updated_at_was : Time | Nil
An email queued for later processing/sending.
-
#updated_at_will_change! : Nil
Include
#updated_atin the set of changed attributes, whether it has changed or not. - #user : PlaceOS::Model::User
- #user! : PlaceOS::Model::User
- #user=(record : PlaceOS::Model::User) : PlaceOS::Model::User
- #user? : PlaceOS::Model::User | Nil
-
#user_id : String
#user_idgetter -
#user_id=(value : String)
#user_idsetter -
#user_id? : String | Nil
NOTE use
getter/getter!(notproperty/property!) so that the setter defined later in__create_initializer__is the only setter on the field. -
#user_id_assigned? : Bool
An email queued for later processing/sending.
-
#user_id_change : Tuple(String | Nil, String | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
-
#user_id_changed? : Bool
An email queued for later processing/sending.
-
#user_id_default : String
#user_id's default value - #user_id_present? : Bool
-
#user_id_removed? : Bool
An email queued for later processing/sending.
-
#user_id_was : String | Nil
An email queued for later processing/sending.
-
#user_id_will_change! : Nil
Include
#user_idin the set of changed attributes, whether it has changed or not. -
#validate_nilability
Validate that all non-nillable fields have values.
-
#zones : Array(String)
#zonesgetter -
#zones=(value : Array(String))
#zonessetter -
#zones? : Array(String) | Nil
NOTE use
getter/getter!(notproperty/property!) so that the setter defined later in__create_initializer__is the only setter on the field. -
#zones_assigned? : Bool
An email queued for later processing/sending.
-
#zones_change : Tuple(Array(String) | Nil, Array(String) | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
-
#zones_changed? : Bool
An email queued for later processing/sending.
-
#zones_default : Array(String)
#zones's default value -
#zones_present? : Bool
zone id references.
-
#zones_removed? : Bool
An email queued for later processing/sending.
-
#zones_was : Array(String) | Nil
An email queued for later processing/sending.
-
#zones_will_change! : Nil
Include
#zonesin the set of changed attributes, whether it has changed or not.
Constructor Detail
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Deserializes the given JSON in string_or_io into
an instance of self, assuming the JSON consists
of an JSON object with key root, and whose value is
the value to deserialize. Will not deserialise from
fields with mass_assign: false
class User < ActiveModel::Model
attribute name : String
attribute google_id : UUID, mass_assign: false
end
User.from_json(%({"main": {"name": "Jason", "google_id": "f6f70bfb-c882-446d-8758-7ce47db39620"}}), root: "main") # => #<User:0x103131b20 @name="Jason">
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Serialize from a trusted JSON source
Serialize from a trusted YAML source
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Initialize PlaceOS::Model::PendingMail from HTTP::Params.
Class Method Detail
Changefeed at row (if #id passed) or whole table level.
Returns a ChangeFeed instance which can be used to invoke async callbacks via on or
use blocking Iterator via each method.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Instance Method Detail
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
NOTE use getter / getter! (not property / property!) so that the
setter defined later in __create_initializer__ is the only setter on
the field. Crystal's overload resolution silently fails to replace a
property-defined setter with one of identical signature for generic
types (e.g. Set(String)?, Array(String)?, String | Array(String)),
although it does work for non-generic ones like String?. Defining the
setter only once via __create_initializer__ ensures change tracking,
sanitization, and custom setter blocks run uniformly across all types.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Returns a Tuple of the previous and the current value of an instance variable if it has changed
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
values injected into the template. Restricted to JSON scalar values; nested objects/arrays are rejected on deserialization.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Include #args in the set of changed attributes, whether it has changed or not.
Assign to multiple attributes.
Assign to multiple attributes via HTTP::Params.
Assign to multiple attributes from a model object
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Assign each field from JSON if field exists in JSON and has changed in model
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
NOTE use getter / getter! (not property / property!) so that the
setter defined later in __create_initializer__ is the only setter on
the field. Crystal's overload resolution silently fails to replace a
property-defined setter with one of identical signature for generic
types (e.g. Set(String)?, Array(String)?, String | Array(String)),
although it does work for non-generic ones like String?. Defining the
setter only once via __create_initializer__ ensures change tracking,
sanitization, and custom setter blocks run uniformly across all types.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Returns a Tuple of the previous and the current value of an instance variable if it has changed
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Include #attachments in the set of changed attributes, whether it has changed or not.
NOTE use getter / getter! (not property / property!) so that the
setter defined later in __create_initializer__ is the only setter on
the field. Crystal's overload resolution silently fails to replace a
property-defined setter with one of identical signature for generic
types (e.g. Set(String)?, Array(String)?, String | Array(String)),
although it does work for non-generic ones like String?. Defining the
setter only once via __create_initializer__ ensures change tracking,
sanitization, and custom setter blocks run uniformly across all types.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Returns a Tuple of the previous and the current value of an instance variable if it has changed
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Include #authority_id in the set of changed attributes, whether it has changed or not.
NOTE use getter / getter! (not property / property!) so that the
setter defined later in __create_initializer__ is the only setter on
the field. Crystal's overload resolution silently fails to replace a
property-defined setter with one of identical signature for generic
types (e.g. Set(String)?, Array(String)?, String | Array(String)),
although it does work for non-generic ones like String?. Defining the
setter only once via __create_initializer__ ensures change tracking,
sanitization, and custom setter blocks run uniformly across all types.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Returns a Tuple of the previous and the current value of an instance variable if it has changed
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Include #bcc in the set of changed attributes, whether it has changed or not.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
NOTE use getter / getter! (not property / property!) so that the
setter defined later in __create_initializer__ is the only setter on
the field. Crystal's overload resolution silently fails to replace a
property-defined setter with one of identical signature for generic
types (e.g. Set(String)?, Array(String)?, String | Array(String)),
although it does work for non-generic ones like String?. Defining the
setter only once via __create_initializer__ ensures change tracking,
sanitization, and custom setter blocks run uniformly across all types.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Returns a Tuple of the previous and the current value of an instance variable if it has changed
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Include #cc in the set of changed attributes, whether it has changed or not.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
NOTE use getter / getter! (not property / property!) so that the
setter defined later in __create_initializer__ is the only setter on
the field. Crystal's overload resolution silently fails to replace a
property-defined setter with one of identical signature for generic
types (e.g. Set(String)?, Array(String)?, String | Array(String)),
although it does work for non-generic ones like String?. Defining the
setter only once via __create_initializer__ ensures change tracking,
sanitization, and custom setter blocks run uniformly across all types.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Returns a Tuple of the previous and the current value of an instance variable if it has changed
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Include #created_at in the set of changed attributes, whether it has changed or not.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Returns a Tuple of the previous and the current value of an instance variable if it has changed
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Include #expiry in the set of changed attributes, whether it has changed or not.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Returns a Tuple of the previous and the current value of an instance variable if it has changed
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Include #id in the set of changed attributes, whether it has changed or not.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Returns a Tuple of the previous and the current value of an instance variable if it has changed
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Include #rejected_at in the set of changed attributes, whether it has changed or not.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Returns a Tuple of the previous and the current value of an instance variable if it has changed
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Include #rejected_reason in the set of changed attributes, whether it has changed or not.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Returns a Tuple of the previous and the current value of an instance variable if it has changed
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Include #reply_to in the set of changed attributes, whether it has changed or not.
NOTE use getter / getter! (not property / property!) so that the
setter defined later in __create_initializer__ is the only setter on
the field. Crystal's overload resolution silently fails to replace a
property-defined setter with one of identical signature for generic
types (e.g. Set(String)?, Array(String)?, String | Array(String)),
although it does work for non-generic ones like String?. Defining the
setter only once via __create_initializer__ ensures change tracking,
sanitization, and custom setter blocks run uniformly across all types.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Returns a Tuple of the previous and the current value of an instance variable if it has changed
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
upload id references. If an upload is deleted, its id is removed from
these arrays via Upload's before_destroy callback.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Include #resource_attachments in the set of changed attributes, whether it has changed or not.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Returns a Tuple of the previous and the current value of an instance variable if it has changed
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
schedule a send for this time (or later); nil sends as soon as processed
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Include #send_at in the set of changed attributes, whether it has changed or not.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Returns a Tuple of the previous and the current value of an instance variable if it has changed
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Include #send_from in the set of changed attributes, whether it has changed or not.
NOTE use getter / getter! (not property / property!) so that the
setter defined later in __create_initializer__ is the only setter on
the field. Crystal's overload resolution silently fails to replace a
property-defined setter with one of identical signature for generic
types (e.g. Set(String)?, Array(String)?, String | Array(String)),
although it does work for non-generic ones like String?. Defining the
setter only once via __create_initializer__ ensures change tracking,
sanitization, and custom setter blocks run uniformly across all types.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Returns a Tuple of the previous and the current value of an instance variable if it has changed
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Include #send_to in the set of changed attributes, whether it has changed or not.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Returns a Tuple of the previous and the current value of an instance variable if it has changed
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Monitoring: populated as the mail is processed. #sent_by and
#rejected_reason are free-form text (e.g. a worker/service name or a
human-readable reason).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Include #sent_at in the set of changed attributes, whether it has changed or not.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Returns a Tuple of the previous and the current value of an instance variable if it has changed
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Include #sent_by in the set of changed attributes, whether it has changed or not.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Returns a Tuple of the previous and the current value of an instance variable if it has changed
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Include #source_reference in the set of changed attributes, whether it has changed or not.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Returns a Tuple of the previous and the current value of an instance variable if it has changed
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Free-form provenance, indexed for filtering (e.g. which service queued the mail and an external reference/correlation id).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Include #source_service in the set of changed attributes, whether it has changed or not.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
NOTE use getter / getter! (not property / property!) so that the
setter defined later in __create_initializer__ is the only setter on
the field. Crystal's overload resolution silently fails to replace a
property-defined setter with one of identical signature for generic
types (e.g. Set(String)?, Array(String)?, String | Array(String)),
although it does work for non-generic ones like String?. Defining the
setter only once via __create_initializer__ ensures change tracking,
sanitization, and custom setter blocks run uniformly across all types.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Returns a Tuple of the previous and the current value of an instance variable if it has changed
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Include #template in the set of changed attributes, whether it has changed or not.
NOTE use getter / getter! (not property / property!) so that the
setter defined later in __create_initializer__ is the only setter on
the field. Crystal's overload resolution silently fails to replace a
property-defined setter with one of identical signature for generic
types (e.g. Set(String)?, Array(String)?, String | Array(String)),
although it does work for non-generic ones like String?. Defining the
setter only once via __create_initializer__ ensures change tracking,
sanitization, and custom setter blocks run uniformly across all types.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Returns a Tuple of the previous and the current value of an instance variable if it has changed
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Include #updated_at in the set of changed attributes, whether it has changed or not.
NOTE use getter / getter! (not property / property!) so that the
setter defined later in __create_initializer__ is the only setter on
the field. Crystal's overload resolution silently fails to replace a
property-defined setter with one of identical signature for generic
types (e.g. Set(String)?, Array(String)?, String | Array(String)),
although it does work for non-generic ones like String?. Defining the
setter only once via __create_initializer__ ensures change tracking,
sanitization, and custom setter blocks run uniformly across all types.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Returns a Tuple of the previous and the current value of an instance variable if it has changed
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Include #user_id in the set of changed attributes, whether it has changed or not.
NOTE use getter / getter! (not property / property!) so that the
setter defined later in __create_initializer__ is the only setter on
the field. Crystal's overload resolution silently fails to replace a
property-defined setter with one of identical signature for generic
types (e.g. Set(String)?, Array(String)?, String | Array(String)),
although it does work for non-generic ones like String?. Defining the
setter only once via __create_initializer__ ensures change tracking,
sanitization, and custom setter blocks run uniformly across all types.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
Returns a Tuple of the previous and the current value of an instance variable if it has changed
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
zone id references. If a zone is deleted, its id is removed from this
array via Zone's before_destroy callback.
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).
An email queued for later processing/sending. Each row belongs to an
authority and to the user who triggered it. The actual content is
described by a #template (a list of names resolving to a template) plus
#args injected into it. #attachments/#resource_attachments reference
Upload ids; those ids are pruned automatically when an upload is
deleted (see Upload#remove_from_pending_mail). #zones references zone
ids and is pruned when a zone is deleted (see Zone#remove_array_references).