Base class for all Engine models
class
PlaceOS::Model::AiVerificationRun
- PlaceOS::Model::AiVerificationRun
- PlaceOS::Model::ModelBase
- PgORM::Base
- ActiveModel::Model
- Reference
- Object
Defined in:
placeos-models/ai_support/ai_verification_run.crConstant Summary
-
CALLBACKS =
{before_save: [] of Nil, after_save: [] of Nil, before_create: [] of Nil, after_create: [] of Nil, before_update: [] of Nil, after_update: [] of Nil, before_destroy: [] of Nil, after_destroy: [] of Nil} -
Log =
::Log.for(self) -
PRIMARY_KEY_TYPES =
{:id => (String | Nil)} of Nil => Nil -
macro level key => type
-
PRIMARY_KEYS =
[{:id}]
Constructors
- .from_json(string_or_io : String | IO, trusted : Bool = false) : self
-
.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
-
.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
- .new(ctx : YAML::ParseContext, node : YAML::Nodes::Node)
- .new(pull : JSON::PullParser)
- .new(rs : DB::ResultSet)
- .new(incident_id : String | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, procedure_id : String | ActiveModel::Model::None = ::ActiveModel::Model::None.new, procedure_version : Int32 | ActiveModel::Model::None = ::ActiveModel::Model::None.new, procedure_hash : String | ActiveModel::Model::None = ::ActiveModel::Model::None.new, attempt : Int32 | ActiveModel::Model::None = ::ActiveModel::Model::None.new, status : String | ActiveModel::Model::None = ::ActiveModel::Model::None.new, checks_json : JSON::Any | ActiveModel::Model::None = ::ActiveModel::Model::None.new, evidence_json : JSON::Any | ActiveModel::Model::None = ::ActiveModel::Model::None.new, started_at : Time | ActiveModel::Model::None = ::ActiveModel::Model::None.new, completed_at : Time | ActiveModel::Model::None = ::ActiveModel::Model::None.new, next_retry_at : Time | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, id : String | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new)
-
.new(params : HTTP::Params | Hash(String, String) | Tuple(String, String))
Initialize PlaceOS::Model::AiVerificationRun from
HTTP::Params.
Class Method Summary
-
.attributes : Array(Symbol)
Returns all attribute keys.
-
.by_incident_id(id)
Look up instances of this model dependent on the foreign key
-
.changes(id : String | Nil | Nil = nil) : ChangeFeed
Changefeed at row (if
#idpassed) or whole table level. - .elastic
- .from_rs(__temp_1824 : DB::ResultSet)
- .on_error(err : Exception | IO::Error)
-
.primary_key
Base class for all Engine models
- .table_name
Instance Method Summary
- #__ai_incident : AiIncident | Nil
- #__ai_incident=(__ai_incident : AiIncident | Nil)
-
#after_create
Base class for all Engine models
-
#after_destroy
Base class for all Engine models
- #after_initialize(trusted : Bool)
-
#after_save
Base class for all Engine models
-
#after_update
Base class for all Engine models
-
#ai_incident : AiIncident | Nil
Retrieves the parent relationship
- #ai_incident! : AiIncident
-
#ai_incident=(parent : AiIncident)
Sets the parent relationship
-
#apply_defaults
Generate code to apply default values
-
#assign_attributes(incident_id : String | Nil | Missing = Missing, procedure_id : String | Missing = Missing, procedure_version : Int32 | Missing = Missing, procedure_hash : String | Missing = Missing, attempt : Int32 | Missing = Missing, status : String | Missing = Missing, checks_json : JSON::Any | Missing = Missing, evidence_json : JSON::Any | Missing = Missing, started_at : Time | Missing = Missing, completed_at : Time | Missing = Missing, next_retry_at : Time | Nil | Missing = Missing, id : String | Nil | 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::AiVerificationRun)
Assign to multiple attributes from a model object
- #assign_attributes_from_json(json, root : String)
- #assign_attributes_from_json(json)
- #assign_attributes_from_trusted_json(json, root : String)
-
#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)
-
#assign_attributes_from_yaml(yaml)
Uses the YAML parser as JSON is valid YAML
-
#attempt : Int32
#attemptgetter -
#attempt=(value : Int32)
#attemptsetter -
#attempt? : Int32 | Nil
NOTE use
getter/getter!(notproperty/property!) so that the setter defined later in__create_initializer__is the only setter on the field. - #attempt_assigned? : Bool
-
#attempt_change : Tuple(Int32 | Nil, Int32 | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
- #attempt_changed? : Bool
-
#attempt_default : Int32
#attempt's default value - #attempt_present? : Bool
- #attempt_removed? : Bool
- #attempt_was : Int32 | Nil
-
#attempt_will_change! : Nil
Include
#attemptin 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. -
#before_create
Base class for all Engine models
-
#before_destroy
Base class for all Engine models
-
#before_save
Base class for all Engine models
-
#before_update
Base class for all Engine models
-
#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
-
#changed_yaml(io : IO) : Nil
Serialize the set of changed attributes to YAML.
-
#changed_yaml : String
Serialize the set of changed attributes to YAML.
-
#checks_json : JSON::Any
#checks_jsongetter -
#checks_json=(value : JSON::Any)
#checks_jsonsetter -
#checks_json? : JSON::Any | Nil
NOTE use
getter/getter!(notproperty/property!) so that the setter defined later in__create_initializer__is the only setter on the field. - #checks_json_assigned? : Bool
-
#checks_json_change : Tuple(JSON::Any | Nil, JSON::Any | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
- #checks_json_changed? : Bool
-
#checks_json_default : JSON::Any
#checks_json's default value - #checks_json_present? : Bool
- #checks_json_removed? : Bool
- #checks_json_was : JSON::Any | Nil
-
#checks_json_will_change! : Nil
Include
#checks_jsonin the set of changed attributes, whether it has changed or not. -
#clear_changes_information
Reset changes for all attributes.
-
#completed_at : Time
#completed_atgetter -
#completed_at=(value : Time)
#completed_atsetter -
#completed_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. - #completed_at_assigned? : Bool
-
#completed_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
- #completed_at_changed? : Bool
-
#completed_at_default : Time
#completed_at's default value - #completed_at_present? : Bool
- #completed_at_removed? : Bool
- #completed_at_was : Time | Nil
-
#completed_at_will_change! : Nil
Include
#completed_atin the set of changed attributes, whether it has changed or not. -
#evidence_json : JSON::Any
#evidence_jsongetter -
#evidence_json=(value : JSON::Any)
#evidence_jsonsetter -
#evidence_json? : JSON::Any | Nil
NOTE use
getter/getter!(notproperty/property!) so that the setter defined later in__create_initializer__is the only setter on the field. - #evidence_json_assigned? : Bool
-
#evidence_json_change : Tuple(JSON::Any | Nil, JSON::Any | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
- #evidence_json_changed? : Bool
-
#evidence_json_default : JSON::Any
#evidence_json's default value - #evidence_json_present? : Bool
- #evidence_json_removed? : Bool
- #evidence_json_was : JSON::Any | Nil
-
#evidence_json_will_change! : Nil
Include
#evidence_jsonin the set of changed attributes, whether it has changed or not. -
#id : String | Nil
#idgetter -
#id=(value : String | Nil)
#idsetter - #id?
- #id_assigned? : Bool
-
#id_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
- #id_changed? : Bool
-
#id_default : String | Nil
#id's default value - #id_present? : Bool
- #id_removed? : Bool
- #id_was : String | Nil | Nil
-
#id_will_change! : Nil
Include
#idin the set of changed attributes, whether it has changed or not. -
#incident_id : String | Nil
#incident_idgetter -
#incident_id=(value : String | Nil)
Setters
#incident_idsetter -
#incident_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. - #incident_id_assigned? : Bool
-
#incident_id_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
- #incident_id_changed? : Bool
-
#incident_id_default : String | Nil
#incident_id's default value - #incident_id_present? : Bool
- #incident_id_removed? : Bool
- #incident_id_was : String | Nil | Nil
-
#incident_id_will_change! : Nil
Include
#incident_idin the set of changed attributes, whether it has changed or not. -
#invoke_props
Base class for all Engine models
-
#next_retry_at : Time | Nil
#next_retry_atgetter -
#next_retry_at=(value : Time | Nil)
#next_retry_atsetter - #next_retry_at_assigned? : Bool
-
#next_retry_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
- #next_retry_at_changed? : Bool
-
#next_retry_at_default : Time | Nil
#next_retry_at's default value - #next_retry_at_present? : Bool
- #next_retry_at_removed? : Bool
- #next_retry_at_was : Time | Nil | Nil
-
#next_retry_at_will_change! : Nil
Include
#next_retry_atin the set of changed attributes, whether it has changed or not. -
#persistent_attributes
Returns a
Hashof all attributes that can be persisted. -
#primary_key
Base class for all Engine models
- #primary_key_hash
-
#procedure_hash : String
#procedure_hashgetter -
#procedure_hash=(value : String)
#procedure_hashsetter -
#procedure_hash? : String | Nil
NOTE use
getter/getter!(notproperty/property!) so that the setter defined later in__create_initializer__is the only setter on the field. - #procedure_hash_assigned? : Bool
-
#procedure_hash_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
- #procedure_hash_changed? : Bool
-
#procedure_hash_default : String
#procedure_hash's default value - #procedure_hash_present? : Bool
- #procedure_hash_removed? : Bool
- #procedure_hash_was : String | Nil
-
#procedure_hash_will_change! : Nil
Include
#procedure_hashin the set of changed attributes, whether it has changed or not. -
#procedure_id : String
#procedure_idgetter -
#procedure_id=(value : String)
#procedure_idsetter -
#procedure_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. - #procedure_id_assigned? : Bool
-
#procedure_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
- #procedure_id_changed? : Bool
-
#procedure_id_default : String
#procedure_id's default value - #procedure_id_present? : Bool
- #procedure_id_removed? : Bool
- #procedure_id_was : String | Nil
-
#procedure_id_will_change! : Nil
Include
#procedure_idin the set of changed attributes, whether it has changed or not. -
#procedure_version : Int32
#procedure_versiongetter -
#procedure_version=(value : Int32)
#procedure_versionsetter -
#procedure_version? : Int32 | Nil
NOTE use
getter/getter!(notproperty/property!) so that the setter defined later in__create_initializer__is the only setter on the field. - #procedure_version_assigned? : Bool
-
#procedure_version_change : Tuple(Int32 | Nil, Int32 | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
- #procedure_version_changed? : Bool
-
#procedure_version_default : Int32
#procedure_version's default value - #procedure_version_present? : Bool
- #procedure_version_removed? : Bool
- #procedure_version_was : Int32 | Nil
-
#procedure_version_will_change! : Nil
Include
#procedure_versionin the set of changed attributes, whether it has changed or not. - #reset_associations
-
#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(&)
Base class for all Engine models
-
#run_save_callbacks(&)
Base class for all Engine models
-
#run_update_callbacks(&)
Base class for all Engine models
-
#started_at : Time
#started_atgetter -
#started_at=(value : Time)
#started_atsetter -
#started_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. - #started_at_assigned? : Bool
-
#started_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
- #started_at_changed? : Bool
-
#started_at_default : Time
#started_at's default value - #started_at_present? : Bool
- #started_at_removed? : Bool
- #started_at_was : Time | Nil
-
#started_at_will_change! : Nil
Include
#started_atin the set of changed attributes, whether it has changed or not. -
#status : String
#statusgetter -
#status=(value : String)
#statussetter -
#status? : String | Nil
NOTE use
getter/getter!(notproperty/property!) so that the setter defined later in__create_initializer__is the only setter on the field. - #status_assigned? : Bool
-
#status_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
- #status_changed? : Bool
-
#status_default : String
#status's default value - #status_present? : Bool
- #status_removed? : Bool
- #status_was : String | Nil
-
#status_will_change! : Nil
Include
#statusin the set of changed attributes, whether it has changed or not. - #table_name
-
#validate_nilability
Validate that all non-nillable fields have values.
Instance methods inherited from class PlaceOS::Model::ModelBase
after_create
after_create,
after_destroy
after_destroy,
after_save
after_save,
after_update
after_update,
apply_defaults
apply_defaults,
assign_attributes(params : HTTP::Params | Hash(String, String) | Tuple(String, String))assign_attributes(model : PlaceOS::Model::ModelBase)
assign_attributes assign_attributes, attributes attributes, attributes_tuple attributes_tuple, before_create before_create, before_destroy before_destroy, before_save before_save, before_update before_update, invoke_props invoke_props, persistent_attributes persistent_attributes, primary_key primary_key, run_create_callbacks(&) run_create_callbacks, run_destroy_callbacks(&) run_destroy_callbacks, run_save_callbacks(&) run_save_callbacks, run_update_callbacks(&) run_update_callbacks
Constructor methods inherited from class PlaceOS::Model::ModelBase
new(ctx : YAML::ParseContext, node : YAML::Nodes::Node)new(pull : JSON::PullParser)
new(rs : DB::ResultSet) new
Class methods inherited from class PlaceOS::Model::ModelBase
attributes : Array(Symbol)
attributes,
from_rs(rs : DB::ResultSet)
from_rs,
primary_key
primary_key
Instance methods inherited from module PlaceOS::Model::Associations
format_list_for_postgres(list : Enumerable(String)) : String
format_list_for_postgres,
reset_associations
reset_associations
Class methods inherited from module PlaceOS::Model::Associations
format_list_for_postgres(list : Enumerable(String)) : String
format_list_for_postgres
Macros inherited from module PlaceOS::Model::Associations
belongs_to(parent_class, dependent = :none, association_name = nil, foreign_key = nil, presence = false, pk_type = nil, serialize = true)
belongs_to,
has_many(child_class, collection_name = nil, dependent = :none, foreign_key = nil, serialize = false)
has_many,
has_one(child_class, dependent = :none, association_name = nil, presence = false)
has_one
Constructor Detail
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">
Serialize from a trusted JSON source
Serialize from a trusted YAML source
Initialize PlaceOS::Model::AiVerificationRun 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.
Instance Method Detail
Base class for all Engine models
Base class for all Engine models
Base class for all Engine models
Base class for all Engine models
Assign to multiple attributes.
Assign to multiple attributes via HTTP::Params.
Assign to multiple attributes from a model object
Assign each field from JSON if field exists in JSON and has changed in model
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.
Returns a Tuple of the previous and the current value of an instance variable if it has changed
Include #attempt in the set of changed attributes, whether it has changed or not.
Base class for all Engine models
Base class for all Engine models
Base class for all Engine models
Base class for all Engine models
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.
Returns a Tuple of the previous and the current value of an instance variable if it has changed
Include #checks_json 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.
Returns a Tuple of the previous and the current value of an instance variable if it has changed
Include #completed_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.
Returns a Tuple of the previous and the current value of an instance variable if it has changed
Include #evidence_json in the set of changed attributes, whether it has changed or not.
Returns a Tuple of the previous and the current value of an instance variable if it has changed
Include #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.
Returns a Tuple of the previous and the current value of an instance variable if it has changed
Include #incident_id in the set of changed attributes, whether it has changed or not.
Base class for all Engine models
Returns a Tuple of the previous and the current value of an instance variable if it has changed
Include #next_retry_at in the set of changed attributes, whether it has changed or not.
Base class for all Engine models
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.
Returns a Tuple of the previous and the current value of an instance variable if it has changed
Include #procedure_hash 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.
Returns a Tuple of the previous and the current value of an instance variable if it has changed
Include #procedure_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.
Returns a Tuple of the previous and the current value of an instance variable if it has changed
Include #procedure_version in the set of changed attributes, whether it has changed or not.
Base class for all Engine models
Base class for all Engine models
Base class for all Engine models
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.
Returns a Tuple of the previous and the current value of an instance variable if it has changed
Include #started_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.
Returns a Tuple of the previous and the current value of an instance variable if it has changed