class

PlaceOS::Model::OAuthAuthentication

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

See: https://github.com/omniauth/omniauth-oauth2

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

See: https://github.com/omniauth/omniauth-oauth2

Log = ::Log.for(self)

See: https://github.com/omniauth/omniauth-oauth2

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

macro level key => type

PRIMARY_KEYS = [{:id}]

See: https://github.com/omniauth/omniauth-oauth2

Constructors

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

See: https://github.com/omniauth/omniauth-oauth2

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

See: https://github.com/omniauth/omniauth-oauth2

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

See: https://github.com/omniauth/omniauth-oauth2

See: https://github.com/omniauth/omniauth-oauth2

Source
new(pull : JSON::PullParser)

See: https://github.com/omniauth/omniauth-oauth2

Source
new(rs : DB::ResultSet)

See: https://github.com/omniauth/omniauth-oauth2

new(created_at : Time | ActiveModel::Model::None = ::ActiveModel::Model::None.new, updated_at : Time | ActiveModel::Model::None = ::ActiveModel::Model::None.new, name : String | ActiveModel::Model::None = ::ActiveModel::Model::None.new, client_id : String | ActiveModel::Model::None = ::ActiveModel::Model::None.new, client_secret : String | ActiveModel::Model::None = ::ActiveModel::Model::None.new, info_mappings : Hash(String, String) | ActiveModel::Model::None = ::ActiveModel::Model::None.new, authorize_params : Hash(String, String) | ActiveModel::Model::None = ::ActiveModel::Model::None.new, ensure_matching : Hash(String, Array(String)) | ActiveModel::Model::None = ::ActiveModel::Model::None.new, site : String | ActiveModel::Model::None = ::ActiveModel::Model::None.new, authorize_url : String | ActiveModel::Model::None = ::ActiveModel::Model::None.new, token_method : String | ActiveModel::Model::None = ::ActiveModel::Model::None.new, auth_scheme : String | ActiveModel::Model::None = ::ActiveModel::Model::None.new, token_url : String | ActiveModel::Model::None = ::ActiveModel::Model::None.new, scope : String | ActiveModel::Model::None = ::ActiveModel::Model::None.new, raw_info_url : String | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, authority_id : String | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new, id : String | Nil | ActiveModel::Model::None = ::ActiveModel::Model::None.new)

See: https://github.com/omniauth/omniauth-oauth2

Initialize PlaceOS::Model::OAuthAuthentication from HTTP::Params.

Class methods

attributes

Returns all attribute keys.

by_authority_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

See: https://github.com/omniauth/omniauth-oauth2

from_rs(__temp_1885 : DB::ResultSet)

See: https://github.com/omniauth/omniauth-oauth2

on_error(err : Exception | IO::Error)

See: https://github.com/omniauth/omniauth-oauth2

primary_key

See: https://github.com/omniauth/omniauth-oauth2

Source
table_name

See: https://github.com/omniauth/omniauth-oauth2

Instance methods

__authority
__authority=(__authority : Authority | Nil)
after_create

See: https://github.com/omniauth/omniauth-oauth2

after_destroy

See: https://github.com/omniauth/omniauth-oauth2

after_initialize(trusted : Bool)

See: https://github.com/omniauth/omniauth-oauth2

after_save

See: https://github.com/omniauth/omniauth-oauth2

after_update

See: https://github.com/omniauth/omniauth-oauth2

apply_defaults

Generate code to apply default values

assign_attributes(created_at : Time | Missing = Missing, updated_at : Time | Missing = Missing, name : String | Missing = Missing, client_id : String | Missing = Missing, client_secret : String | Missing = Missing, info_mappings : Hash(String, String) | Missing = Missing, authorize_params : Hash(String, String) | Missing = Missing, ensure_matching : Hash(String, Array(String)) | Missing = Missing, site : String | Missing = Missing, authorize_url : String | Missing = Missing, token_method : String | Missing = Missing, auth_scheme : String | Missing = Missing, token_url : String | Missing = Missing, scope : String | Missing = Missing, raw_info_url : String | Nil | Missing = Missing, authority_id : String | Nil | 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::OAuthAuthentication)

Assign to multiple attributes from a model object

assign_attributes_from_json(json, root : String)

See: https://github.com/omniauth/omniauth-oauth2

assign_attributes_from_json(json)

See: https://github.com/omniauth/omniauth-oauth2

assign_attributes_from_trusted_json(json, root : String)

See: https://github.com/omniauth/omniauth-oauth2

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)

See: https://github.com/omniauth/omniauth-oauth2

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.

auth_scheme

auth_scheme getter

auth_scheme=(value : String)

auth_scheme setter

auth_scheme?

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.

auth_scheme_assigned?

See: https://github.com/omniauth/omniauth-oauth2

auth_scheme_change

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

auth_scheme_changed?

See: https://github.com/omniauth/omniauth-oauth2

auth_scheme_default

auth_scheme's default value

Source
auth_scheme_present?

