class

SaveCharacter

Inherits Character::SaveOperation / Avram::SaveOperation / Avram::AddColumnAttributes / Avram::Upsert / Avram::InheritColumnAttributes / Avram::MarkAsFailed / Avram::NestedSaveOperation / Avram::DatabaseValidations / Avram::Callbacks / Avram::NeedyInitializerAndSaveMethods / Avram::ParamKeyOverride / Avram::OperationErrors / Avram::Validations / Avram::DefineAttribute / 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: slug, type: String, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: name, type: String, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: description, type: String, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: avatar_id, type: String, nilable: true, autogenerated: false, value: nil, serialized: false}, {name: greeting, type: String, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: persona, type: String, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: world_scenario, type: String, nilable: true, autogenerated: false, value: nil, serialized: false}, {name: example_chats, type: String, nilable: true, autogenerated: false, value: nil, serialized: false}, {name: visibility, type: String, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: is_contentious, type: Bool, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: creator_id, type: User::PrimaryKeyType, nilable: false, autogenerated: false, value: nil, serialized: false}, {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: slug, type: String, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: name, type: String, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: description, type: String, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: avatar_id, type: String, nilable: true, autogenerated: false, value: nil, serialized: false}, {name: greeting, type: String, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: persona, type: String, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: world_scenario, type: String, nilable: true, autogenerated: false, value: nil, serialized: false}, {name: example_chats, type: String, nilable: true, autogenerated: false, value: nil, serialized: false}, {name: visibility, type: String, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: is_contentious, type: Bool, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: creator_id, type: User::PrimaryKeyType, nilable: false, autogenerated: false, value: nil, serialized: false}] of Nil
FOREIGN_KEY = "character_id"
OPERATION_NEEDS = [current_user : User] of Nil

Constructors

new(record : T, params : Avram::Paramable, current_user : User, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slug : String | Avram::Nothing = Avram::Nothing.new, name : String | Avram::Nothing = Avram::Nothing.new, description : String | Avram::Nothing = Avram::Nothing.new, avatar_id : String | Avram::Nothing | Nil = Avram::Nothing.new, greeting : String | Avram::Nothing = Avram::Nothing.new, persona : String | Avram::Nothing = Avram::Nothing.new, world_scenario : String | Avram::Nothing | Nil = Avram::Nothing.new, example_chats : String | Avram::Nothing | Nil = Avram::Nothing.new, visibility : String | Avram::Nothing = Avram::Nothing.new, is_contentious : Bool | Avram::Nothing = Avram::Nothing.new, creator_id : User::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new)

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation

new(params : Avram::Paramable, current_user : User, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slug : String | Avram::Nothing = Avram::Nothing.new, name : String | Avram::Nothing = Avram::Nothing.new, description : String | Avram::Nothing = Avram::Nothing.new, avatar_id : String | Avram::Nothing | Nil = Avram::Nothing.new, greeting : String | Avram::Nothing = Avram::Nothing.new, persona : String | Avram::Nothing = Avram::Nothing.new, world_scenario : String | Avram::Nothing | Nil = Avram::Nothing.new, example_chats : String | Avram::Nothing | Nil = Avram::Nothing.new, visibility : String | Avram::Nothing = Avram::Nothing.new, is_contentious : Bool | Avram::Nothing = Avram::Nothing.new, creator_id : User::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new)

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation

new(record : T, current_user : User, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slug : String | Avram::Nothing = Avram::Nothing.new, name : String | Avram::Nothing = Avram::Nothing.new, description : String | Avram::Nothing = Avram::Nothing.new, avatar_id : String | Avram::Nothing | Nil = Avram::Nothing.new, greeting : String | Avram::Nothing = Avram::Nothing.new, persona : String | Avram::Nothing = Avram::Nothing.new, world_scenario : String | Avram::Nothing | Nil = Avram::Nothing.new, example_chats : String | Avram::Nothing | Nil = Avram::Nothing.new, visibility : String | Avram::Nothing = Avram::Nothing.new, is_contentious : Bool | Avram::Nothing = Avram::Nothing.new, creator_id : User::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new)

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation

