module EacRubyUtils::ActsAsAbstract::ClassMethods

def abstract_method(name, *arguments)

Returns:
  • (void) -

Parameters:
  • arguments (Enumerable) --
  • name (Symbol) --
def abstract_method(name, *arguments)
  abstract_methods_hash[name.to_sym] = arguments
end

def abstract_methods(*methods_names)

Returns:
  • (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)

    Returns:
    • (void) -

    Parameters:
    • hash (Hash) --
    def abstract_methods_from_hash(hash)
      hash.each { |name, arguments| abstract_method(name, *arguments) }
    end

    def abstract_methods_hash

    Returns:
    • (Hash - Hash
    def abstract_methods_hash
      @abstract_methods_hash ||=
        ::EacRubyUtils::ModuleAncestorsVariable::Hash.new(self, __method__)
    end