class

Membership::DeleteOperation

Inherits Avram::DeleteOperation / Avram::InheritColumnAttributes / Avram::Callbacks / Avram::ParamKeyOverride / Avram::OperationErrors / Avram::Validations / Avram::DefineAttribute / Avram::NeedyInitializerAndDeleteMethods / Reference / Object

Constants

ATTRIBUTES = [] of Nil
COLUMN_ATTRIBUTES = [{name: id, type: Int64, nilable: false, autogenerated: true, value: nil, serialized: false}, {name: created_at, type: Time, nilable: false, autogenerated: true, value: nil, serialized: false}, {name: updated_at, type: Time, nilable: false, autogenerated: true, value: nil, serialized: false}, {name: group_id, type: Group::PrimaryKeyType, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: user_id, type: User::PrimaryKeyType, nilable: false, autogenerated: false, value: nil, serialized: false}] of Nil
OPERATION_NEEDS = [] of Nil

Constructors

new(record : T, params : Avram::Paramable, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, group_id : Group::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, user_id : User::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new)

This is called at the end so @type will be of the subclass, and not the parent abstract class.

new(record : T, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, group_id : Group::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, user_id : User::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new)

This is called at the end so @type will be of the subclass, and not the parent abstract class.

Class methods

delete(record : T, params, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, group_id : Group::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, user_id : User::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, &)

This is called at the end so @type will be of the subclass, and not the parent abstract class.

delete(record : T, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, group_id : Group::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, user_id : User::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, &)

This is called at the end so @type will be of the subclass, and not the parent abstract class.

delete(record : T, params : Hash, **named_args, &)

This is called at the end so @type will be of the subclass, and not the parent abstract class.

delete!(record : T, params, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, group_id : Group::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, user_id : User::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new)

This is called at the end so @type will be of the subclass, and not the parent abstract class.

delete!(record : T, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, group_id : Group::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, user_id : User::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new)

This is called at the end so @type will be of the subclass, and not the parent abstract class.

delete!(record : T, params : Hash, **named_args)

This is called at the end so @type will be of the subclass, and not the parent abstract class.

Instance methods

attributes
created_at
created_at=(_value)
delete_status
delete_status=(delete_status : OperationStatus)
group_id
group_id=(_value)
id
id=(_value)
params
permitted_params
record
set_attributes(id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, group_id : Group::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, user_id : User::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new)

This is called at the end so @type will be of the subclass, and not the parent abstract class.

set_created_at_from_param(_value)
set_group_id_from_param(_value)
set_id_from_param(_value)
set_updated_at_from_param(_value)
set_user_id_from_param(_value)
updated_at
updated_at=(_value)
user_id
user_id=(_value)

Macros

param_key(key)