lib/inch/evaluation/role/namespace.rb in inch-0.1.4 vs lib/inch/evaluation/role/namespace.rb in inch-0.2.0
- old
+ new
@@ -1,9 +1,11 @@
module Inch
module Evaluation
module Role
+ # Roles assigned to namespaces (classes and modules)
module Namespace
+ # Role assigned to namespaces with children
class WithChildren < Base
# This role doesnot assign a score.
def score
0
end
@@ -11,44 +13,54 @@
# This role sets a max_score.
def max_score
# @value.to_f
end
end
+
+ # Role assigned to namespaces with many children
+ #
+ # @see CodeObject::Proxy::NamespaceObject#has_many_children?
class WithManyChildren < Base
# +priority
def priority
+1
end
end
+
+ # Role assigned to namespaces with many attributes
+ #
+ # @see CodeObject::Proxy::NamespaceObject#has_many_attributes?
class WithManyAttributes < Base
# +priority
def priority
+1
end
end
+ # Role assigned to namespaces without any children
class WithoutChildren < Base
end
+
+ # Role assigned to namespaces without any methods
class WithoutMethods < Base
- # --priority
def priority
-2
end
end
+
# A 'pure' namespace has only namespaces as children
class Pure < Base
- # --priority
def priority
-2
end
end
+
# A 'core' namespace is a class or module that is part of the Ruby
# core. It might appear in the object tree when monkey-patching
# functionality.
- # But just because we patch Hash does not mean we need to document
- # the Hash class itself.
+ # (the reasoning here is: just because we patch Hash does not mean
+ # we need to document the Hash class itself)
class Core < Base
- # --priority
def priority
-7
end
end
end