class RethinkORM::Lock::Reentrant

Defined in:

rethinkdb-orm/lock/reentrant.cr

Constant Summary

CALLBACKS = {before_save: [] of Nil, after_save: [] of Nil, before_create: [] of Nil, after_create: [] of Nil, before_update: [] of Nil, after_update: [] of Nil, before_destroy: [] of Nil, after_destroy: [] of Nil}

Constructors

Class Method Summary

Instance Method Summary

Instance methods inherited from class RethinkORM::Lock

after_create after_create, after_destroy after_destroy, after_save after_save, after_update after_update, apply_defaults apply_defaults, assign_attributes(id : String | Nil | Missing = Missing, key : String | Missing = Missing, instance_token : String | Missing = Missing, expires_at : Time | Missing = Missing)
assign_attributes(params : HTTP::Params | Hash(String, String) | Tuple(String, String))
assign_attributes
, assign_attributes_from_json(json) assign_attributes_from_json, assign_attributes_from_trusted_json(json) assign_attributes_from_trusted_json, assign_attributes_from_trusted_yaml(yaml) assign_attributes_from_trusted_yaml, assign_attributes_from_yaml(yaml) assign_attributes_from_yaml, attributes attributes, attributes_tuple attributes_tuple, before_create before_create, before_destroy before_destroy, before_save before_save, before_update before_update, changed? changed?, changed_attributes changed_attributes, changed_json changed_json, changed_yaml changed_yaml, clear_changes_information clear_changes_information, expire : Time::Span expire, expire=(expire : Time::Span) expire=, expires_at expires_at, expires_at=(value : Time) expires_at=, expires_at_change expires_at_change, expires_at_changed? expires_at_changed?, expires_at_default : Time expires_at_default, expires_at_was : Time? expires_at_was, expires_at_will_change! expires_at_will_change!, id : String? id, id=(value : String | Nil) id=, id_change id_change, id_changed? id_changed?, id_default : String | Nil id_default, id_was : String? id_was, id_will_change! id_will_change!, instance_token instance_token, instance_token=(value : String) instance_token=, instance_token_change instance_token_change, instance_token_changed? instance_token_changed?, instance_token_default : String instance_token_default, instance_token_was : String? instance_token_was, instance_token_will_change! instance_token_will_change!, key key, key=(value : String) key=, key_change key_change, key_changed? key_changed?, key_default : String key_default, key_was : String? key_was, key_will_change! key_will_change!, lock(expire : Time::Span = self.expire, timeout : Time::Span = self.timeout) lock, locked? : Bool locked?, persistent_attributes persistent_attributes, refresh(expire : Time::Span | Nil = nil) refresh, restore_attributes restore_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, synchronize(**options, &) synchronize, table_name table_name, timeout : Time::Span timeout, timeout=(timeout : Time::Span) timeout=, to_json(json : JSON::Builder) to_json, to_yaml(__temp_96 : YAML::Nodes::Builder) to_yaml, try_lock(expire : Time::Span = self.expire) try_lock, unlock unlock, validate_nilability validate_nilability

Constructor methods inherited from class RethinkORM::Lock

from_trusted_json(string_or_io : String | IO) : self from_trusted_json, from_trusted_yaml(string_or_io : String | IO) : self from_trusted_yaml, new(key : String, expire : Time::Span | Nil = nil, timeout : Time::Span | Nil = nil, instance_token : String = Lock.new_instance_token)
new(ctx : YAML::ParseContext, node : YAML::Nodes::Node)
new(id : String | Nil | Nil = nil, key : String | Nil = nil, instance_token : String | Nil = nil, expires_at : Time | Nil = nil)
new(params : HTTP::Params | Hash(String, String) | Tuple(String, String))
new

Class methods inherited from class RethinkORM::Lock

attributes attributes, expired expired, find(key) find, table_name table_name

Instance methods inherited from class RethinkORM::Base

==(other : self) ==, apply_defaults apply_defaults, assign_attributes(id : String | Nil | Missing = Missing)
assign_attributes(params : HTTP::Params | Hash(String, String) | Tuple(String, String))
assign_attributes
, attributes attributes, attributes_tuple attributes_tuple, id_default : String | Nil id_default, persistent_attributes persistent_attributes, uuid_generator=(generator : Class) uuid_generator=

Class methods inherited from class RethinkORM::Base

