module EacRubyUtils::ActsAsAbstract::ClassMethods
def abstract_method(name, *arguments)
-
(void)
-
Parameters:
-
arguments
(Enumerable
) -- -
name
(Symbol
) --
def abstract_method(name, *arguments) abstract_methods_hash[name.to_sym] = arguments end
def abstract_methods(*methods_names)
-
(void)
-
Parameters:
-
methods_names
(Enumerable
) -- Each item can be a symbolizable or a hash.
def abstract_methods(*methods_names) methods_names.each do |method_name| if method_name.is_a?(::Hash) abstract_methods_from_hash(method_name) else abstract_method(method_name) end end end
def abstract_methods_from_hash(hash)
-
(void)
-
Parameters:
-
hash
(Hash
) --
def abstract_methods_from_hash(hash) hash.each { |name, arguments| abstract_method(name, *arguments) } end
def abstract_methods_hash
-
(Hash
- Hash
def abstract_methods_hash @abstract_methods_hash ||= ::EacRubyUtils::ModuleAncestorsVariable::Hash.new(self, __method__) end