Module: ConvenientService::Utils::Object

Defined in:
lib/convenient_service/utils/object.rb,
lib/convenient_service/utils/object/safe_send.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/get_own_method.rb,
lib/convenient_service/utils/object/with_one_time_object.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, GetOwnMethod, InstanceVariableDelete, InstanceVariableFetch, MemoizeIncludingFalsyValues, ResolveType, SafeSend, WithOneTimeObject

Class Method Summary collapse

Class Method Details

.clamp_classObject

Examples:

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


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

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

.duck_classObject

Examples:

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


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

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

.instance_variable_deleteObject

Examples:

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


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

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

.instance_variable_fetchObject

Examples:

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


50
51
52
# File 'lib/convenient_service/utils/object.rb', line 50

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 }


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

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

.own_methodObject

Examples:

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

ConvenientService::Utils::Object.own_method(object, :foo)
# => #<Method: #<Object:0x0000555e524252d8>.foo() ...>

ConvenientService::Utils::Object.own_method(object, :puts)
# => nil


74
75
76
# File 'lib/convenient_service/utils/object.rb', line 74

def own_method(...)
  GetOwnMethod.call(...)
end

.resolve_typeObject

Examples:

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


82
83
84
# File 'lib/convenient_service/utils/object.rb', line 82

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

.safe_sendObject

Examples:

ConvenientService::Utils::Object.safe_send(object, method, *args, **kwargs, &block)


90
91
92
# File 'lib/convenient_service/utils/object.rb', line 90

def safe_send(...)
  SafeSend.call(...)
end

.with_one_time_objectObject

Examples:

ConvenientService::Utils::Object.with_one_time_object { |one_time_object| puts one_time_object }


98
99
100
# File 'lib/convenient_service/utils/object.rb', line 98

def with_one_time_object(...)
  WithOneTimeObject.call(...)
end