Sha256: 7965e4bfbf3224d6edae81c8a186ed8af124c459722d55bcc2cf2b75ccd78a7b

Contents?: true

Size: 436 Bytes

Versions: 1

Compression:

Stored size: 436 Bytes

Contents

require 'roodi/checks/check'

module Roodi
  module Checks
    class ModuleNameCheck < Check
      def interesting_nodes
        [:module]
      end
  
      def evaluate(node)
        class_name = node[1].class == Symbol ? node[1] : node[1].last
        pattern = /^[A-Z][a-zA-Z0-9]*$/
        add_error "Module name \"#{node[1]}\" should match pattern #{pattern.inspect}" unless class_name.to_s =~ pattern
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
roodi-1.2.0 lib/roodi/checks/module_name_check.rb