If not set it defaults to "request_body", others include "basic_auth"

auth_scheme_removed?

See: https://github.com/omniauth/omniauth-oauth2

auth_scheme_was

See: https://github.com/omniauth/omniauth-oauth2

auth_scheme_will_change!

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

authority

Retrieves the parent relationship

Source
authority!
Source
authority=(parent : Authority)

Sets the parent relationship

Source
authority_id

authority_id getter

authority_id=(value : String | Nil)

authority_id setter

authority_id_assigned?

See: https://github.com/omniauth/omniauth-oauth2

authority_id_change

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

authority_id_changed?

See: https://github.com/omniauth/omniauth-oauth2

authority_id_default

authority_id's default value

authority_id_present?
authority_id_removed?

See: https://github.com/omniauth/omniauth-oauth2

authority_id_was

See: https://github.com/omniauth/omniauth-oauth2

authority_id_will_change!

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

authorize_params

authorize_params getter

authorize_params=(value : Hash(String, String))

authorize_params setter

authorize_params?

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.

authorize_params_assigned?

See: https://github.com/omniauth/omniauth-oauth2

authorize_params_change

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

authorize_params_changed?

See: https://github.com/omniauth/omniauth-oauth2

authorize_params_default

authorize_params's default value

Source
authorize_params_present?

Maps additional params to be added to the authorisation request

authorize_params_removed?

See: https://github.com/omniauth/omniauth-oauth2

authorize_params_was

See: https://github.com/omniauth/omniauth-oauth2

authorize_params_will_change!

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

authorize_url

authorize_url getter

authorize_url=(value : String)

authorize_url setter

authorize_url?

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.

authorize_url_assigned?

See: https://github.com/omniauth/omniauth-oauth2

authorize_url_change

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

authorize_url_changed?

See: https://github.com/omniauth/omniauth-oauth2

authorize_url_default

authorize_url's default value

Source
authorize_url_present?

The SSO providers URL for authorization, defaults to: oauth/authorize Google is /o/oauth2/auth

authorize_url_removed?

See: https://github.com/omniauth/omniauth-oauth2

authorize_url_was

See: https://github.com/omniauth/omniauth-oauth2

authorize_url_will_change!

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

before_create

See: https://github.com/omniauth/omniauth-oauth2

before_destroy

See: https://github.com/omniauth/omniauth-oauth2

before_save

See: https://github.com/omniauth/omniauth-oauth2

before_update

See: https://github.com/omniauth/omniauth-oauth2

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

See: https://github.com/omniauth/omniauth-oauth2

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.

client_id

client_id getter

client_id=(value : String)

client_id setter

client_id?

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.

client_id_assigned?

See: https://github.com/omniauth/omniauth-oauth2

client_id_change

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

client_id_changed?

See: https://github.com/omniauth/omniauth-oauth2

client_id_default

client_id's default value

Source
client_id_present?

The client ID configured for this application

client_id_removed?

See: https://github.com/omniauth/omniauth-oauth2

client_id_was

See: https://github.com/omniauth/omniauth-oauth2

client_id_will_change!

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

client_secret

client_secret getter

client_secret=(value : String)

client_secret setter

client_secret?

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.

client_secret_assigned?

See: https://github.com/omniauth/omniauth-oauth2

client_secret_change

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

client_secret_changed?

See: https://github.com/omniauth/omniauth-oauth2

client_secret_default

client_secret's default value

Source
client_secret_present?

The secret configured for this application

client_secret_removed?

See: https://github.com/omniauth/omniauth-oauth2

client_secret_was

See: https://github.com/omniauth/omniauth-oauth2

client_secret_will_change!

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

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?

See: https://github.com/omniauth/omniauth-oauth2

created_at_change

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

created_at_changed?

See: https://github.com/omniauth/omniauth-oauth2

created_at_default

created_at's default value

created_at_present?
created_at_removed?

See: https://github.com/omniauth/omniauth-oauth2

created_at_was

See: https://github.com/omniauth/omniauth-oauth2

created_at_will_change!

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

ensure_matching

ensure_matching getter

ensure_matching=(value : Hash(String, Array(String)))

ensure_matching setter

ensure_matching?

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.

ensure_matching_assigned?

See: https://github.com/omniauth/omniauth-oauth2

ensure_matching_change

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

ensure_matching_changed?

See: https://github.com/omniauth/omniauth-oauth2

ensure_matching_default

ensure_matching's default value

Source
ensure_matching_present?

Security checks to be made on the returned data

ensure_matching_removed?

See: https://github.com/omniauth/omniauth-oauth2

ensure_matching_was

See: https://github.com/omniauth/omniauth-oauth2

ensure_matching_will_change!

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

id

id getter

id=(value : String | Nil)

id setter

id?

See: https://github.com/omniauth/omniauth-oauth2

id_assigned?

See: https://github.com/omniauth/omniauth-oauth2

id_change

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

id_changed?

See: https://github.com/omniauth/omniauth-oauth2

