class PlaceOS::Model::BookingInstance
- PlaceOS::Model::BookingInstance
- PlaceOS::Model::ModelWithAutoKey
- PgORM::Base
- ActiveModel::Model
- Reference
- Object
Included Modules
Defined in:
placeos-models/booking_instance.crConstant 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
- .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(instance_start : Int64 | ActiveModel::Model::None = ::ActiveModel::Model::None.new, tenant_id : Int64 | ActiveModel::Model::None = ::ActiveModel::Model::None.new, booking_start : Int64 | ActiveModel::Model::None = ::ActiveModel::Model::None.new, booking_end : Int64 | ActiveModel::Model::None = ::ActiveModel::Model::None.new, checked_in : Bool | ActiveModel::Model::None = ::ActiveModel::Model::None.new, checked_in_at : Int64 | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, checked_out_at : Int64 | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, deleted : Bool | ActiveModel::Model::None = ::ActiveModel::Model::None.new, deleted_at : Int64 | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, extension_data : JSON::Any | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, history : Array(PlaceOS::Model::Booking::History) | ActiveModel::Model::None = ::ActiveModel::Model::None.new, id : Int64 | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, created_at : Time | ActiveModel::Model::None = ::ActiveModel::Model::None.new, updated_at : Time | ActiveModel::Model::None = ::ActiveModel::Model::None.new)
-
.new(params : HTTP::Params | Hash(String, String) | Tuple(String, String))
Initialize PlaceOS::Model::BookingInstance from
HTTP::Params.
Class Method Summary
-
.attributes : Array(Symbol)
Returns all attribute keys.
- .auto_generate_id : Bool
- .by_tenant(tenant_id)
-
.changes(id : PrimaryKeyType = nil) : ChangeFeed
Changefeed at row (if
#idpassed) or whole table level. - .elastic
- .from_rs(__temp_930 : DB::ResultSet)
- .on_error(err : Exception | IO::Error)
- .primary_key : Symbol
- .table_name
Macro Summary
Instance Method Summary
-
#after_create
Base class for all models which have auto-generated bigint as pk and doesn't require string based auto generated pk
-
#after_destroy
Base class for all models which have auto-generated bigint as pk and doesn't require string based auto generated pk
- #after_initialize(trusted : Bool)
-
#after_save
Base class for all models which have auto-generated bigint as pk and doesn't require string based auto generated pk
-
#after_update
Base class for all models which have auto-generated bigint as pk and doesn't require string based auto generated pk
-
#apply_defaults
Generate code to apply default values
-
#assign_attributes(instance_start : Int64 | Missing = Missing, tenant_id : Int64 | Missing = Missing, booking_start : Int64 | Missing = Missing, booking_end : Int64 | Missing = Missing, checked_in : Bool | Missing = Missing, checked_in_at : Int64 | Nil | Missing = Missing, checked_out_at : Int64 | Nil | Missing = Missing, deleted : Bool | Missing = Missing, deleted_at : Int64 | Nil | Missing = Missing, extension_data : JSON::Any | Nil | Missing = Missing, history : Array(PlaceOS::Model::Booking::History) | Missing = Missing, id : Int64 | Nil | Missing = Missing, created_at : Time | Missing = Missing, updated_at : Time | Missing = Missing)
Assign to multiple attributes.
-
#assign_attributes(params : HTTP::Params | Hash(String, String) | Tuple(String, String))
Assign to mulitple attributes via
HTTP::Params. -
#assign_attributes(model : PlaceOS::Model::BookingInstance)
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
-
#attributes
Returns a
Hashof all attribute values -
#attributes_tuple
Returns a
NamedTupleof all attribute values. -
#before_create
Base class for all models which have auto-generated bigint as pk and doesn't require string based auto generated pk
-
#before_destroy
Base class for all models which have auto-generated bigint as pk and doesn't require string based auto generated pk
-
#before_save
Base class for all models which have auto-generated bigint as pk and doesn't require string based auto generated pk
-
#before_update
Base class for all models which have auto-generated bigint as pk and doesn't require string based auto generated pk
-
#booking_end : Int64
#booking_endgetter -
#booking_end=(value : Int64)
#booking_endsetter - #booking_end? : Int64 | Nil
- #booking_end_assigned? : Bool
-
#booking_end_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
- #booking_end_changed? : Bool
-
#booking_end_default : Int64
#booking_end's default value - #booking_end_present? : Bool
- #booking_end_was : Int64 | Nil
-
#booking_end_will_change! : Nil
Include
#booking_endin the set of changed attributes, whether it has changed or not. -
#booking_start : Int64
#booking_startgetter -
#booking_start=(value : Int64)
#booking_startsetter -
#booking_start? : Int64 | Nil
the new start and end times
- #booking_start_assigned? : Bool
-
#booking_start_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
- #booking_start_changed? : Bool
-
#booking_start_default : Int64
#booking_start's default value -
#booking_start_present? : Bool
the new start and end times
- #booking_start_was : Int64 | Nil
-
#booking_start_will_change! : Nil
Include
#booking_startin the set of changed attributes, whether it has changed or not. -
#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.
-
#checked_in : Bool
#checked_ingetter -
#checked_in=(value : Bool)
#checked_insetter - #checked_in? : Bool | Nil
- #checked_in_assigned? : Bool
-
#checked_in_at : Int64 | Nil
#checked_in_atgetter -
#checked_in_at=(value : Int64 | Nil)
#checked_in_atsetter - #checked_in_at_assigned? : Bool
-
#checked_in_at_change : Tuple(Int64 | Nil | Nil, Int64 | Nil | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
- #checked_in_at_changed? : Bool
-
#checked_in_at_default : Int64 | Nil
#checked_in_at's default value - #checked_in_at_present? : Bool
- #checked_in_at_was : Int64 | Nil | Nil
-
#checked_in_at_will_change! : Nil
Include
#checked_in_atin the set of changed attributes, whether it has changed or not. -
#checked_in_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
- #checked_in_changed? : Bool
-
#checked_in_default : Bool
#checked_in's default value - #checked_in_present? : Bool
- #checked_in_was : Bool | Nil
-
#checked_in_will_change! : Nil
Include
#checked_inin the set of changed attributes, whether it has changed or not. -
#checked_out_at : Int64 | Nil
#checked_out_atgetter -
#checked_out_at=(value : Int64 | Nil)
#checked_out_atsetter - #checked_out_at_assigned? : Bool
-
#checked_out_at_change : Tuple(Int64 | Nil | Nil, Int64 | Nil | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
- #checked_out_at_changed? : Bool
-
#checked_out_at_default : Int64 | Nil
#checked_out_at's default value - #checked_out_at_present? : Bool
- #checked_out_at_was : Int64 | Nil | Nil
-
#checked_out_at_will_change! : Nil
Include
#checked_out_atin the set of changed attributes, whether it has changed or not. -
#clear_changes_information
Reset changes for all attributes.
-
#created_at : Time
#created_atgetter -
#created_at=(value : Time)
#created_atsetter - #created_at? : Time | Nil
- #created_at_assigned? : Bool
-
#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
- #created_at_changed? : Bool
-
#created_at_default : Time
#created_at's default value - #created_at_present? : Bool
- #created_at_was : Time | Nil
-
#created_at_will_change! : Nil
Include
#created_atin the set of changed attributes, whether it has changed or not. -
#deleted : Bool
#deletedgetter -
#deleted=(value : Bool)
#deletedsetter - #deleted? : Bool | Nil
- #deleted_assigned? : Bool
-
#deleted_at : Int64 | Nil
#deleted_atgetter -
#deleted_at=(value : Int64 | Nil)
#deleted_atsetter - #deleted_at_assigned? : Bool
-
#deleted_at_change : Tuple(Int64 | Nil | Nil, Int64 | Nil | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
- #deleted_at_changed? : Bool
-
#deleted_at_default : Int64 | Nil
#deleted_at's default value - #deleted_at_present? : Bool
- #deleted_at_was : Int64 | Nil | Nil
-
#deleted_at_will_change! : Nil
Include
#deleted_atin the set of changed attributes, whether it has changed or not. -
#deleted_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
- #deleted_changed? : Bool
-
#deleted_default : Bool
#deleted's default value - #deleted_present? : Bool
- #deleted_was : Bool | Nil
-
#deleted_will_change! : Nil
Include
#deletedin the set of changed attributes, whether it has changed or not. -
#extension_data : JSON::Any | Nil
#extension_datagetter -
#extension_data=(value : JSON::Any | Nil)
#extension_datasetter - #extension_data_assigned? : Bool
-
#extension_data_change : Tuple(JSON::Any | Nil | Nil, JSON::Any | Nil | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
- #extension_data_changed? : Bool
-
#extension_data_default : JSON::Any | Nil
#extension_data's default value - #extension_data_present? : Bool
- #extension_data_was : JSON::Any | Nil | Nil
-
#extension_data_will_change! : Nil
Include
#extension_datain the set of changed attributes, whether it has changed or not. -
#history : Array(PlaceOS::Model::Booking::History)
#historygetter -
#history=(value : Array(PlaceOS::Model::Booking::History))
#historysetter - #history? : Array(PlaceOS::Model::Booking::History) | Nil
- #history_assigned? : Bool
-
#history_change : Tuple(Array(PlaceOS::Model::Booking::History) | Nil, Array(PlaceOS::Model::Booking::History) | Nil) | Nil
Returns a Tuple of the previous and the current value of an instance variable if it has changed
- #history_changed? : Bool
-
#history_default : Array(History)
#history's default value - #history_present? : Bool
- #history_was : Array(PlaceOS::Model::Booking::History) | Nil
-
#history_will_change! : Nil
Include
#historyin the set of changed attributes, whether it has changed or not. -
#hydrate_booking(main : Booking = parent_booking) : Booking
returns a booking object that represents this instance
-
#id : Int64 | Nil
#idgetter -
#id=(value : Int64 | Nil)
#idsetter -
#id? : Int64 | Nil | Nil
Same as
#idbut may returnnilwhen the record hasn't been saved instead of raising. - #id_assigned? : Bool
-
#id_change : Tuple(Int64 | Nil | Nil, Int64 | 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 : Int64 | Nil
#id's default value - #id_present? : Bool
- #id_was : Int64 | Nil | Nil
-
#id_will_change! : Nil
Include
#idin the set of changed attributes, whether it has changed or not. -
#instance_start : Int64
#instance_startgetter -
#instance_start=(value : Int64)
Setters
#instance_startsetter -
#instance_start? : Int64 | Nil
the original starting time of the instance
- #instance_start_assigned? : Bool
-
#instance_start_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
- #instance_start_changed? : Bool
-
#instance_start_default : Int64
#instance_start's default value -
#instance_start_present? : Bool
the original starting time of the instance
- #instance_start_was : Int64 | Nil
-
#instance_start_will_change! : Nil
Include
#instance_startin the set of changed attributes, whether it has changed or not. -
#invoke_props
Base class for all models which have auto-generated bigint as pk and doesn't require string based auto generated pk
-
#parent_booking : Booking
property so we can set this if we've already fetched the parent
-
#parent_booking=(parent_booking : Booking)
property so we can set this if we've already fetched the parent
-
#persistent_attributes
Returns a
Hashof all attributes that can be persisted. -
#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 models which have auto-generated bigint as pk and doesn't require string based auto generated pk
-
#run_save_callbacks(&)
Base class for all models which have auto-generated bigint as pk and doesn't require string based auto generated pk
-
#run_update_callbacks(&)
Base class for all models which have auto-generated bigint as pk and doesn't require string based auto generated pk
- #table_name
-
#tenant_id : Int64
#tenant_idgetter -
#tenant_id=(value : Int64)
#tenant_idsetter - #tenant_id? : Int64 | Nil
- #tenant_id_assigned? : Bool
-
#tenant_id_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
- #tenant_id_changed? : Bool
-
#tenant_id_default : Int64
#tenant_id's default value - #tenant_id_present? : Bool
- #tenant_id_was : Int64 | Nil
-
#tenant_id_will_change! : Nil
Include
#tenant_idin the set of changed attributes, whether it has changed or not. -
#updated_at : Time
#updated_atgetter -
#updated_at=(value : Time)
#updated_atsetter - #updated_at? : Time | Nil
- #updated_at_assigned? : Bool
-
#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
- #updated_at_changed? : Bool
-
#updated_at_default : Time
#updated_at's default value - #updated_at_present? : Bool
- #updated_at_was : Time | Nil
-
#updated_at_will_change! : Nil
Include
#updated_atin the set of changed attributes, whether it has changed or not. -
#validate_nilability
Validate that all non-nillable fields have values.
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
Instance methods inherited from class PlaceOS::Model::ModelWithAutoKey
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::ModelWithAutoKey)
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::ModelWithAutoKey
new(ctx : YAML::ParseContext, node : YAML::Nodes::Node)new(pull : JSON::PullParser)
new(rs : DB::ResultSet) new
Class methods inherited from class PlaceOS::Model::ModelWithAutoKey
attributes : Array(Symbol)
attributes,
auto_generate_id : Bool
auto_generate_id,
from_rs(rs : DB::ResultSet)
from_rs,
primary_key : Symbol
primary_key
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::BookingInstance 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.
Macro Detail
Instance Method Detail
Base class for all models which have auto-generated bigint as pk and doesn't require string based auto generated pk
Base class for all models which have auto-generated bigint as pk and doesn't require string based auto generated pk
Base class for all models which have auto-generated bigint as pk and doesn't require string based auto generated pk
Base class for all models which have auto-generated bigint as pk and doesn't require string based auto generated pk
Assign to multiple attributes.
Assign to mulitple 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
Base class for all models which have auto-generated bigint as pk and doesn't require string based auto generated pk
Base class for all models which have auto-generated bigint as pk and doesn't require string based auto generated pk
Base class for all models which have auto-generated bigint as pk and doesn't require string based auto generated pk
Base class for all models which have auto-generated bigint as pk and doesn't require string based auto generated pk
Returns a Tuple of the previous and the current value of an instance variable if it has changed
Include #booking_end 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 #booking_start 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 #checked_in_at 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 #checked_in 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 #checked_out_at 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 #created_at 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 #deleted_at 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 #deleted 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 #extension_data 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 #history in the set of changed attributes, whether it has changed or not.
returns a booking object that represents this instance
Same as #id but may return nil when the record hasn't been saved
instead of raising.
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.
Returns a Tuple of the previous and the current value of an instance variable if it has changed
Include #instance_start in the set of changed attributes, whether it has changed or not.
Base class for all models which have auto-generated bigint as pk and doesn't require string based auto generated pk
property so we can set this if we've already fetched the parent
property so we can set this if we've already fetched the parent
Base class for all models which have auto-generated bigint as pk and doesn't require string based auto generated pk
Base class for all models which have auto-generated bigint as pk and doesn't require string based auto generated pk
Base class for all models which have auto-generated bigint as pk and doesn't require string based auto generated pk
Returns a Tuple of the previous and the current value of an instance variable if it has changed
Include #tenant_id 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 #updated_at in the set of changed attributes, whether it has changed or not.