class PlaceOS::Model::Upload

Included Modules

Defined in:

placeos-models/upload.cr

Constant Summary

CALLBACKS = {before_save: [] 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: [] of Nil}
Log = ::Log.for(self)

Constructors

Class Method Summary

Instance Method Summary

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, 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, auto_generate_id : Bool auto_generate_id, from_rs(rs : DB::ResultSet) from_rs, primary_key : Symbol 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

def self.from_json(string_or_io : String | IO, trusted : Bool = false) : self #

def 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. 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">

def self.from_trusted_json(string_or_io : String | IO, root : String) : self #

def self.from_trusted_json(string_or_io : String | IO) : self #

Serialize from a trusted JSON source


def self.from_trusted_yaml(string_or_io : String | IO) : self #

Serialize from a trusted YAML source


def self.from_yaml(string_or_io : String | IO, trusted : Bool = false) : self #

def self.new(ctx : YAML::ParseContext, node : YAML::Nodes::Node) #

def self.new(pull : JSON::PullParser) #

def self.new(rs : DB::ResultSet) #

def self.new(created_at : Time | ActiveModel::Model::None = ::ActiveModel::Model::None.new, updated_at : Time | ActiveModel::Model::None = ::ActiveModel::Model::None.new, uploaded_email : PlaceOS::Model::Email | ActiveModel::Model::None = ::ActiveModel::Model::None.new, file_name : String | ActiveModel::Model::None = ::ActiveModel::Model::None.new, file_size : Int64 | ActiveModel::Model::None = ::ActiveModel::Model::None.new, file_path : String | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, object_key : String | ActiveModel::Model::None = ::ActiveModel::Model::None.new, file_md5 : String | ActiveModel::Model::None = ::ActiveModel::Model::None.new, public : Bool | ActiveModel::Model::None = ::ActiveModel::Model::None.new, permissions : PlaceOS::Model::Upload::Permissions | ActiveModel::Model::None = ::ActiveModel::Model::None.new, object_options : Hash(String, JSON::Any) | ActiveModel::Model::None = ::ActiveModel::Model::None.new, resumable_id : String | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, resumable : Bool | ActiveModel::Model::None = ::ActiveModel::Model::None.new, part_list : Array(Int32) | ActiveModel::Model::None = ::ActiveModel::Model::None.new, part_data : Hash(String, JSON::Any) | ActiveModel::Model::None = ::ActiveModel::Model::None.new, upload_complete : Bool | ActiveModel::Model::None = ::ActiveModel::Model::None.new, storage_id : String | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, uploaded_by : String | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, id : String | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new) #

def self.new(params : HTTP::Params | Hash(String, String) | Tuple(String, String)) #

Initialize PlaceOS::Model::Upload from HTTP::Params.


Class Method Detail

def self.attributes : Array(Symbol) #

Returns all attribute keys.


def self.auto_generate_id : Bool #

def self.by_storage_id(id) #

Look up instances of this model dependent on the foreign key


def self.by_uploaded_by(id) #

Look up instances of this model dependent on the foreign key


def self.changes(id : PrimaryKeyType = nil) : ChangeFeed #

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.


def self.elastic #

def self.from_rs(__temp_663 : DB::ResultSet) #

def self.on_error(err : Exception | IO::Error) #

def self.primary_key : Symbol #

def self.safe_filename?(filename : String) : Bool #

def self.table_name #

Instance Method Detail

def __storage : Storage | Nil #

def __storage=(__storage : Storage | Nil) #

def __user : User | Nil #

def __user=(__user : User | Nil) #

def after_create #
Description copied from class PlaceOS::Model::ModelBase

Base class for all Engine models


def after_destroy #
Description copied from class PlaceOS::Model::ModelBase

Base class for all Engine models


def after_initialize(trusted : Bool) #

def after_save #
Description copied from class PlaceOS::Model::ModelBase

Base class for all Engine models


def after_update #
Description copied from class PlaceOS::Model::ModelBase

Base class for all Engine models


def apply_defaults #

Generate code to apply default values


def assign_attributes(created_at : Time | Missing = Missing, updated_at : Time | Missing = Missing, uploaded_email : PlaceOS::Model::Email | Missing = Missing, file_name : String | Missing = Missing, file_size : Int64 | Missing = Missing, file_path : String | Nil | Missing = Missing, object_key : String | Missing = Missing, file_md5 : String | Missing = Missing, public : Bool | Missing = Missing, permissions : PlaceOS::Model::Upload::Permissions | Missing = Missing, object_options : Hash(String, JSON::Any) | Missing = Missing, resumable_id : String | Nil | Missing = Missing, resumable : Bool | Missing = Missing, part_list : Array(Int32) | Missing = Missing, part_data : Hash(String, JSON::Any) | Missing = Missing, upload_complete : Bool | Missing = Missing, storage_id : String | Nil | Missing = Missing, uploaded_by : String | Nil | Missing = Missing, id : String | Nil | Missing = Missing) #