id_default

id's default value

id_present?

See: https://github.com/omniauth/omniauth-oauth2

id_removed?

See: https://github.com/omniauth/omniauth-oauth2

id_was

See: https://github.com/omniauth/omniauth-oauth2

id_will_change!

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

info_mappings

info_mappings getter

info_mappings=(value : Hash(String, String))

info_mappings setter

info_mappings?

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.

info_mappings_assigned?

See: https://github.com/omniauth/omniauth-oauth2

info_mappings_change

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

info_mappings_changed?

See: https://github.com/omniauth/omniauth-oauth2

info_mappings_default

info_mappings's default value

Source
info_mappings_present?

Maps an expected key to a provided key i.e. {used_in_engine => used_by_remote}

info_mappings_removed?

See: https://github.com/omniauth/omniauth-oauth2

info_mappings_was

See: https://github.com/omniauth/omniauth-oauth2

info_mappings_will_change!

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

invoke_props

See: https://github.com/omniauth/omniauth-oauth2

name

name getter

name=(value : String)

name setter

name?

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.

name_assigned?

See: https://github.com/omniauth/omniauth-oauth2

name_change

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

name_changed?

See: https://github.com/omniauth/omniauth-oauth2

name_default

name's default value

Source
name_present?
name_removed?

See: https://github.com/omniauth/omniauth-oauth2

name_was

See: https://github.com/omniauth/omniauth-oauth2

name_will_change!

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

persistent_attributes

See: https://github.com/omniauth/omniauth-oauth2

primary_key

See: https://github.com/omniauth/omniauth-oauth2

Source
primary_key_hash

See: https://github.com/omniauth/omniauth-oauth2

raw_info_url

raw_info_url getter

raw_info_url=(value : String | Nil)

raw_info_url setter

raw_info_url_assigned?

See: https://github.com/omniauth/omniauth-oauth2

raw_info_url_change

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

raw_info_url_changed?

See: https://github.com/omniauth/omniauth-oauth2

raw_info_url_default

raw_info_url's default value

Source
raw_info_url_present?

URL to call with a valid token to obtain the users profile data (name, email etc)

raw_info_url_removed?

See: https://github.com/omniauth/omniauth-oauth2

raw_info_url_was

See: https://github.com/omniauth/omniauth-oauth2

raw_info_url_will_change!

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

reset_associations
Source
restore_attributes

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

scope

scope getter

scope=(value : String)

scope setter

scope?

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.

scope_assigned?

See: https://github.com/omniauth/omniauth-oauth2

scope_change

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

scope_changed?

See: https://github.com/omniauth/omniauth-oauth2

scope_default

scope's default value

Source
scope_present?

Space separated scope strings i.e. https://www.googleapis.com/auth/devstorage.readonly https://www.googleapis.com/auth/prediction

scope_removed?

See: https://github.com/omniauth/omniauth-oauth2

scope_was

See: https://github.com/omniauth/omniauth-oauth2

scope_will_change!

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

site

site getter

site=(value : String)

site setter

site?

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.

site_assigned?

See: https://github.com/omniauth/omniauth-oauth2

site_change

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

site_changed?

See: https://github.com/omniauth/omniauth-oauth2

site_default

site's default value

Source
site_present?

The HTTP URL of the SSO provider

site_removed?

See: https://github.com/omniauth/omniauth-oauth2

site_was

See: https://github.com/omniauth/omniauth-oauth2

site_will_change!

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

table_name

See: https://github.com/omniauth/omniauth-oauth2

token_method

token_method getter

token_method=(value : String)

token_method setter

token_method?

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.

token_method_assigned?

See: https://github.com/omniauth/omniauth-oauth2

token_method_change

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

token_method_changed?

See: https://github.com/omniauth/omniauth-oauth2

token_method_default

token_method's default value

Source
token_method_present?

If not set it defaults to "post"

token_method_removed?

See: https://github.com/omniauth/omniauth-oauth2

token_method_was

See: https://github.com/omniauth/omniauth-oauth2

token_method_will_change!

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

token_url

token_url getter

token_url=(value : String)

token_url setter

token_url?

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.

token_url_assigned?

See: https://github.com/omniauth/omniauth-oauth2

token_url_change

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

token_url_changed?

See: https://github.com/omniauth/omniauth-oauth2

token_url_default

token_url's default value

Source
token_url_present?

defaults to: oauth/token however google is: /o/oauth2/token

token_url_removed?

See: https://github.com/omniauth/omniauth-oauth2

token_url_was

See: https://github.com/omniauth/omniauth-oauth2

token_url_will_change!

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

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?

See: https://github.com/omniauth/omniauth-oauth2

updated_at_change

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

updated_at_changed?

See: https://github.com/omniauth/omniauth-oauth2

updated_at_default

updated_at's default value

updated_at_present?
updated_at_removed?

See: https://github.com/omniauth/omniauth-oauth2

updated_at_was

See: https://github.com/omniauth/omniauth-oauth2

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