inch 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +170 -56
  3. data/TODOS.md +0 -6
  4. data/config/defaults.rb +82 -0
  5. data/lib/inch/cli/command/base.rb +9 -0
  6. data/lib/inch/cli/command/base_list.rb +8 -8
  7. data/lib/inch/cli/command/base_object.rb +1 -1
  8. data/lib/inch/cli/command/list.rb +6 -1
  9. data/lib/inch/cli/command/options/base.rb +1 -1
  10. data/lib/inch/cli/command/options/suggest.rb +3 -1
  11. data/lib/inch/cli/command/output/list.rb +6 -6
  12. data/lib/inch/cli/command/output/show.rb +3 -3
  13. data/lib/inch/cli/command/output/stats.rb +52 -33
  14. data/lib/inch/cli/command/output/suggest.rb +7 -7
  15. data/lib/inch/cli/command/show.rb +5 -0
  16. data/lib/inch/cli/command/stats.rb +6 -1
  17. data/lib/inch/cli/command/suggest.rb +31 -12
  18. data/lib/inch/cli/command.rb +7 -14
  19. data/lib/inch/cli/command_parser.rb +2 -9
  20. data/lib/inch/cli/sparkline_helper.rb +13 -13
  21. data/lib/inch/cli/weighted_list.rb +85 -0
  22. data/lib/inch/cli.rb +2 -1
  23. data/lib/inch/code_object/nodoc_helper.rb +2 -0
  24. data/lib/inch/code_object/proxy/base.rb +36 -13
  25. data/lib/inch/code_object/proxy/method_object.rb +29 -0
  26. data/lib/inch/code_object/proxy/namespace_object.rb +6 -0
  27. data/lib/inch/config.rb +30 -37
  28. data/lib/inch/evaluation/base.rb +53 -1
  29. data/lib/inch/evaluation/constant_object.rb +8 -11
  30. data/lib/inch/evaluation/file.rb +1 -1
  31. data/lib/inch/evaluation/grade.rb +41 -0
  32. data/lib/inch/evaluation/grade_list.rb +32 -0
  33. data/lib/inch/evaluation/method_object.rb +10 -51
  34. data/lib/inch/evaluation/namespace_object.rb +8 -49
  35. data/lib/inch/evaluation/{criteria.rb → object_schema.rb} +12 -22
  36. data/lib/inch/evaluation/read_write_methods.rb +21 -0
  37. data/lib/inch/evaluation/role/method.rb +8 -0
  38. data/lib/inch/evaluation.rb +5 -2
  39. data/lib/inch/version.rb +1 -1
  40. data/lib/inch.rb +3 -1
  41. data/test/fixtures/simple/lib/broken.rb +15 -0
  42. data/test/fixtures/simple/lib/role_methods.rb +15 -0
  43. data/test/inch/cli/weighted_list_test.rb +55 -0
  44. data/test/inch/code_object/proxy/method_object_test.rb +42 -0
  45. data/test/integration/stats_options_test.rb +1 -1
  46. metadata +11 -5
  47. data/lib/inch/evaluation/score_range.rb +0 -38
@@ -172,4 +172,46 @@ describe ::Inch::CodeObject::Proxy::MethodObject do
172
172
 
173
173
  assert m.score > 0
174
174
  end
175
+
176
+ def test_getter
177
+ m = @source_parser.find_object("InchTest#getter")
178
+ assert m.getter?, "should be a getter"
179
+ refute m.setter?
180
+ end
181
+
182
+ def test_setter
183
+ m = @source_parser.find_object("InchTest#attr_setter=")
184
+ refute m.getter?
185
+ assert m.setter?, "should be a setter"
186
+ end
187
+
188
+ def test_setter2
189
+ m = @source_parser.find_object("InchTest#manual_setter=")
190
+ refute m.getter?
191
+ assert m.setter?, "should be a setter"
192
+ end
193
+
194
+ def test_manual_getset
195
+ m = @source_parser.find_object("InchTest#manual_getset")
196
+ assert m.getter?, "should be a getter"
197
+ refute m.setter?
198
+ end
199
+
200
+ def test_manual_getset2
201
+ m = @source_parser.find_object("InchTest#manual_getset=")
202
+ refute m.getter?
203
+ assert m.setter?, "should be a setter"
204
+ end
205
+
206
+ def test_attr_getset
207
+ m = @source_parser.find_object("InchTest#attr_getset")
208
+ assert m.getter?, "should be a getter"
209
+ refute m.setter?
210
+ end
211
+
212
+ def test_attr_getset2
213
+ m = @source_parser.find_object("InchTest#attr_getset=")
214
+ refute m.getter?
215
+ assert m.setter?, "should be a setter"
216
+ end
175
217
  end
@@ -14,7 +14,7 @@ describe ::Inch::CLI::Command::List do
14
14
 
15
15
  def assert_parsed_output(parsed)
16
16
  assert parsed.size > 0
17
- assert parsed["ranges"]
17
+ assert parsed["grade_lists"]
18
18
  assert parsed["scores"]
