class

PlaceOS::Model::Playlist::ItemSchedule

Inherits PlaceOS::Model::Timestamps < PlaceOS::Model::ModelBase < PlaceOS::Model::Associations < Neuroplastic < 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

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

Constants

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: [:cleanup_playlists] of Nil, after_destroy: [] of Nil, }

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

Log = ::Log.for(self)

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

PRIMARY_KEY_TYPES = {:id => (String | Nil)} of Nil => Nil

macro level key => type

PRIMARY_KEYS = [{:id}]

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

Constructors

from_json(string_or_io : String | IO, trusted : Bool = false) : self

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

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. 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">
from_trusted_json(string_or_io : String | IO, root : String) : self

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

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

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

Source
new(pull : JSON::PullParser)

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

Source
new(rs : DB::ResultSet)

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

new(created_at : Time | ActiveModel::Model::None = ::ActiveModel::Model::None.new, updated_at : Time | ActiveModel::Model::None = ::ActiveModel::Model::None.new, playlist_id : String | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, item_id : String | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, schedules : Array(PlaceOS::Model::Playlist::Schedule) | ActiveModel::Model::None = ::ActiveModel::Model::None.new, id : String | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new)

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

Initialize PlaceOS::Model::Playlist::ItemSchedule from HTTP::Params.

Class methods

attributes

Returns all attribute keys.

by_item_id(id)

Look up instances of this model dependent on the foreign key

Source
by_playlist_id(id)

Look up instances of this model dependent on the foreign key

Source
changes(id : String | Nil | Nil = nil) : ChangeFeed

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.

elastic

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

from_rs(__temp_2013 : DB::ResultSet)

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

on_error(err : Exception | IO::Error)

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

primary_key

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

Source
table_name

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

Instance methods

__item
__item=(__item : Playlist::Item | Nil)
__playlist
__playlist=(__playlist : Playlist | Nil)
after_create

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

after_destroy

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

after_initialize(trusted : Bool)

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

after_save

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

after_update

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

apply_defaults

Generate code to apply default values

assign_attributes(created_at : Time | Missing = Missing, updated_at : Time | Missing = Missing, playlist_id : String | Nil | Missing = Missing, item_id : String | Nil | Missing = Missing, schedules : Array(PlaceOS::Model::Playlist::Schedule) | Missing = Missing, id : String | Nil | Missing = Missing)

Assign to multiple attributes.

assign_attributes(params : HTTP::Params | Hash(String, String) | Tuple(String, String))

Assign to multiple attributes via HTTP::Params.

assign_attributes(model : PlaceOS::Model::Playlist::ItemSchedule)

Assign to multiple attributes from a model object

assign_attributes_from_json(json, root : String)

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

assign_attributes_from_json(json)

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

assign_attributes_from_trusted_json(json, root : String)

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

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)

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

assign_attributes_from_yaml(yaml)

Uses the YAML parser as JSON is valid YAML

attributes

Returns a Hash of all attribute values

attributes_tuple

Returns a NamedTuple of all attribute values.

before_create

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

before_destroy

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

before_save

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

before_update

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

changed?

Check if any attributes have changed.

changed_attributes

Returns a Hash with all changed attributes.

changed_json(io : IO) : Nil

Serialize the set of changed attributes to JSON.

changed_json

Serialize the set of changed attributes to JSON.

changed_persist_attributes

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

changed_yaml(io : IO) : Nil

Serialize the set of changed attributes to YAML.

changed_yaml

Serialize the set of changed attributes to YAML.

clear_changes_information

Reset changes for all attributes.

created_at

created_at getter

created_at=(value : Time)

Setters created_at setter

created_at?

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.

created_at_assigned?

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

created_at_change

Returns a Tuple of the previous and the current value of an instance variable if it has changed

created_at_changed?

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

created_at_default

created_at's default value

created_at_present?
created_at_removed?

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

created_at_was

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

created_at_will_change!

Include created_at in the set of changed attributes, whether it has changed or not.

id

id getter

id=(value : String | Nil)

id setter

id?

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

id_assigned?

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

id_change

Returns a Tuple of the previous and the current value of an instance variable if it has changed

id_changed?

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

id_default

id's default value

id_present?

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

id_removed?

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

id_was

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

id_will_change!

Include id in the set of changed attributes, whether it has changed or not.

invoke_props

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

item

Retrieves the parent relationship

Source
item!
Source
item=(parent : Playlist::Item)

Sets the parent relationship

Source
item_id

item_id getter

item_id=(value : String | Nil)

item_id setter

item_id_assigned?

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

item_id_change

Returns a Tuple of the previous and the current value of an instance variable if it has changed

item_id_changed?

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

item_id_default

item_id's default value

item_id_present?
item_id_removed?

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

item_id_was

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

item_id_will_change!

Include item_id in the set of changed attributes, whether it has changed or not.

persistent_attributes

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

playlist

Retrieves the parent relationship

Source
playlist!
Source
playlist=(parent : Playlist)

Sets the parent relationship

Source
playlist_id

playlist_id getter

playlist_id=(value : String | Nil)

playlist_id setter

playlist_id_assigned?

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

playlist_id_change

Returns a Tuple of the previous and the current value of an instance variable if it has changed

playlist_id_changed?

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

playlist_id_default

playlist_id's default value

playlist_id_present?
playlist_id_removed?

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

playlist_id_was

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

playlist_id_will_change!

Include playlist_id in the set of changed attributes, whether it has changed or not.

primary_key

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

Source
primary_key_hash

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

reset_associations
Source
restore_attributes

Reset each attribute to their previous values and clears all changes.

schedules

schedules getter

schedules setter

schedules?

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.

schedules_assigned?

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

schedules_change

Returns a Tuple of the previous and the current value of an instance variable if it has changed

schedules_changed?

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

schedules_default

schedules's default value

Source
schedules_present?

when this item should play — at least one schedule is required, and each schedule must validate. Stored as a JSONB array. Not indexed in elastic.

schedules_removed?

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

schedules_was

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

schedules_will_change!

Include schedules in the set of changed attributes, whether it has changed or not.

table_name

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

updated_at

updated_at getter

updated_at=(value : Time)

updated_at setter

updated_at?

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.

updated_at_assigned?

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

updated_at_change

Returns a Tuple of the previous and the current value of an instance variable if it has changed

updated_at_changed?

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

updated_at_default

updated_at's default value

updated_at_present?
updated_at_removed?

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

updated_at_was

Wraps a single Playlist::Item with its own set of schedules. Used by "distribution" playlists, where each media item is scheduled individually rather than the whole playlist sharing one schedule. Owned 1:1 by the distribution playlist (removed via ON DELETE CASCADE when either the playlist or the underlying item is deleted).

updated_at_will_change!

Include updated_at in the set of changed attributes, whether it has changed or not.

validate_nilability

Validate that all non-nillable fields have values.

Nested types