class Store

Included Modules

Defined in:

models/store.cr

Constant Summary

ASSOCIATIONS = [{type: OrderItem, assoc_name: order_items, foreign_key: :store_id, relationship_type: :has_many, through: nil}, {type: GoodsInStore, assoc_name: goods_in_stores, foreign_key: :store_id, relationship_type: :has_many, through: nil}, {type: Good, assoc_name: goods, foreign_key: :store_id, relationship_type: :has_many, through: [:goods_in_stores, :good]}, {type: StoreOrder, assoc_name: store_orders, foreign_key: :store_id, relationship_type: :has_many, through: nil}, {type: UserStoreDeliveryPoint, assoc_name: user_store_delivery_points, foreign_key: :store_id, relationship_type: :has_many, through: nil}, {type: Address, assoc_name: address, foreign_key: :address_id, relationship_type: :belongs_to, through: nil}] of Nil
COLUMNS = [{name: id, type: Int32, 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: address_id, type: Address::PrimaryKeyType, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: type, type: Int16, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: name, type: String, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: address_notes, type: String, nilable: false, autogenerated: false, value: nil, serialized: false}] of Nil
PRIMARY_KEY_NAME = :id
PRIMARY_KEY_TYPE = Int32

Constructors

Class Method Summary

Instance Method Summary

Class methods inherited from class BaseModel

database : Avram::Database.class database

Constructor Detail

def self.new(id : Int32, created_at : Time, updated_at : Time, address_id : Int32, type : Int16, name : String, address_notes : String) #

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

def self.primary_key_name : Symbol | Nil #

def self.schema_enforcer_validations #

def self.table_name : String #

Instance Method Detail

def _preloaded_goods=(_preloaded_goods : Nil | Array(Good)) #

def _preloaded_goods_in_stores=(_preloaded_goods_in_stores : Nil | Array(GoodsInStore)) #

def _preloaded_order_items=(_preloaded_order_items : Nil | Array(OrderItem)) #

def _preloaded_store_orders=(_preloaded_store_orders : Nil | Array(StoreOrder)) #

def _preloaded_user_store_delivery_points=(_preloaded_user_store_delivery_points : Nil | Array(UserStoreDeliveryPoint)) #

def address : Address #

def address! : Address #

def address_count : Int64 #

def address_id : Address::PrimaryKeyType #

def address_id=(_address_id : Address::PrimaryKeyType::Lucky::ColumnType) #

def address_notes : String #

def address_notes=(_address_notes : String::Lucky::ColumnType) #

def address_query #

def base_query_class : ::Store::BaseQuery.class #

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


def created_at : Time #

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

def delete_operation_class : ::Store::DeleteOperation.class #

def goods : Array(Good) #

def goods! : Array(Good) #

def goods_count : Int64 #

def goods_in_stores : Array(GoodsInStore) #

def goods_in_stores! : Array(GoodsInStore) #

def goods_in_stores_count : Int64 #

def goods_in_stores_query #

def goods_query #

def id : Int32 #

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

def name : String #

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

def order_items : Array(OrderItem) #

def order_items! : Array(OrderItem) #

def order_items_count : Int64 #

def order_items_query #

def save_operation_class : ::Store::SaveOperation.class #

def store_orders : Array(StoreOrder) #

def store_orders! : Array(StoreOrder) #

def store_orders_count : Int64 #

def store_orders_query #

def type : Int16 #

def type=(_type : Int16::Lucky::ColumnType) #

def updated_at : Time #

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

def user_store_delivery_points : Array(UserStoreDeliveryPoint) #

def user_store_delivery_points! : Array(UserStoreDeliveryPoint) #

def user_store_delivery_points_count : Int64 #

def user_store_delivery_points_query #