Module: ConvenientService::Utils::Object

Defined in:
lib/convenient_service/utils/object.rb,
lib/convenient_service/utils/object/duck_class.rb,
lib/convenient_service/utils/object/clamp_class.rb,
lib/convenient_service/utils/object/resolve_type.rb,
lib/convenient_service/utils/object/instance_variable_fetch.rb,
lib/convenient_service/utils/object/instance_variable_delete.rb,
lib/convenient_service/utils/object/memoize_including_falsy_values.rb

Defined Under Namespace

Classes: ClampClass, DuckClass, InstanceVariableDelete, InstanceVariableFetch, MemoizeIncludingFalsyValues, ResolveType

Class Method Summary collapse

Class Method Details

.clamp_classObject

Examples:

ConvenientService::Utils::Object.clamp_class("foo")


18
19
20
# File 'lib/convenient_service/utils/object.rb', line 18

def clamp_class(...)
  ClampClass.call(...)
end

.duck_classObject

Examples:

ConvenientService::Utils::Object.duck_class("foo")


26
27
28
# File 'lib/convenient_service/utils/object.rb', line 26

def duck_class(...)
  DuckClass.call(...)
end

.instance_variable_deleteObject

Examples:

ConvenientService::Utils::Object.instance_variable_delete("abc", :@foo)


34
35
36
# File 'lib/convenient_service/utils/object.rb', line 34

def instance_variable_delete(...)
  InstanceVariableDelete.call(...)
end

.instance_variable_fetchObject

Examples:

ConvenientService::Utils::Object.instance_variable_fetch("abc", :@foo) { :bar }


42
43
44
# File 'lib/convenient_service/utils/object.rb', line 42

def instance_variable_fetch(...)
  InstanceVariableFetch.call(...)
end

.memoize_including_falsy_valuesObject

Examples:

object = Object.new.tap { |object| object.instance_eval { self.class.attr_reader :foo } }

ConvenientService::Utils.memoize_including_falsy_values(object, :@foo) { false }


52
53
54
# File 'lib/convenient_service/utils/object.rb', line 52

def memoize_including_falsy_values(...)
  MemoizeIncludingFalsyValues.call(...)
end

.resolve_typeObject

Examples:

ConvenientService::Utils::Object.resolve_type("foo")


60
61
62
# File 'lib/convenient_service/utils/object.rb', line 60

def resolve_type(...)
  ResolveType.call(...)
end