abstract
def primary_key_name
#
abstract class Avram::SaveOperation(T)
Included Modules
- Avram::Callbacks
- Avram::DatabaseValidations
- Avram::InheritColumnAttributes
- Avram::MarkAsFailed
- Avram::NeedyInitializerAndSaveMethods
- Avram::NestedSaveOperation
Defined in:
avram/save_operation.crConstant Summary
-
ATTRIBUTES =
[] of Nil
-
OPERATION_NEEDS =
[] of Nil
Constructors
Class Method Summary
Instance Method Summary
- #after_commit(_record : T)
- #after_save(_record : T)
- #attributes
- #before_save
- #changes : Hash(Symbol, String | Nil)
- #database
- #params
- #persisted? : Bool
- #primary_key_name
- #record
- #save : Bool
- #save! : T
-
#save_failed?
Return true if the operation has run and the record failed to save
- #save_status
- #save_status=(save_status : Avram::SaveOperation::SaveStatus)
-
#saved?
Returns true if the operation has run and saved the record successfully
- #table_name
- #update! : T
-
#valid? : Bool
Runs
#before_save
steps, required validation, then returnstrue
if all attributes are valid.
Macro Summary
Instance methods inherited from module Avram::MarkAsFailed
mark_as_failed
mark_as_failed
Instance methods inherited from module Avram::NestedSaveOperation
mark_nested_save_operations_as_failed
mark_nested_save_operations_as_failed,
nested_save_operations
nested_save_operations
Instance methods inherited from class Avram::Operation
params : Avram::Paramable
params,
valid?
valid?
Constructor methods inherited from class Avram::Operation
new(params : Avram::Paramable)new new
Class methods inherited from class Avram::Operation
param_key
param_key
Instance methods inherited from module Avram::SaveOperationErrors
errors : Hash(Symbol, Array(String))
errors
Instance methods inherited from module Avram::Validations
validate_acceptance_of(attribute : Avram::Attribute(Bool | Nil), message : Avram::Attribute::ErrorMessage = "must be accepted")
validate_acceptance_of,
validate_at_most_one_filled(*attributes, message : Avram::Attribute::ErrorMessage = "must be blank")
validate_at_most_one_filled,
validate_confirmation_of(attribute : Avram::Attribute(T), with confirmation_attribute : Avram::Attribute(T), message : Avram::Attribute::ErrorMessage = "must match") forall T
validate_confirmation_of,
validate_exactly_one_filled(*attributes, message : Avram::Attribute::ErrorMessage = "at least one must be filled")
validate_exactly_one_filled,
validate_inclusion_of(attribute : Avram::Attribute(T), in allowed_values : Enumerable(T), message : Avram::Attribute::ErrorMessage = "is invalid", allow_nil : Bool = false) forall T
validate_inclusion_of,
validate_required(*attributes, message : Avram::Attribute::ErrorMessage = "is required")
validate_required,
validate_size_of(attribute : Avram::Attribute, min = nil, max = nil, allow_nil : Bool = false)validate_size_of(attribute : Avram::Attribute, *, is exact_size, message : Avram::Attribute::ErrorMessage = "is invalid", allow_nil : Bool = false) validate_size_of, validate_uniqueness_of(attribute : Avram::Attribute, query : Avram::Criteria, message : String = "is already taken")
validate_uniqueness_of(attribute : Avram::Attribute, message : Avram::Attribute::ErrorMessage = "is already taken") validate_uniqueness_of
Instance methods inherited from module Avram::DefineAttribute
attributes
attributes
Instance methods inherited from class Object
blank_for_validates_required? : Bool
blank_for_validates_required?
Constructor Detail
Class Method Detail
Instance Method Detail
Runs #before_save
steps,
required validation, then returns true
if all attributes are valid.