Assign to multiple attributes.


def assign_attributes(params : HTTP::Params | Hash(String, String) | Tuple(String, String)) #

Assign to mulitple attributes via HTTP::Params.


def assign_attributes(model : PlaceOS::Model::Upload) #

Assign to multiple attributes from a model object


def assign_attributes_from_json(json, root : String) #

def assign_attributes_from_json(json) #

def assign_attributes_from_trusted_json(json, root : String) #

def assign_attributes_from_trusted_json(json) #

Assign each field from JSON if field exists in JSON and has changed in model


def assign_attributes_from_trusted_yaml(yaml) #

def assign_attributes_from_yaml(yaml) #

Uses the YAML parser as JSON is valid YAML


def attributes #

Returns a Hash of all attribute values


def attributes_tuple #

Returns a NamedTuple of all attribute values.


def before_create #
Description copied from class PlaceOS::Model::ModelBase

Base class for all Engine models


def before_destroy #
Description copied from class PlaceOS::Model::ModelBase

Base class for all Engine models


def before_save #
Description copied from class PlaceOS::Model::ModelBase

Base class for all Engine models


def before_update #
Description copied from class PlaceOS::Model::ModelBase

Base class for all Engine models


def changed? #

Check if any attributes have changed.


def changed_attributes #

Returns a Hash with all changed attributes.


def changed_json(io : IO) : Nil #

Serialize the set of changed attributes to JSON.


def changed_json : String #

Serialize the set of changed attributes to JSON.


def changed_persist_attributes #

def changed_yaml(io : IO) : Nil #

Serialize the set of changed attributes to YAML.


def changed_yaml : String #

Serialize the set of changed attributes to YAML.


def clear_changes_information #

Reset changes for all attributes.


def created_at : Time #

#created_at getter


def created_at=(value : Time) #

Setters #created_at setter


def created_at? : Time | Nil #

def created_at_assigned? : Bool #

def 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


def created_at_changed? : Bool #

def created_at_default : Time #

#created_at's default value


def created_at_present? : Bool #

def created_at_was : Time | Nil #

def created_at_will_change! : Nil #

Include #created_at in the set of changed attributes, whether it has changed or not.


def file_md5 : String #

#file_md5 getter


def file_md5=(value : String) #

#file_md5 setter


def file_md5? : String | Nil #

def file_md5_assigned? : Bool #

def file_md5_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


def file_md5_changed? : Bool #

def file_md5_default : String #

#file_md5's default value


def file_md5_present? : Bool #

def file_md5_was : String | Nil #

def file_md5_will_change! : Nil #

Include #file_md5 in the set of changed attributes, whether it has changed or not.


def file_name : String #

#file_name getter


def file_name=(value : String) #

#file_name setter


def file_name? : String | Nil #

def file_name_assigned? : Bool #

def file_name_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


def file_name_changed? : Bool #

def file_name_default : String #

#file_name's default value


def file_name_present? : Bool #

def file_name_was : String | Nil #

def file_name_will_change! : Nil #

Include #file_name in the set of changed attributes, whether it has changed or not.


def file_path : String | Nil #

#file_path getter


def file_path=(value : String | Nil) #

#file_path setter


def file_path_assigned? : Bool #

def file_path_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


def file_path_changed? : Bool #

def file_path_default : String | Nil #

#file_path's default value


def file_path_present? : Bool #

def file_path_was : String | Nil | Nil #

def file_path_will_change! : Nil #

Include #file_path in the set of changed attributes, whether it has changed or not.


def file_size : Int64 #

#file_size getter


def file_size=(value : Int64) #

#file_size setter


def file_size? : Int64 | Nil #

def file_size_assigned? : Bool #

def file_size_change : Tuple(Int64 | Nil, Int64 | Nil) | Nil #

Returns a Tuple of the previous and the current value of an instance variable if it has changed


def file_size_changed? : Bool #

def file_size_default : Int64 #

#file_size's default value


def file_size_present? : Bool #

def file_size_was : Int64 | Nil #

def file_size_will_change! : Nil #

Include #file_size in the set of changed attributes, whether it has changed or not.


def id : String | Nil #

#id getter


def id=(value : String | Nil) #

#id setter


def id? : String | Nil | Nil #
Description copied from class PgORM::Base

