Class: Minitwin

Inherits:
Object
  • Object
show all
Extended by:
ClassMethods
Includes:
ActiveModel::Model, Assignment, Initialization, Serialization, Sync
Defined in:
lib/minitwin/sync.rb,
lib/minitwin.rb,
lib/minitwin/railtie.rb,
lib/minitwin/version.rb,
lib/minitwin/assignment.rb,
lib/minitwin/class_methods.rb,
lib/minitwin/serialization.rb,
lib/minitwin/initialization.rb,
lib/minitwin/class_methods/dsl.rb,
lib/minitwin/class_methods/rbs.rb,
lib/minitwin/class_methods/caches.rb,
lib/minitwin/class_methods/coercion.rb,
lib/minitwin/class_methods/constructors.rb,
lib/minitwin/class_methods/types_helper.rb

Overview

rbs_inline: enabled

Defined Under Namespace

Modules: Assignment, ClassMethods, Initialization, Serialization, Sync, Utils Classes: Railtie

Constant Summary collapse

INTERNAL_MODEL_PREFIX =

Constants for internal variable naming

"@internal_model__"
NESTED_READER_PREFIX =
"__nested_read__"
DYNAMIC_ALIASES_VAR =
"@__dynamic_aliases__"
DYNAMIC_ALIASES_REV_VAR =
"@__dynamic_aliases_rev__"
VERSION =
"1.0.0"

Constants included from Sync

Sync::MODEL_PREFIX

Constants included from Serialization

Serialization::ALIASES_VAR, Serialization::NESTED_PREFIX

Constants included from Initialization

Initialization::ALIASES_REV_VAR, Initialization::ALIASES_VAR, Initialization::FORBIDDEN_ALIAS_NAMES

Class Method Summary collapse

Methods included from ClassMethods::Caches

#dynamic_aliases?

Methods included from ClassMethods::Rbs

#to_rbs

Methods included from ClassMethods::Constructors

#collections, #enrich_attribute_from_models, #enrich_attributes_from_models!, #from_collection, #from_hash, #from_json, #from_object, #from_objects, #from_params, #internal_model_name, #properties

Methods included from ClassMethods::Dsl

#block_properties, #collection, #collection_properties, #dynamic_nested_aliases, #nested, #property, #property_order, #unexposed_properties

Methods included from Sync

#sync

Methods included from Serialization

#attributes, #inspect, #pretty_print, #to_hash, #to_json, #valid?

Methods included from Assignment

#assign_hash, #assign_object, #assign_params, #assignable_attribute_methods, #to_object

Methods included from Initialization

#initialize

Class Method Details

.__descendants__Object



89
90
91
# File 'lib/minitwin.rb', line 89

def __descendants__
  Minitwin.instance_variable_get(:@__descendants_map__).keys
end

.hash_klassObject



61
62
63
# File 'lib/minitwin.rb', line 61

def hash_klass
  @hash_klass ||= defined?(HashWithIndifferentAccess) ? HashWithIndifferentAccess : Hash
end

.inherited(sub) ⇒ Object



93
94
95
96
# File 'lib/minitwin.rb', line 93

def inherited(sub)
  Minitwin.instance_variable_get(:@__descendants_map__)[sub] = true
  super
end