Module: Simplabs::Excellent::Parsing::FlogMeasure

Included in:
BlockContext, ClassContext, MethodContext
Defined in:
lib/simplabs/excellent/parsing/flog_measure.rb

Overview

:nodoc:

Constant Summary collapse

SCORES =
Hash.new(1)
BRANCHES =
[:and, :case, :else, :if, :or, :rescue, :until, :when, :while]

Instance Method Summary collapse

Instance Method Details

#flog_scoreObject



169
170
171
172
# File 'lib/simplabs/excellent/parsing/flog_measure.rb', line 169

def flog_score
  initialize_values
  @score
end

#process_alias(exp) ⇒ Object



39
40
41
42
# File 'lib/simplabs/excellent/parsing/flog_measure.rb', line 39

def process_alias(exp)
  add_flog_score(2)
  super
end

#process_and(exp) ⇒ Object



44
45
46
47
# File 'lib/simplabs/excellent/parsing/flog_measure.rb', line 44

def process_and(exp)
  add_flog_score(1)
  super
end

#process_attrasgn(exp) ⇒ Object



54
55
56
57
# File 'lib/simplabs/excellent/parsing/flog_measure.rb', line 54

def process_attrasgn(exp)
  add_flog_score(1)
  super
end

#process_attrset(exp) ⇒ Object



59
60
61
62
# File 'lib/simplabs/excellent/parsing/flog_measure.rb', line 59

def process_attrset(exp)
  add_flog_score(1)
  super
end

#process_block_pass(exp) ⇒ Object



64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/simplabs/excellent/parsing/flog_measure.rb', line 64

def process_block_pass(exp)
  add_flog_score(1)
  arg = exp.last
  if arg.is_a?(Sexp)
    case arg.first
      when :lit, :call
        add_flog_score(5)
      when :iter, :dsym, :dstr, *BRANCHES
        add_flog_score(10)
    end
  end
  super
end

#process_call(exp) ⇒ Object



78
79
80
81
# File 'lib/simplabs/excellent/parsing/flog_measure.rb', line 78

def process_call(exp)
  add_flog_score(SCORES[exp[2]])
  super
end

#process_case(exp) ⇒ Object



83
84
85
86
# File 'lib/simplabs/excellent/parsing/flog_measure.rb', line 83

def process_case(exp)
  add_flog_score(1)
  super
end

#process_dasgn_curr(exp) ⇒ Object



88
89
90
91
# File 'lib/simplabs/excellent/parsing/flog_measure.rb', line 88

def process_dasgn_curr(exp)
  add_flog_score(1)
  super
end

#process_else(exp) ⇒ Object



103
104
105
106
# File 'lib/simplabs/excellent/parsing/flog_measure.rb', line 103

def process_else(exp)
  add_flog_score(1)
  super
end

#process_iasgn(exp) ⇒ Object



93
94
95
96
# File 'lib/simplabs/excellent/parsing/flog_measure.rb', line 93

def process_iasgn(exp)
  add_flog_score(1)
  super
end

#process_if(exp) ⇒ Object



118
119
120
121
# File 'lib/simplabs/excellent/parsing/flog_measure.rb', line 118

def process_if(exp)
  add_flog_score(1)
  super
end

#process_iter(exp) ⇒ Object



123
124
125
126
# File 'lib/simplabs/excellent/parsing/flog_measure.rb', line 123

def process_iter(exp)
  add_flog_score 1
  super
end

#process_lasgn(exp) ⇒ Object



98
99
100
101
# File 'lib/simplabs/excellent/parsing/flog_measure.rb', line 98

def process_lasgn(exp)
  add_flog_score(1)
  super
end

#process_lit(exp) ⇒ Object



128
129
130
131
132
133
134
135
136
137
# File 'lib/simplabs/excellent/parsing/flog_measure.rb', line 128

def process_lit(exp)
  value = exp.shift
  case value
    when 0, -1
      # do nothing
    when Integer
      add_flog_score(0.25)
  end
  super
end

#process_masgn(exp) ⇒ Object



139
140
141
142
# File 'lib/simplabs/excellent/parsing/flog_measure.rb', line 139

def process_masgn(exp)
  add_flog_score(1)
  super
end

#process_or(exp) ⇒ Object



49
50
51
52
# File 'lib/simplabs/excellent/parsing/flog_measure.rb', line 49

def process_or(exp)
  add_flog_score(1)
  super
end

#process_rescue(exp) ⇒ Object



108
109
110
111
# File 'lib/simplabs/excellent/parsing/flog_measure.rb', line 108

def process_rescue(exp)
  add_flog_score(1)
  super
end

#process_sclass(exp) ⇒ Object



144
145
146
147
# File 'lib/simplabs/excellent/parsing/flog_measure.rb', line 144

def process_sclass(exp)
  add_flog_score(5)
  super
end

#process_super(exp) ⇒ Object



149
150
151
152
# File 'lib/simplabs/excellent/parsing/flog_measure.rb', line 149

def process_super(exp)
  add_flog_score(1)
  super
end

#process_until(exp) ⇒ Object



159
160
161
162
# File 'lib/simplabs/excellent/parsing/flog_measure.rb', line 159

def process_until(exp)
  add_flog_score(1)
  super
end

#process_when(exp) ⇒ Object



113
114
115
116
# File 'lib/simplabs/excellent/parsing/flog_measure.rb', line 113

def process_when(exp)
  add_flog_score(1)
  super
end

#process_while(exp) ⇒ Object



154
155
156
157
# File 'lib/simplabs/excellent/parsing/flog_measure.rb', line 154

def process_while(exp)
  add_flog_score(1)
  super
end

#process_yield(exp) ⇒ Object



164
165
166
167
# File 'lib/simplabs/excellent/parsing/flog_measure.rb', line 164

def process_yield(exp)
  add_flog_score(1)
  super
end