Module: ClassName

Defined in:
lib/jscop/class_name.rb

Class Method Summary collapse

Class Method Details

.bad_class_name(crime) ⇒ Object



17
18
19
20
21
22
23
24
# File 'lib/jscop/class_name.rb', line 17

def self.bad_class_name(crime)
  fes_pat = /[\s]*(class)[\s]*[\d]*[\-]*[a-z]+[\-]*[\w\W]*/
  sec_pat = /[\s]*(class)[\s]*[\p{Alpha}]+[\-]+[\p{Alpha}]+/

  commented_line = crime.match?(%r{^\W+[\/\/]})

  !commented_line && (fes_pat.match?(crime) || sec_pat.match?(crime))
end

.check_class_name(file) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/jscop/class_name.rb', line 26

def self.check_class_name(file)
  bad_class_named_lines = []
  line_check = lambda { |line|
    bad_class_named_lines << line.number if bad_class_name(line.content)
  }
  file.lines.each(&line_check)

  err_type = 'CLASS_NAME_ERR'
  bad_class_named_lines.each { |line| raise_err(line, err_type, file.filename) }

  bad_class_named_lines
end

.check_class_name_res(error_bin, path) ⇒ Object



4
5
6
7
8
9
# File 'lib/jscop/class_name.rb', line 4

def self.check_class_name_res(error_bin, path)
  bad_class_lines = check_class_name(path)
  bad_class_lines.each { |line| error_bin << line if !bad_class_lines.empty? }

  error_bin
end