Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
PlaceOS::Model::GroupUser
Inherits PlaceOS::Model::GroupHistory::Mixin < PgORM::Timestamps < PgORM::Base < PgORM::Validators < PgORM::Table < PgORM::Persistence < PgORM::Associations < ActiveModel::Callbacks < ActiveModel::Validation < ActiveModel::Model < DB::Mappable < DB::Serializable < YAML::Serializable < JSON::Serializable < Reference < Object
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Constants
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Constructors
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
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">
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Class methods
Returns all attribute keys.
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.
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Instance methods
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Generate code to apply default values
Assign to multiple attributes.
Assign to multiple attributes via HTTP::Params.
Assign to multiple attributes from a model object
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Assign each field from JSON if field exists in JSON and has changed in model
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Uses the YAML parser as JSON is valid YAML
Returns a Hash of all attribute values
Returns a NamedTuple of all attribute values.
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Check if any attributes have changed.
Returns a Hash with all changed attributes.
Serialize the set of changed attributes to JSON.
Serialize the set of changed attributes to JSON.
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Serialize the set of changed attributes to YAML.
Serialize the set of changed attributes to YAML.
Reset changes for all attributes.
created_at getter
Setters
created_at setter
NOTE: use getter / getter! (not property / property!) so that the
setter defined later in __create_initializer__ is the only setter on
the field. Crystal's overload resolution silently fails to replace a
property-defined setter with one of identical signature for generic
types (e.g. Set(String)?, Array(String)?, String | Array(String)),
although it does work for non-generic ones like String?. Defining the
setter only once via __create_initializer__ ensures change tracking,
sanitization, and custom setter blocks run uniformly across all types.
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Returns a Tuple of the previous and the current value of an instance variable if it has changed
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
created_at's default value
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Include created_at in the set of changed attributes, whether it has changed or not.
group_id getter
group_id setter
NOTE: use getter / getter! (not property / property!) so that the
setter defined later in __create_initializer__ is the only setter on
the field. Crystal's overload resolution silently fails to replace a
property-defined setter with one of identical signature for generic
types (e.g. Set(String)?, Array(String)?, String | Array(String)),
although it does work for non-generic ones like String?. Defining the
setter only once via __create_initializer__ ensures change tracking,
sanitization, and custom setter blocks run uniformly across all types.
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Returns a Tuple of the previous and the current value of an instance variable if it has changed
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Include group_id in the set of changed attributes, whether it has changed or not.
Always returns this record's primary key value, even when the primary key
isn't named id
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
permissions getter
permissions setter
NOTE: use getter / getter! (not property / property!) so that the
setter defined later in __create_initializer__ is the only setter on
the field. Crystal's overload resolution silently fails to replace a
property-defined setter with one of identical signature for generic
types (e.g. Set(String)?, Array(String)?, String | Array(String)),
although it does work for non-generic ones like String?. Defining the
setter only once via __create_initializer__ ensures change tracking,
sanitization, and custom setter blocks run uniformly across all types.
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Returns a Tuple of the previous and the current value of an instance variable if it has changed
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Stored as an Int32 bitmask. Use permission_flags / permission_flags=
when working with the Permissions flags enum directly.
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Include permissions in the set of changed attributes, whether it has changed or not.
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Reset each attribute to their previous values and clears all changes.
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
updated_at getter
updated_at setter
NOTE: use getter / getter! (not property / property!) so that the
setter defined later in __create_initializer__ is the only setter on
the field. Crystal's overload resolution silently fails to replace a
property-defined setter with one of identical signature for generic
types (e.g. Set(String)?, Array(String)?, String | Array(String)),
although it does work for non-generic ones like String?. Defining the
setter only once via __create_initializer__ ensures change tracking,
sanitization, and custom setter blocks run uniformly across all types.
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Returns a Tuple of the previous and the current value of an instance variable if it has changed
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
updated_at's default value
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Include updated_at in the set of changed attributes, whether it has changed or not.
user_id getter
user_id setter
NOTE: use getter / getter! (not property / property!) so that the
setter defined later in __create_initializer__ is the only setter on
the field. Crystal's overload resolution silently fails to replace a
property-defined setter with one of identical signature for generic
types (e.g. Set(String)?, Array(String)?, String | Array(String)),
although it does work for non-generic ones like String?. Defining the
setter only once via __create_initializer__ ensures change tracking,
sanitization, and custom setter blocks run uniformly across all types.
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Returns a Tuple of the previous and the current value of an instance variable if it has changed
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Junction table: a user's membership in a group, with a permission
bitmask. Composite primary key (user_id, group_id).
Include user_id in the set of changed attributes, whether it has changed or not.
Validate that all non-nillable fields have values.