19
19
  assert parsed["priorities"]
20
20
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - René Föhring
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-06 00:00:00.000000000 Z
11
+ date: 2014-02-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -112,6 +112,7 @@ files:
112
112
  - Rakefile
113
113
  - TODOS.md
114
114
  - bin/inch
115
+ - config/defaults.rb
115
116
  - inch.gemspec
116
117
  - lib/inch.rb
117
118
  - lib/inch/cli.rb
@@ -139,6 +140,7 @@ files:
139
140
  - lib/inch/cli/command_parser.rb
140
141
  - lib/inch/cli/sparkline_helper.rb
141
142
  - lib/inch/cli/trace_helper.rb
143
+ - lib/inch/cli/weighted_list.rb
142
144
  - lib/inch/cli/yardopts_helper.rb
143
145
  - lib/inch/code_object.rb
144
146
  - lib/inch/code_object/docstring.rb
@@ -159,11 +161,14 @@ files:
159
161
  - lib/inch/evaluation/base.rb
160
162
  - lib/inch/evaluation/class_object.rb
161
163
  - lib/inch/evaluation/constant_object.rb
162
- - lib/inch/evaluation/criteria.rb
163
164
  - lib/inch/evaluation/file.rb
165
+ - lib/inch/evaluation/grade.rb
166
+ - lib/inch/evaluation/grade_list.rb
164
167
  - lib/inch/evaluation/method_object.rb
165
168
  - lib/inch/evaluation/module_object.rb
166
169
  - lib/inch/evaluation/namespace_object.rb
170
+ - lib/inch/evaluation/object_schema.rb
171
+ - lib/inch/evaluation/read_write_methods.rb
167
172
  - lib/inch/evaluation/role/base.rb
168
173
  - lib/inch/evaluation/role/constant.rb
169
174
  - lib/inch/evaluation/role/method.rb
@@ -171,7 +176,6 @@ files:
171
176
  - lib/inch/evaluation/role/missing.rb
172
177
  - lib/inch/evaluation/role/namespace.rb
173
178
  - lib/inch/evaluation/role/object.rb
174
- - lib/inch/evaluation/score_range.rb
175
179
  - lib/inch/rake.rb
176
180
  - lib/inch/rake/suggest.rb
177
181
  - lib/inch/source_parser.rb
@@ -198,6 +202,7 @@ files:
198
202
  - test/inch/cli/command/suggest_test.rb
199
203
  - test/inch/cli/command_parser_test.rb
200
204
  - test/inch/cli/trace_helper_test.rb
205
+ - test/inch/cli/weighted_list_test.rb
201
206
  - test/inch/cli/yardopts_helper_test.rb
202
207
  - test/inch/code_object/docstring_test.rb
203
208
  - test/inch/code_object/nodoc_helper_test.rb
@@ -227,7 +232,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
227
232
  version: '0'
228
233
  requirements: []
229
234
  rubyforge_project:
230
- rubygems_version: 2.0.3
235
+ rubygems_version: 2.0.6
231
236
  signing_key:
232
237
  specification_version: 4
233
238
  summary: Documentation measurement tool for Ruby
@@ -254,6 +259,7 @@ test_files:
254
259
  - test/inch/cli/command/suggest_test.rb
255
260
  - test/inch/cli/command_parser_test.rb
256
261
  - test/inch/cli/trace_helper_test.rb
262
+ - test/inch/cli/weighted_list_test.rb
257
263
  - test/inch/cli/yardopts_helper_test.rb
258
264
  - test/inch/code_object/docstring_test.rb
259
265
  - test/inch/code_object/nodoc_helper_test.rb
@@ -1,38 +0,0 @@
1
- module Inch
2
- module Evaluation
3
- # ScoreRange objects associate a range of scores with a grade,
4
- # description, color etc.
5
- #
6
- # @see .new_score_ranges
7
- class ScoreRange < Struct.new(:range, :grade, :description, :color, :bg_color)
8
- # Returns code_objects that received a score with the defined +range+
9
- attr_reader :objects
10
-
11
- # Assigns code_objects that received a score with the defined +range+
12
- #
13
- # @param arr [Array<CodeObject::Proxy::Base>]
14
- # @return [Array<CodeObject::Proxy::Base>]
15
- def objects=(arr)
16
- arr.each { |o| o.grade = grade }
17
- @objects = arr
18
- end
19
- end
20
-
21
- SCORE_RANGE_ARGS = [
22
- [80..100, :A, "Seems really good", :green],
23
- [50...80, :B, "Proper documentation present", :yellow],
24
- [1...50, :C, "Needs work", :red],
25
- [0..0, :U, "Undocumented", :color141, :color105],
26
- ]
27
-
28
- # Returns newly instanciated score range objects based on
29
- # {SCORE_RANGE_ARGS}
30
- #
31
- # @return [Array<ScoreRange>]
32
- def self.new_score_ranges
33
- SCORE_RANGE_ARGS.map do |args|
34
- ScoreRange.new(*args)
35
- end
36
- end
37
- end
38
- end