class Product

Included Modules

Defined in:

models/product.cr

Constant Summary

ASSOCIATIONS = [{type: ProcessLine, assoc_name: process_line, foreign_key: :process_line_id, relationship_type: :belongs_to, through: nil}, {type: Workshop, assoc_name: workshop, foreign_key: :workshop_id, relationship_type: :belongs_to, through: nil}, {type: Manufactory, assoc_name: manufactory, foreign_key: :manufactory_id, relationship_type: :belongs_to, through: nil}, {type: Company, assoc_name: company, foreign_key: :company_id, relationship_type: :belongs_to, 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: place, type: Product::Place, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: reason, type: Product::Reason, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: report_date, type: String, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: process_line_id, type: ProcessLine::PrimaryKeyType, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: workshop_id, type: Workshop::PrimaryKeyType, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: manufactory_id, type: Manufactory::PrimaryKeyType, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: company_id, type: Company::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, place : Int32 | Int64, reason : Int32 | Int64, report_date : String, process_line_id : Int64, workshop_id : Int64, manufactory_id : Int64, company_id : Int64) #

def self.new(__temp_126 : 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_126 : DB::ResultSet) #

def self.primary_key_name : Symbol | Nil #

def self.schema_enforcer_validations #

def self.table_name : String #

Instance Method Detail

def base_query_class : ::Product::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 : ::Product::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 place : Product::Place #

def place=(_place : Product::Place::Lucky::ColumnType) #

def process_line : ProcessLine #

def process_line! : ProcessLine #

def process_line_count : Int64 #

def process_line_id : ProcessLine::PrimaryKeyType #

def process_line_id=(_process_line_id : ProcessLine::PrimaryKeyType::Lucky::ColumnType) #

def process_line_query #

def reason : Product::Reason #

def reason=(_reason : Product::Reason::Lucky::ColumnType) #

def report_date : String #

def report_date=(_report_date : String::Lucky::ColumnType) #

def save_operation_class : ::Product::SaveOperation.class #

def updated_at : Time #

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

def workshop : Workshop #

def workshop! : Workshop #

def workshop_count : Int64 #

def workshop_id : Workshop::PrimaryKeyType #

def workshop_id=(_workshop_id : Workshop::PrimaryKeyType::Lucky::ColumnType) #

def workshop_query #