new(current_user : User, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slug : String | Avram::Nothing = Avram::Nothing.new, name : String | Avram::Nothing = Avram::Nothing.new, description : String | Avram::Nothing = Avram::Nothing.new, avatar_id : String | Avram::Nothing | Nil = Avram::Nothing.new, greeting : String | Avram::Nothing = Avram::Nothing.new, persona : String | Avram::Nothing = Avram::Nothing.new, world_scenario : String | Avram::Nothing | Nil = Avram::Nothing.new, example_chats : String | Avram::Nothing | Nil = Avram::Nothing.new, visibility : String | Avram::Nothing = Avram::Nothing.new, is_contentious : Bool | Avram::Nothing = Avram::Nothing.new, creator_id : User::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new)

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation

Class methods

create(params, current_user : User, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slug : String | Avram::Nothing = Avram::Nothing.new, name : String | Avram::Nothing = Avram::Nothing.new, description : String | Avram::Nothing = Avram::Nothing.new, avatar_id : String | Avram::Nothing | Nil = Avram::Nothing.new, greeting : String | Avram::Nothing = Avram::Nothing.new, persona : String | Avram::Nothing = Avram::Nothing.new, world_scenario : String | Avram::Nothing | Nil = Avram::Nothing.new, example_chats : String | Avram::Nothing | Nil = Avram::Nothing.new, visibility : String | Avram::Nothing = Avram::Nothing.new, is_contentious : Bool | Avram::Nothing = Avram::Nothing.new, creator_id : User::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, &)

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation

create(current_user : User, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slug : String | Avram::Nothing = Avram::Nothing.new, name : String | Avram::Nothing = Avram::Nothing.new, description : String | Avram::Nothing = Avram::Nothing.new, avatar_id : String | Avram::Nothing | Nil = Avram::Nothing.new, greeting : String | Avram::Nothing = Avram::Nothing.new, persona : String | Avram::Nothing = Avram::Nothing.new, world_scenario : String | Avram::Nothing | Nil = Avram::Nothing.new, example_chats : String | Avram::Nothing | Nil = Avram::Nothing.new, visibility : String | Avram::Nothing = Avram::Nothing.new, is_contentious : Bool | Avram::Nothing = Avram::Nothing.new, creator_id : User::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, &)

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation

create(params : Hash, **named_args, &)

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation

create!(params, current_user : User, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slug : String | Avram::Nothing = Avram::Nothing.new, name : String | Avram::Nothing = Avram::Nothing.new, description : String | Avram::Nothing = Avram::Nothing.new, avatar_id : String | Avram::Nothing | Nil = Avram::Nothing.new, greeting : String | Avram::Nothing = Avram::Nothing.new, persona : String | Avram::Nothing = Avram::Nothing.new, world_scenario : String | Avram::Nothing | Nil = Avram::Nothing.new, example_chats : String | Avram::Nothing | Nil = Avram::Nothing.new, visibility : String | Avram::Nothing = Avram::Nothing.new, is_contentious : Bool | Avram::Nothing = Avram::Nothing.new, creator_id : User::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new)

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation

create!(current_user : User, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slug : String | Avram::Nothing = Avram::Nothing.new, name : String | Avram::Nothing = Avram::Nothing.new, description : String | Avram::Nothing = Avram::Nothing.new, avatar_id : String | Avram::Nothing | Nil = Avram::Nothing.new, greeting : String | Avram::Nothing = Avram::Nothing.new, persona : String | Avram::Nothing = Avram::Nothing.new, world_scenario : String | Avram::Nothing | Nil = Avram::Nothing.new, example_chats : String | Avram::Nothing | Nil = Avram::Nothing.new, visibility : String | Avram::Nothing = Avram::Nothing.new, is_contentious : Bool | Avram::Nothing = Avram::Nothing.new, creator_id : User::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new)

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation

create!(params : Hash, **named_args)

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation

param_key
Source
update(record : T, with params, current_user : User, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slug : String | Avram::Nothing = Avram::Nothing.new, name : String | Avram::Nothing = Avram::Nothing.new, description : String | Avram::Nothing = Avram::Nothing.new, avatar_id : String | Avram::Nothing | Nil = Avram::Nothing.new, greeting : String | Avram::Nothing = Avram::Nothing.new, persona : String | Avram::Nothing = Avram::Nothing.new, world_scenario : String | Avram::Nothing | Nil = Avram::Nothing.new, example_chats : String | Avram::Nothing | Nil = Avram::Nothing.new, visibility : String | Avram::Nothing = Avram::Nothing.new, is_contentious : Bool | Avram::Nothing = Avram::Nothing.new, creator_id : User::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, &)

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation

update(record : T, current_user : User, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slug : String | Avram::Nothing = Avram::Nothing.new, name : String | Avram::Nothing = Avram::Nothing.new, description : String | Avram::Nothing = Avram::Nothing.new, avatar_id : String | Avram::Nothing | Nil = Avram::Nothing.new, greeting : String | Avram::Nothing = Avram::Nothing.new, persona : String | Avram::Nothing = Avram::Nothing.new, world_scenario : String | Avram::Nothing | Nil = Avram::Nothing.new, example_chats : String | Avram::Nothing | Nil = Avram::Nothing.new, visibility : String | Avram::Nothing = Avram::Nothing.new, is_contentious : Bool | Avram::Nothing = Avram::Nothing.new, creator_id : User::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, &)

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation

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

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation

update!(record : T, with params, current_user : User, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slug : String | Avram::Nothing = Avram::Nothing.new, name : String | Avram::Nothing = Avram::Nothing.new, description : String | Avram::Nothing = Avram::Nothing.new, avatar_id : String | Avram::Nothing | Nil = Avram::Nothing.new, greeting : String | Avram::Nothing = Avram::Nothing.new, persona : String | Avram::Nothing = Avram::Nothing.new, world_scenario : String | Avram::Nothing | Nil = Avram::Nothing.new, example_chats : String | Avram::Nothing | Nil = Avram::Nothing.new, visibility : String | Avram::Nothing = Avram::Nothing.new, is_contentious : Bool | Avram::Nothing = Avram::Nothing.new, creator_id : User::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new)

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation

update!(record : T, current_user : User, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slug : String | Avram::Nothing = Avram::Nothing.new, name : String | Avram::Nothing = Avram::Nothing.new, description : String | Avram::Nothing = Avram::Nothing.new, avatar_id : String | Avram::Nothing | Nil = Avram::Nothing.new, greeting : String | Avram::Nothing = Avram::Nothing.new, persona : String | Avram::Nothing = Avram::Nothing.new, world_scenario : String | Avram::Nothing | Nil = Avram::Nothing.new, example_chats : String | Avram::Nothing | Nil = Avram::Nothing.new, visibility : String | Avram::Nothing = Avram::Nothing.new, is_contentious : Bool | Avram::Nothing = Avram::Nothing.new, creator_id : User::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new)

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation

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

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation

Instance methods

avatar_id
Source
before_save
Source
current_user
current_user=(current_user : User)
description
Source
example_chats
Source
greeting
Source
is_contentious
Source
name
Source
persona
Source
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, slug : String | Avram::Nothing = Avram::Nothing.new, name : String | Avram::Nothing = Avram::Nothing.new, description : String | Avram::Nothing = Avram::Nothing.new, avatar_id : String | Avram::Nothing | Nil = Avram::Nothing.new, greeting : String | Avram::Nothing = Avram::Nothing.new, persona : String | Avram::Nothing = Avram::Nothing.new, world_scenario : String | Avram::Nothing | Nil = Avram::Nothing.new, example_chats : String | Avram::Nothing | Nil = Avram::Nothing.new, visibility : String | Avram::Nothing = Avram::Nothing.new, is_contentious : Bool | Avram::Nothing = Avram::Nothing.new, creator_id : User::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new)

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation

visibility
Source
world_scenario
Source

Macros

param_key(key)