Sha256: 1b787b85459c85e3180e7047a4c330af2552737f49f1f6db3f059509481325b7

Contents?: true

Size: 678 Bytes

Versions: 3

Compression:

Stored size: 678 Bytes

Contents

require 'roodi/checks/name_check'

module Roodi

  module Checks

    # Checks a class name to make sure it matches the specified pattern.
    # 
    # Keeping to a consistent naming convention makes your code easier to read.
    class ClassNameCheck < NameCheck

      DEFAULT_PATTERN = /^[A-Z]{1}[a-zA-Z0-9]*$/
      
      def initialize(options = {})
        pattern = options['pattern'] || DEFAULT_PATTERN
        super([:class], pattern, 'Class')
      end
      
      def find_name(node)
        node[1].class == Symbol ? node[1] : node[1].last
      end

      protected

        def build_options(node)
          { :class => node[1] }
        end

    end

  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
marcoow-roodi-1.3.2 lib/roodi/checks/class_name_check.rb
marcoow-roodi-1.3.4 lib/roodi/checks/class_name_check.rb
marcoow-roodi-1.3.5 lib/roodi/checks/class_name_check.rb