all(**options) all, attributes attributes, changes(id : String | Nil = nil, **options)
changes(**options, & : RethinkDB::Table -> HasChanges)
changes
, clear clear, collection_query(**options, &) collection_query, count
count(**attrs)
count(**attrs, &predicate : RethinkDB::DatumTerm -> RethinkDB::DatumTerm)
count
, create(**attributes) create, create!(**attributes) create!, exists?(id : String, **options) exists?, find(id : String, **options) find, find!(id : String, **options) find!, find_all(ids : Array | Tuple, **options) find_all, find_by(**attribute)
find_by(**attribute, &predicate : RethinkDB::DatumTerm -> RethinkDB::DatumTerm)
find_by
, get_all(values : Array | Tuple, **options) get_all, has_index?(field) has_index?, raw_changes(id : String | Nil = nil, **options)
raw_changes(**options, & : RethinkDB::Table -> HasChanges)
raw_changes
, raw_query(**options, &) raw_query, table_query(**options, &) table_query, where(&predicate : RethinkDB::DatumTerm -> RethinkDB::DatumTerm)
where(**attrs, &predicate : RethinkDB::DatumTerm -> RethinkDB::DatumTerm)
where(attrs : Hash, **options)
where(**attrs)
where

Instance methods inherited from module RethinkORM::Persistence

delete delete, destroy destroy, destroyed destroyed, destroyed=(destroyed) destroyed=, destroyed? destroyed?, new_record? new_record?, persisted? persisted?, reload! reload!, save(**options) save, save!(**options) save!, update(**attributes) update, update!(**attributes) update!, update_fields(**attributes) update_fields

Instance methods inherited from module RethinkORM::Associations

reset_associations reset_associations

Constructor Detail

def self.from_trusted_json(string_or_io : String | IO) : self #

Serialize from a trusted JSON source


def self.from_trusted_yaml(string_or_io : String | IO) : self #

Serialize from a trusted YAML source


def self.new(key : String, expire : Time::Span | Nil = nil, timeout : Time::Span | Nil = nil, instance_token : String = Lock.new_instance_token) #

[View source]
def self.new(ctx : YAML::ParseContext, node : YAML::Nodes::Node) #

def self.new(lock_count : Int32 | Nil = nil, id : String | Nil | Nil = nil, key : String | Nil = nil, instance_token : String | Nil = nil, expires_at : Time | Nil = nil) #

def self.new(params : HTTP::Params | Hash(String, String) | Tuple(String, String)) #

Accept HTTP params


Class Method Detail

def self.attributes #

You may want a list of available attributes


def self.table_name #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


Instance Method Detail

def after_create #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


[View source]
def after_destroy #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


[View source]
def after_save #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


[View source]
def after_update #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


[View source]
def apply_defaults #

Generate code to apply default values


def assign_attributes(lock_count : Int32 | Missing = Missing, id : String | Nil | Missing = Missing, key : String | Missing = Missing, instance_token : String | Missing = Missing, expires_at : Time | Missing = Missing) #

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

Accept HTTP params


def assign_attributes_from_json(json) #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


def assign_attributes_from_trusted_json(json) #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


def assign_attributes_from_trusted_yaml(yaml) #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


def assign_attributes_from_yaml(yaml) #

Uses the YAML parser as JSON is valid YAML


def attributes #

Returns a Hash of all the attribute values


def attributes_tuple #

Returns a NamedTuple of all attribute values


def before_create #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


[View source]
def before_destroy #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


[View source]
def before_save #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


[View source]
def before_update #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


[View source]
def changed? #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


def changed_attributes #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


def changed_json #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


def changed_yaml #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


def clear_changes_information #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


def expires_at #

expires_at getter


def expires_at=(value : Time) #

expires_at setter


def expires_at_change #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


def expires_at_changed? #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


def expires_at_was : Time? #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


def expires_at_will_change! #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


def id : String? #

id getter


def id=(value : String | Nil) #

id setter


def id_change #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


def id_changed? #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


def id_was : String? #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


def id_will_change! #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


def instance_token #

instance_token getter


def instance_token=(value : String) #

instance_token setter


def instance_token_change #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


def instance_token_changed? #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


def instance_token_was : String? #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


def instance_token_will_change! #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


def key #

key getter


def key=(value : String) #

key setter


def key_change #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


def key_changed? #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


def key_was : String? #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


def key_will_change! #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


def lock_count #

lock_count getter


def lock_count=(value : Int32) #

Override the map json lock_count setter


def lock_count_change #

def lock_count_changed? #

def lock_count_default : Int32 #

Attribute default value


[View source]
def lock_count_was : Int32? #

def lock_count_will_change! #

def persistent_attributes #

Returns a hash of all attributes that may be persisted


def restore_attributes #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


def run_create_callbacks(&) #

Wrap a block with callbacks for the appropriate crud operation


[View source]
def run_destroy_callbacks(&) #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


[View source]
def run_save_callbacks(&) #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


[View source]
def run_update_callbacks(&) #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


[View source]
def table_name #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


def to_json(json : JSON::Builder) #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


def to_yaml(__temp_124 : YAML::Nodes::Builder) #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.


def try_lock(expire : Time::Span = self.expire) #

[View source]
def unlock #

[View source]
def validate_nilability #
Description copied from class RethinkORM::Lock

DB locks for RethinkDB

TODO Conform to the NoBrainer locking interface.