Sha256: d9cd2e9285ed53a523116f9cf2eb0f0e23b99999bb2be3b84638ab8678419d10

Contents?: true

Size: 1.59 KB

Versions: 17

Compression:

Stored size: 1.59 KB

Contents

module Inch
  module Language
    module Nodejs
      module Evaluation
        module Role
          # Roles assigned to modules
          module Module
            # Role assigned to modules with children
            #
            # @see CodeObject::Ruby::NamespaceObject#has_children?
            class WithChildren < Base
              applicable_if :has_children?

              # This role doesnot assign a score.
              def score
                0
              end

              # This role sets a max_score.
              def max_score
                # @value.to_f
              end
            end

            # Role assigned to modules with many children
            #
            # @see CodeObject::Ruby::NamespaceObject#has_many_children?
            class WithManyChildren < Base
              applicable_if :has_many_children?

              # +priority
              def priority
                +1
              end
            end

            # Role assigned to modules without any children
            class WithoutChildren < Base
              applicable_unless :has_children?
            end

            # Role assigned to modules without any methods
            class WithoutMethods < Base
              applicable_unless :has_methods?

              def priority
                -2
              end
            end

            # A 'pure' namespace has only modules as children
            class Pure < Base
              applicable_if :pure_namespace?

              def priority
                -2
              end
            end
          end
        end
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
inch-0.5.10 lib/inch/language/nodejs/roles/module.rb
inch-0.5.9 lib/inch/language/nodejs/roles/module.rb
inch-0.5.8 lib/inch/language/nodejs/roles/module.rb
inch-0.5.7 lib/inch/language/nodejs/roles/module.rb
inch-0.5.6 lib/inch/language/nodejs/roles/module.rb
inch-0.5.5 lib/inch/language/nodejs/roles/module.rb
inch-0.5.4 lib/inch/language/nodejs/roles/module.rb
inch-0.5.3 lib/inch/language/nodejs/roles/module.rb
inch-0.5.2 lib/inch/language/nodejs/roles/module.rb
inch-0.5.1 lib/inch/language/nodejs/roles/module.rb
inch-0.5.0 lib/inch/language/nodejs/roles/module.rb
inch-0.5.0.rc11 lib/inch/language/nodejs/roles/module.rb
inch-0.5.0.rc10 lib/inch/language/nodejs/roles/module.rb
inch-0.5.0.rc9 lib/inch/language/nodejs/roles/module.rb
inch-0.5.0.rc8 lib/inch/language/nodejs/roles/module.rb
inch-0.5.0.rc7 lib/inch/language/nodejs/roles/module.rb
inch-0.5.0.rc6 lib/inch/language/nodejs/roles/module.rb