Same as #id but may return nil when the record hasn't been saved instead of raising.


def id_assigned? : Bool #

def 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


def id_changed? : Bool #

def id_default : String | Nil #

#id's default value


def id_present? : Bool #

def id_was : String | Nil | Nil #

def id_will_change! : Nil #

Include #id in the set of changed attributes, whether it has changed or not.


def invoke_props #
Description copied from class PlaceOS::Model::ModelBase

Base class for all Engine models


def object_key : String #

#object_key getter


def object_key=(value : String) #

#object_key setter


def object_key? : String | Nil #

def object_key_assigned? : Bool #

def object_key_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


def object_key_changed? : Bool #

def object_key_default : String #

#object_key's default value


def object_key_present? : Bool #

def object_key_was : String | Nil #

def object_key_will_change! : Nil #

Include #object_key in the set of changed attributes, whether it has changed or not.


def object_options : Hash(String, JSON::Any) #

def object_options=(value : Hash(String, JSON::Any)) #

def object_options? : Hash(String, JSON::Any) | Nil #

def object_options_assigned? : Bool #

def object_options_change : Tuple(Hash(String, JSON::Any) | Nil, Hash(String, JSON::Any) | Nil) | Nil #

Returns a Tuple of the previous and the current value of an instance variable if it has changed


def object_options_changed? : Bool #

def object_options_default : Hash(String, JSON::Any) #

#object_options's default value


def object_options_present? : Bool #

def object_options_was : Hash(String, JSON::Any) | Nil #

def object_options_will_change! : Nil #

Include #object_options in the set of changed attributes, whether it has changed or not.


def part_data : Hash(String, JSON::Any) #

#part_data getter


def part_data=(value : Hash(String, JSON::Any)) #

#part_data setter


def part_data? : Hash(String, JSON::Any) | Nil #

def part_data_assigned? : Bool #

def part_data_change : Tuple(Hash(String, JSON::Any) | Nil, Hash(String, JSON::Any) | Nil) | Nil #

Returns a Tuple of the previous and the current value of an instance variable if it has changed


def part_data_changed(flag : Bool = true) #

def part_data_changed? : Bool #

def part_data_default : Hash(String, JSON::Any) #

#part_data's default value


def part_data_present? : Bool #

def part_data_was : Hash(String, JSON::Any) | Nil #

def part_data_will_change! : Nil #

Include #part_data in the set of changed attributes, whether it has changed or not.


def part_list : Array(Int32) #

#part_list getter


def part_list=(value : Array(Int32)) #

#part_list setter


def part_list? : Array(Int32) | Nil #

def part_list_assigned? : Bool #

def part_list_change : Tuple(Array(Int32) | Nil, Array(Int32) | Nil) | Nil #

Returns a Tuple of the previous and the current value of an instance variable if it has changed


def part_list_changed? : Bool #

def part_list_default : Array(Int32) #

#part_list's default value


def part_list_present? : Bool #

def part_list_was : Array(Int32) | Nil #

def part_list_will_change! : Nil #

Include #part_list in the set of changed attributes, whether it has changed or not.


#permissions getter


def permissions=(value : PlaceOS::Model::Upload::Permissions) #

#permissions setter


def permissions? : PlaceOS::Model::Upload::Permissions | Nil #

def permissions_assigned? : Bool #

def permissions_change : Tuple(PlaceOS::Model::Upload::Permissions | Nil, PlaceOS::Model::Upload::Permissions | Nil) | Nil #

Returns a Tuple of the previous and the current value of an instance variable if it has changed


def permissions_changed? : Bool #

def permissions_default : Permissions #

#permissions's default value


def permissions_present? : Bool #

def permissions_was : PlaceOS::Model::Upload::Permissions | Nil #

def permissions_will_change! : Nil #

Include #permissions in the set of changed attributes, whether it has changed or not.


def persistent_attributes #

Returns a Hash of all attributes that can be persisted.


def public : Bool #

#public getter


def public=(value : Bool) #

#public setter


def public? : Bool | Nil #

def public_assigned? : Bool #

def public_change : Tuple(Bool | Nil, Bool | Nil) | Nil #

Returns a Tuple of the previous and the current value of an instance variable if it has changed


def public_changed? : Bool #

def public_default : Bool #

#public's default value


def public_present? : Bool #

def public_was : Bool | Nil #

def public_will_change! : Nil #

Include #public in the set of changed attributes, whether it has changed or not.


def reset_associations #

def restore_attributes #

Reset each attribute to their previous values and clears all changes.


def resumable : Bool #

#resumable getter


def resumable=(value : Bool) #

#resumable setter


