class Workshop

Included Modules

Defined in:

models/workshop.cr

Constant Summary

ASSOCIATIONS = [{type: Company, assoc_name: company, foreign_key: :company_id, relationship_type: :belongs_to, through: nil}, {type: Manufactory, assoc_name: manufactory, foreign_key: :manufactory_id, relationship_type: :belongs_to, through: nil}, {type: ProcessLine, assoc_name: process_lines, foreign_key: :workshop_id, relationship_type: :has_many, through: nil}] of Nil
COLUMNS = [{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: name, type: String, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: company_id, type: Company::PrimaryKeyType, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: manufactory_id, type: Manufactory::PrimaryKeyType, nilable: false, autogenerated: false, value: nil, serialized: false}] of Nil
PRIMARY_KEY_NAME = :id
PRIMARY_KEY_TYPE = Int64

Constructors

Class Method Summary

Instance Method Summary

Instance methods inherited from class BaseModel

creation_date creation_date

Class methods inherited from class BaseModel

database : Avram::Database.class database

Constructor Detail

def self.new(id : Int64, created_at : Time, updated_at : Time, name : String, company_id : Int64, manufactory_id : Int64) #

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

Class Method Detail

def self.column_names : Array(Symbol) #

def self.columns : Array(NamedTuple(name: Symbol, nilable: Bool, type: String)) #

def self.ensure_correct_column_mappings! #

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

def self.primary_key_name : Symbol | Nil #

def self.schema_enforcer_validations #

def self.table_name : String #

Instance Method Detail

def _preloaded_process_lines=(vals : Array(ProcessLine)) : Array(ProcessLine) #

def base_query_class : ::Workshop::BaseQuery.class #

This makes it easy for plugins and extensions to use the base SaveOperation


def company : Company #

def company! : Company #

def company_count : Int64 #

def company_id : Company::PrimaryKeyType #

def company_id=(_company_id : Company::PrimaryKeyType::Lucky::ColumnType) #

def company_query #

def created_at : Time #

def created_at=(_created_at : Time::Lucky::ColumnType) #

def delete_operation_class : ::Workshop::DeleteOperation.class #

def id : Int64 #

def id=(_id : Int64::Lucky::ColumnType) #

def manufactory : Manufactory #

def manufactory! : Manufactory #

def manufactory_count : Int64 #

def manufactory_id : Manufactory::PrimaryKeyType #

def manufactory_id=(_manufactory_id : Manufactory::PrimaryKeyType::Lucky::ColumnType) #

def manufactory_query #

def name : String #

def name=(_name : String::Lucky::ColumnType) #

def process_lines : Array(ProcessLine) #

def process_lines! : Array(ProcessLine) #

def process_lines_count : Int64 #

def process_lines_query #

def save_operation_class : ::Workshop::SaveOperation.class #

def updated_at : Time #

def updated_at=(_updated_at : Time::Lucky::ColumnType) #