def resumable? : Bool | Nil #

def resumable_assigned? : Bool #

def resumable_change : Tuple(Bool | Nil, Bool | Nil) | Nil #

Returns a Tuple of the previous and the current value of an instance variable if it has changed


def resumable_changed? : Bool #

def resumable_default : Bool #

#resumable's default value


def resumable_id : String | Nil #

#resumable_id getter


def resumable_id=(value : String | Nil) #

#resumable_id setter


def resumable_id_assigned? : Bool #

def resumable_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


def resumable_id_changed? : Bool #

def resumable_id_default : String | Nil #

#resumable_id's default value


def resumable_id_present? : Bool #

def resumable_id_was : String | Nil | Nil #

def resumable_id_will_change! : Nil #

Include #resumable_id in the set of changed attributes, whether it has changed or not.


def resumable_present? : Bool #

def resumable_was : Bool | Nil #

def resumable_will_change! : Nil #

Include #resumable in the set of changed attributes, whether it has changed or not.


def run_create_callbacks(&) #

Wrap a block with callbacks for the appropriate crud operation


def run_destroy_callbacks(&) #
Description copied from class PlaceOS::Model::ModelBase

Base class for all Engine models


def run_save_callbacks(&) #
Description copied from class PlaceOS::Model::ModelBase

Base class for all Engine models


def run_update_callbacks(&) #
Description copied from class PlaceOS::Model::ModelBase

Base class for all Engine models


def storage : Storage | Nil #

Retrieves the parent relationship


def storage! : Storage #

def storage=(parent : Storage) #

Sets the parent relationship


def storage_id : String | Nil #

#storage_id getter


def storage_id=(value : String | Nil) #

#storage_id setter


def storage_id_assigned? : Bool #

def storage_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


def storage_id_changed? : Bool #

def storage_id_default : String | Nil #

#storage_id's default value


def storage_id_present? : Bool #

def storage_id_was : String | Nil | Nil #

def storage_id_will_change! : Nil #

Include #storage_id in the set of changed attributes, whether it has changed or not.


def table_name #

def updated_at : Time #

#updated_at getter


def updated_at=(value : Time) #

#updated_at setter


def updated_at? : Time | Nil #

def updated_at_assigned? : Bool #

def 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


def updated_at_changed? : Bool #

def updated_at_default : Time #

#updated_at's default value


def updated_at_present? : Bool #

def updated_at_was : Time | Nil #

def updated_at_will_change! : Nil #

Include #updated_at in the set of changed attributes, whether it has changed or not.


def upload_complete : Bool #

def upload_complete=(value : Bool) #

def upload_complete? : Bool | Nil #

def upload_complete_assigned? : Bool #

def upload_complete_change : Tuple(Bool | Nil, Bool | Nil) | Nil #

Returns a Tuple of the previous and the current value of an instance variable if it has changed


def upload_complete_changed? : Bool #

def upload_complete_default : Bool #

#upload_complete's default value


def upload_complete_present? : Bool #

def upload_complete_was : Bool | Nil #

def upload_complete_will_change! : Nil #

Include #upload_complete in the set of changed attributes, whether it has changed or not.


def uploaded_by : String | Nil #

#uploaded_by getter


def uploaded_by=(value : String | Nil) #

#uploaded_by setter


def uploaded_by_assigned? : Bool #

def uploaded_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


def uploaded_by_changed? : Bool #

def uploaded_by_default : String | Nil #

#uploaded_by's default value


def uploaded_by_present? : Bool #

def uploaded_by_was : String | Nil | Nil #

def uploaded_by_will_change! : Nil #

Include #uploaded_by in the set of changed attributes, whether it has changed or not.


def uploaded_email : PlaceOS::Model::Email #

def uploaded_email=(value : PlaceOS::Model::Email) #

def uploaded_email? : PlaceOS::Model::Email | Nil #

def uploaded_email_assigned? : Bool #

def uploaded_email_change : Tuple(PlaceOS::Model::Email | Nil, PlaceOS::Model::Email | Nil) | Nil #

Returns a Tuple of the previous and the current value of an instance variable if it has changed


def uploaded_email_changed? : Bool #

def uploaded_email_default : Email #

#uploaded_email's default value


def uploaded_email_present? : Bool #

def uploaded_email_was : PlaceOS::Model::Email | Nil #

def uploaded_email_will_change! : Nil #

Include #uploaded_email in the set of changed attributes, whether it has changed or not.


def user : User | Nil #

Retrieves the parent relationship


def user! : User #

def user=(parent : User) #

Sets the parent relationship


def validate_nilability #

Validate that all non-nillable fields have values.