inch 0.2.3 → 0.3.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. checksums.yaml +4 -4
  2. data/.simplecov +7 -0
  3. data/TODOS.md +0 -5
  4. data/config/defaults.rb +26 -1
  5. data/inch.gemspec +1 -0
  6. data/lib/inch.rb +2 -1
  7. data/lib/inch/api.rb +34 -0
  8. data/lib/inch/api/filter.rb +17 -0
  9. data/lib/inch/api/get.rb +30 -0
  10. data/lib/inch/api/list.rb +10 -0
  11. data/lib/inch/api/options/base.rb +45 -0
  12. data/lib/inch/api/options/filter.rb +25 -0
  13. data/lib/inch/api/options/suggest.rb +36 -0
  14. data/lib/inch/api/stats.rb +7 -0
  15. data/lib/inch/api/suggest.rb +110 -0
  16. data/lib/inch/cli.rb +4 -1
  17. data/lib/inch/cli/command/base.rb +1 -17
  18. data/lib/inch/cli/command/base_list.rb +3 -63
  19. data/lib/inch/cli/command/base_object.rb +6 -28
  20. data/lib/inch/cli/command/list.rb +3 -2
  21. data/lib/inch/cli/command/options/base.rb +1 -1
  22. data/lib/inch/cli/command/options/base_list.rb +4 -2
  23. data/lib/inch/cli/command/options/suggest.rb +9 -8
  24. data/lib/inch/cli/command/output/base.rb +9 -11
  25. data/lib/inch/cli/command/output/list.rb +2 -2
  26. data/lib/inch/cli/command/output/show.rb +2 -10
  27. data/lib/inch/cli/command/output/stats.rb +4 -3
  28. data/lib/inch/cli/command/output/suggest.rb +5 -5
  29. data/lib/inch/cli/command/stats.rb +4 -3
  30. data/lib/inch/cli/command/suggest.rb +4 -94
  31. data/lib/inch/code_object.rb +2 -2
  32. data/lib/inch/code_object/converter.rb +89 -0
  33. data/lib/inch/code_object/provider.rb +36 -0
  34. data/lib/inch/code_object/provider/yard.rb +19 -0
  35. data/lib/inch/code_object/provider/yard/docstring.rb +106 -0
  36. data/lib/inch/code_object/provider/yard/nodoc_helper.rb +93 -0
  37. data/lib/inch/code_object/provider/yard/object.rb +55 -0
  38. data/lib/inch/code_object/provider/yard/object/base.rb +262 -0
  39. data/lib/inch/code_object/provider/yard/object/class_object.rb +12 -0
  40. data/lib/inch/code_object/provider/yard/object/constant_object.rb +12 -0
  41. data/lib/inch/code_object/provider/yard/object/method_object.rb +126 -0
  42. data/lib/inch/code_object/provider/yard/object/method_parameter_object.rb +88 -0
  43. data/lib/inch/code_object/provider/yard/object/module_object.rb +12 -0
  44. data/lib/inch/code_object/provider/yard/object/namespace_object.rb +47 -0
  45. data/lib/inch/code_object/provider/yard/parser.rb +54 -0
  46. data/lib/inch/code_object/proxy.rb +5 -3
  47. data/lib/inch/code_object/proxy/base.rb +103 -110
  48. data/lib/inch/code_object/proxy/class_object.rb +0 -1
  49. data/lib/inch/code_object/proxy/method_object.rb +20 -99
  50. data/lib/inch/code_object/proxy/method_parameter_object.rb +15 -39
  51. data/lib/inch/code_object/proxy/namespace_object.rb +7 -18
  52. data/lib/inch/codebase.rb +19 -0
  53. data/lib/inch/codebase/objects.rb +73 -0
  54. data/lib/inch/codebase/objects_filter.rb +61 -0
  55. data/lib/inch/codebase/proxy.rb +22 -0
  56. data/lib/inch/config.rb +8 -1
  57. data/lib/inch/evaluation.rb +5 -7
  58. data/lib/inch/evaluation/file.rb +1 -1
  59. data/lib/inch/evaluation/grade.rb +1 -1
  60. data/lib/inch/evaluation/object_schema.rb +3 -1
  61. data/lib/inch/evaluation/priority_range.rb +44 -0
  62. data/lib/inch/evaluation/proxy.rb +25 -0
  63. data/lib/inch/evaluation/proxy/base.rb +146 -0
  64. data/lib/inch/evaluation/proxy/class_object.rb +8 -0
  65. data/lib/inch/evaluation/proxy/constant_object.rb +19 -0
  66. data/lib/inch/evaluation/proxy/method_object.rb +65 -0
  67. data/lib/inch/evaluation/proxy/module_object.rb +8 -0
  68. data/lib/inch/evaluation/proxy/namespace_object.rb +27 -0
  69. data/lib/inch/evaluation/role/base.rb +19 -0
  70. data/lib/inch/evaluation/role/constant.rb +16 -0
  71. data/lib/inch/evaluation/role/method.rb +22 -0
  72. data/lib/inch/evaluation/role/method_parameter.rb +31 -1
  73. data/lib/inch/evaluation/role/namespace.rb +15 -0
  74. data/lib/inch/evaluation/role/object.rb +24 -0
  75. data/lib/inch/rake/suggest.rb +1 -0
  76. data/lib/inch/utils/read_write_methods.rb +44 -0
  77. data/lib/inch/{cli → utils}/weighted_list.rb +1 -1
  78. data/lib/inch/version.rb +1 -1
  79. data/test/fixtures/simple/lib/broken.rb +8 -0
  80. data/test/inch/api/filter_test.rb +51 -0
  81. data/test/inch/api/get_test.rb +22 -0
  82. data/test/inch/api/list_test.rb +15 -0
  83. data/test/inch/api/options/base_test.rb +30 -0
  84. data/test/inch/api/stats_test.rb +15 -0
  85. data/test/inch/api/suggest_test.rb +26 -0
  86. data/test/inch/cli/command/list_test.rb +2 -1
  87. data/test/inch/code_object/converter_test.rb +29 -0
  88. data/test/inch/code_object/{docstring_test.rb → provider/yard/docstring_test.rb} +13 -13
  89. data/test/inch/code_object/{nodoc_helper_test.rb → provider/yard/nodoc_helper_test.rb} +6 -6
  90. data/test/inch/code_object/provider/yard_test.rb +11 -0
  91. data/test/inch/code_object/provider_test.rb +9 -0
  92. data/test/inch/code_object/proxy/method_object_test.rb +22 -22
  93. data/test/inch/code_object/proxy_test.rb +10 -10
  94. data/test/inch/codebase/objects_test.rb +28 -0
  95. data/test/inch/codebase/proxy_test.rb +17 -0
  96. data/test/inch/evaluation/role/base_test.rb +71 -0
  97. data/test/inch/{cli → utils}/weighted_list_test.rb +2 -2
  98. data/test/shared/base_list.rb +73 -0
  99. data/test/test_helper.rb +0 -95
  100. metadata +89 -24
  101. data/lib/inch/code_object/docstring.rb +0 -102
  102. data/lib/inch/code_object/nodoc_helper.rb +0 -107
  103. data/lib/inch/evaluation/base.rb +0 -157
  104. data/lib/inch/evaluation/class_object.rb +0 -6
  105. data/lib/inch/evaluation/constant_object.rb +0 -33
  106. data/lib/inch/evaluation/method_object.rb +0 -105
  107. data/lib/inch/evaluation/module_object.rb +0 -6
  108. data/lib/inch/evaluation/namespace_object.rb +0 -52
  109. data/lib/inch/evaluation/read_write_methods.rb +0 -21
  110. data/lib/inch/source_parser.rb +0 -62
  111. data/test/inch/source_parser_test.rb +0 -23
@@ -1,5 +1,5 @@
1
1
  module Inch
2
- module CLI
2
+ module Utils
3
3
  class WeightedList
4
4
  # Trims down a list of object lists to given sizes.
5
5
  # If there are not enough objects in any particular tier,
@@ -1,3 +1,3 @@
1
1
  module Inch
2
- VERSION = "0.2.3"
2
+ VERSION = "0.3.0.rc1"
3
3
  end
@@ -7,6 +7,14 @@ module Foo
7
7
  def method_with_wrong_param_tag(e)
8
8
 
9
9
  end
10
+
11
+ # The problem here is that the @param tag does not describe the parameter
12
+ #
13
+ # @param [Encoding] e
14
+ # @return [String]
15
+ def method_with_empty_param_tag_text(e)
16
+
17
+ end
10
18
  end
11
19
 
12
20
  module YardError
@@ -0,0 +1,51 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../test_helper')
2
+
3
+ describe ::Inch::API::Filter do
4
+ before do
5
+ @dir = fixture_path(:simple)
6
+ @codebase = ::Inch::Codebase.parse(@dir)
7
+ end
8
+
9
+ it "should work" do
10
+ @options = {}
11
+ @context = ::Inch::API::Filter.new @codebase, @options
12
+ refute @context.objects.empty?
13
+ refute @context.grade_lists.empty?
14
+ end
15
+
16
+ it "should work with option: visibility == :public" do
17
+ @options = {:visibility => [:public]}
18
+ @context = ::Inch::API::Filter.new @codebase, @options
19
+ assert @context.objects.all? { |o| o.public? }
20
+ end
21
+
22
+ it "should work with option: visibility == :protected" do
23
+ @options = {:visibility => [:protected]}
24
+ @context = ::Inch::API::Filter.new @codebase, @options
25
+ assert @context.objects.all? { |o| o.protected? }
26
+ end
27
+
28
+ it "should work with option: visibility == :private" do
29
+ @options = {:visibility => [:private]}
30
+ @context = ::Inch::API::Filter.new @codebase, @options
31
+ assert @context.objects.all? { |o| o.private? || o.private_tag? }
32
+ end
33
+
34
+ it "should work with option: namespaces == :only" do
35
+ @options = {:namespaces => :only}
36
+ @context = ::Inch::API::Filter.new @codebase, @options
37
+ assert @context.objects.all? { |o| o.namespace? }
38
+ end
39
+
40
+ it "should work with option: undocumented == :only" do
41
+ @options = {:undocumented => :only}
42
+ @context = ::Inch::API::Filter.new @codebase, @options
43
+ assert @context.objects.all? { |o| o.undocumented? }
44
+ end
45
+
46
+ it "should work with option: depth == 2" do
47
+ @options = {:depth => 2}
48
+ @context = ::Inch::API::Filter.new @codebase, @options
49
+ refute @context.objects.any? { |o| o.depth > 2 }
50
+ end
51
+ end
@@ -0,0 +1,22 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../test_helper')
2
+
3
+ describe ::Inch::API::Get do
4
+ before do
5
+ @dir = fixture_path(:simple)
6
+ @codebase = ::Inch::Codebase.parse(@dir)
7
+ end
8
+
9
+ it "should work" do
10
+ @object_names = ["Foo", "Foo::Bar"]
11
+ @context = ::Inch::API::Get.new @codebase, @object_names
12
+ assert_equal 2, @context.objects.size
13
+ refute @context.object.nil?
14
+ refute @context.grade_lists.empty?
15
+ end
16
+
17
+ it "should work with wildcard" do
18
+ @object_names = ["Foo", "Foo::Bar#"]
19
+ @context = ::Inch::API::Get.new @codebase, @object_names
20
+ assert @context.objects.size > 2
21
+ end
22
+ end
@@ -0,0 +1,15 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../test_helper')
2
+
3
+ describe ::Inch::API::List do
4
+ before do
5
+ @dir = fixture_path(:simple)
6
+ @codebase = ::Inch::Codebase.parse(@dir)
7
+ end
8
+
9
+ it "should work" do
10
+ @options = {}
11
+ @context = ::Inch::API::List.new @codebase, @options
12
+ refute @context.objects.empty?
13
+ refute @context.grade_lists.empty?
14
+ end
15
+ end
@@ -0,0 +1,30 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../../test_helper')
2
+
3
+ describe ::Inch::API::Options::Base do
4
+ class APIOptionsTest < ::Inch::API::Options::Base
5
+ attribute :foo, :bar
6
+ attribute :baz
7
+ attribute :qux
8
+ end
9
+
10
+ it "should work with a Hash or Struct" do
11
+ @options_hash = {:foo => "foo", :baz => 42}
12
+ @options_struct = OpenStruct.new(@options_hash)
13
+
14
+ @options1 = APIOptionsTest.new @options_hash
15
+ @options2 = APIOptionsTest.new @options_struct
16
+
17
+ assert_equal "foo", @options1.foo
18
+ assert_equal "foo", @options2.foo
19
+ assert_equal 42, @options1.baz
20
+ assert_equal 42, @options2.baz
21
+ end
22
+
23
+ it "should return default values" do
24
+ @options_hash = {:baz => 42}
25
+ @options = APIOptionsTest.new @options_hash
26
+
27
+ assert_equal :bar, @options.foo
28
+ assert_equal 42, @options.baz
29
+ end
30
+ end
@@ -0,0 +1,15 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../test_helper')
2
+
3
+ describe ::Inch::API::Stats do
4
+ before do
5
+ @dir = fixture_path(:simple)
6
+ @codebase = ::Inch::Codebase.parse(@dir)
7
+ end
8
+
9
+ it "should work" do
10
+ @options = {}
11
+ @context = ::Inch::API::Stats.new @codebase, @options
12
+ refute @context.objects.empty?
13
+ refute @context.grade_lists.empty?
14
+ end
15
+ end
@@ -0,0 +1,26 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../test_helper')
2
+
3
+ describe ::Inch::API::Suggest do
4
+ before do
5
+ @dir = fixture_path(:simple)
6
+ @codebase = ::Inch::Codebase.parse(@dir)
7
+ end
8
+
9
+ it "should work" do
10
+ @options = {}
11
+ @context = ::Inch::API::Suggest.new @codebase, @options
12
+ refute @context.objects.empty?
13
+ refute @context.grade_lists.empty?
14
+ end
15
+
16
+ it "should work with option: object_count" do
17
+ @options = {:object_count => 10}
18
+ @context = ::Inch::API::Suggest.new @codebase, @options
19
+
20
+ @options2 = {:object_count => 20}
21
+ @context2 = ::Inch::API::Suggest.new @codebase, @options2
22
+
23
+ assert_equal 10, @context.objects.size
24
+ assert_equal 20, @context2.objects.size
25
+ end
26
+ end
@@ -1,4 +1,5 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/../../../test_helper')
2
+ require File.expand_path(File.dirname(__FILE__) + '/../../../shared/base_list')
2
3
 
3
4
  describe ::Inch::CLI::Command::List do
4
5
  before do
@@ -6,7 +7,7 @@ describe ::Inch::CLI::Command::List do
6
7
  @command = ::Inch::CLI::Command::List
7
8
  end
8
9
 
9
- include BaseListTests
10
+ include Shared::BaseList
10
11
 
11
12
  it "should run without args" do
12
13
  out, err = capture_io do
@@ -0,0 +1,29 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../test_helper')
2
+
3
+ describe ::Inch::CodeObject::Converter do
4
+ class MockObject
5
+ def docstring
6
+ "Foo::Bar"
7
+ end
8
+
9
+ def parameters
10
+ []
11
+ end
12
+
13
+ def public?
14
+ false
15
+ end
16
+
17
+ def private?
18
+ true
19
+ end
20
+ end
21
+
22
+ let(:object) { MockObject.new }
23
+ it "should parse all objects" do
24
+ attributes = ::Inch::CodeObject::Converter.to_hash(object)
25
+ assert_equal object.docstring, attributes[:docstring]
26
+ assert_equal object.public?, attributes[:public?]
27
+ assert_equal object.private?, attributes[:private?]
28
+ end
29
+ end
@@ -1,7 +1,7 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../test_helper')
2
-
3
- describe ::Inch::CodeObject::Docstring do
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../../../test_helper')
4
2
 
3
+ describe ::Inch::CodeObject::Provider::YARD::Docstring do
4
+ let(:described_class) { ::Inch::CodeObject::Provider::YARD::Docstring }
5
5
 
6
6
  #
7
7
  # loose TomDoc compatibility
@@ -20,7 +20,7 @@ param3 - Optional String mode (defaults to nil)
20
20
 
21
21
  Returns Language or nil.
22
22
  DOC
23
- docstring = ::Inch::CodeObject::Docstring.new(text)
23
+ docstring = described_class.new(text)
24
24
  assert docstring.mentions_parameter?(:param1)
25
25
  assert docstring.mentions_parameter?(:param2)
26
26
  assert docstring.mentions_parameter?(:param3)
@@ -45,7 +45,7 @@ Examples
45
45
 
46
46
  Returns the Lexer or nil if none was found.
47
47
  DOC
48
- docstring = ::Inch::CodeObject::Docstring.new(text)
48
+ docstring = described_class.new(text)
49
49
  assert docstring.mentions_parameter?(:param1)
50
50
  assert docstring.describes_parameter?(:param1)
51
51
  refute docstring.mentions_parameter?(:alias)
@@ -68,7 +68,7 @@ Examples
68
68
 
69
69
  Returns the Lexer or nil if none was found.
70
70
  DOC
71
- docstring = ::Inch::CodeObject::Docstring.new(text)
71
+ docstring = described_class.new(text)
72
72
  assert docstring.mentions_parameter?(:param1)
73
73
  assert docstring.describes_parameter?(:param1)
74
74
  refute docstring.mentions_parameter?(:alias)
@@ -89,7 +89,7 @@ text = <<-DOC
89
89
  Just because format_html is mentioned here, does not mean
90
90
  the first parameter is mentioned.
91
91
  DOC
92
- docstring = ::Inch::CodeObject::Docstring.new(text)
92
+ docstring = described_class.new(text)
93
93
  refute docstring.mentions_parameter?(:format)
94
94
  refute docstring.contains_code_example?
95
95
  end
@@ -100,7 +100,7 @@ text = <<-DOC
100
100
  Just because format is mentioned here, does not mean
101
101
  the first parameter is meant.
102
102
  DOC
103
- docstring = ::Inch::CodeObject::Docstring.new(text)
103
+ docstring = described_class.new(text)
104
104
  refute docstring.mentions_parameter?(:format)
105
105
  refute docstring.contains_code_example?
106
106
  end
@@ -123,7 +123,7 @@ param1::
123
123
  == Returns:
124
124
  A string in the specified format.
125
125
  DOC
126
- docstring = ::Inch::CodeObject::Docstring.new(text)
126
+ docstring = described_class.new(text)
127
127
  refute docstring.contains_code_example?
128
128
  end
129
129
 
@@ -138,7 +138,7 @@ Params:
138
138
  +param2+:: +Proc+ object that takes a pipe object as first and only param (may be nil)
139
139
  +param3+:: +Proc+ object that takes a pipe object as first and only param (may be nil)
140
140
  DOC
141
- docstring = ::Inch::CodeObject::Docstring.new(text)
141
+ docstring = described_class.new(text)
142
142
  assert docstring.contains_code_example?
143
143
  assert docstring.mentions_parameter?(:param1)
144
144
  assert docstring.mentions_parameter?(:param2)
@@ -156,7 +156,7 @@ the first parameter is mentioned.
156
156
  method_with_code_example() # => some value
157
157
  method_with_missing_param_doc(param1, param2, param3)
158
158
  DOC
159
- docstring = ::Inch::CodeObject::Docstring.new(text)
159
+ docstring = described_class.new(text)
160
160
  assert docstring.contains_code_example?
161
161
  assert_equal 1, docstring.code_examples.size
162
162
  end
@@ -174,7 +174,7 @@ param1::
174
174
  == Returns:
175
175
  A string in the specified format.
176
176
  DOC
177
- docstring = ::Inch::CodeObject::Docstring.new(text)
177
+ docstring = described_class.new(text)
178
178
  assert docstring.contains_code_example?
179
179
  assert_equal 1, docstring.code_examples.size
180
180
  assert docstring.mentions_parameter?(:param1)
@@ -199,7 +199,7 @@ param1::
199
199
  == Returns:
200
200
  A string in the specified format.
201
201
  DOC
202
- docstring = ::Inch::CodeObject::Docstring.new(text)
202
+ docstring = described_class.new(text)
203
203
  assert docstring.contains_code_example?
204
204
  assert_equal 2, docstring.code_examples.size
205
205
  assert docstring.code_examples.last.index("create_index! 2")
@@ -1,9 +1,9 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../test_helper')
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../../../test_helper')
2
2
 
3
- describe ::Inch::CodeObject::NodocHelper do
3
+ describe ::Inch::CodeObject::Provider::YARD::NodocHelper do
4
4
  before do
5
- Dir.chdir fixture_path(:simple)
6
- @source_parser = Inch::SourceParser.run(["lib/**/*.rb"])
5
+ @provider = ::Inch::CodeObject::Provider::YARD.parse(fixture_path(:simple), ["lib/**/*.rb"], [])
6
+ @objects = @provider.objects
7
7
  end
8
8
 
9
9
  it "should return true for explicitly or implicitly tagged objects" do
@@ -19,7 +19,7 @@ describe ::Inch::CodeObject::NodocHelper do
19
19
  "Foo::HiddenClassViaTag",
20
20
  "Foo::HiddenClassViaTag#some_value",
21
21
  ].each do |query|
22
- m = @source_parser.find_object(query)
22
+ m = @objects.detect { |o| o.fullname == query }
23
23
  assert m.nodoc?, "nodoc? should return true for #{query}"
24
24
  end
25
25
  end
@@ -32,7 +32,7 @@ describe ::Inch::CodeObject::NodocHelper do
32
32
  "Foo::HiddenClass::EvenMoreHiddenClass::SuddenlyVisibleClass",
33
33
  "Foo::HiddenClass::EvenMoreHiddenClass::SuddenlyVisibleClass#method_with_implicit_doc",
34
34
  ].each do |query|
35
- m = @source_parser.find_object(query)
35
+ m = @objects.detect { |o| o.fullname == query }
36
36
  refute m.nodoc?, "nodoc? should return false for #{query}"
37
37
  end
38
38
  end
@@ -0,0 +1,11 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../../test_helper')
2
+
3
+ describe ::Inch::CodeObject::Provider::YARD do
4
+ let(:described_class) { ::Inch::CodeObject::Provider::YARD }
5
+
6
+ it "should parse" do
7
+ provider = described_class.parse(fixture_path(:simple), ["lib/**/*.rb"], [])
8
+ assert !provider.objects.empty?
9
+ end
10
+
11
+ end
@@ -0,0 +1,9 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../test_helper')
2
+
3
+ describe ::Inch::CodeObject::Provider do
4
+ it "should parse all objects" do
5
+ Dir.chdir File.dirname(__FILE__)
6
+ @provider = ::Inch::CodeObject::Provider.parse(fixture_path(:simple), ["lib/**/*.rb"], [])
7
+ refute @provider.objects.empty?
8
+ end
9
+ end
@@ -3,11 +3,11 @@ require File.expand_path(File.dirname(__FILE__) + '/../../../test_helper')
3
3
  describe ::Inch::CodeObject::Proxy::MethodObject do
4
4
  before do
5
5
  Dir.chdir fixture_path(:simple)
6
- @source_parser ||= Inch::SourceParser.run(["lib/**/*.rb"])
6
+ @codebase = Inch::Codebase.parse(fixture_path(:simple), ["lib/**/*.rb"])
7
7
  end
8
8
 
9
9
  def test_method_without_doc
10
- m = @source_parser.find_object("Foo::Bar#method_without_doc")
10
+ m = @codebase.objects.find("Foo::Bar#method_without_doc")
11
11
  refute m.has_doc?
12
12
  refute m.has_parameters?
13
13
  refute m.return_mentioned?
@@ -17,7 +17,7 @@ describe ::Inch::CodeObject::Proxy::MethodObject do
17
17
  end
18
18
 
19
19
  def test_method_with_missing_param_doc
20
- m = @source_parser.find_object("Foo::Bar#method_with_missing_param_doc")
20
+ m = @codebase.objects.find("Foo::Bar#method_with_missing_param_doc")
21
21
  assert m.has_doc?
22
22
  assert m.has_parameters?
23
23
  assert m.return_mentioned?
@@ -34,7 +34,7 @@ describe ::Inch::CodeObject::Proxy::MethodObject do
34
34
  end
35
35
 
36
36
  def test_method_with_wrong_doc
37
- m = @source_parser.find_object("Foo::Bar#method_with_wrong_doc")
37
+ m = @codebase.objects.find("Foo::Bar#method_with_wrong_doc")
38
38
  assert m.has_doc?
39
39
  assert m.has_parameters?
40
40
  assert m.return_mentioned?
@@ -57,7 +57,7 @@ describe ::Inch::CodeObject::Proxy::MethodObject do
57
57
  end
58
58
 
59
59
  def test_method_with_full_doc
60
- m = @source_parser.find_object("Foo::Bar#method_with_full_doc")
60
+ m = @codebase.objects.find("Foo::Bar#method_with_full_doc")
61
61
  assert m.has_doc?
62
62
  assert m.has_parameters?
63
63
  assert m.return_mentioned?
@@ -74,7 +74,7 @@ describe ::Inch::CodeObject::Proxy::MethodObject do
74
74
  end
75
75
 
76
76
  def test_method_without_params_or_return_type
77
- m = @source_parser.find_object("Foo::Bar#method_without_params_or_return_type")
77
+ m = @codebase.objects.find("Foo::Bar#method_without_params_or_return_type")
78
78
  assert m.has_doc?
79
79
  refute m.has_parameters?
80
80
  refute m.return_mentioned?
@@ -83,7 +83,7 @@ describe ::Inch::CodeObject::Proxy::MethodObject do
83
83
  end
84
84
 
85
85
  def test_method_without_docstring
86
- m = @source_parser.find_object("Foo::Bar#method_without_docstring")
86
+ m = @codebase.objects.find("Foo::Bar#method_without_docstring")
87
87
  refute m.has_doc?
88
88
  assert m.has_parameters?
89
89
  assert m.return_mentioned?
@@ -92,7 +92,7 @@ describe ::Inch::CodeObject::Proxy::MethodObject do
92
92
  end
93
93
 
94
94
  def test_method_without_params_or_docstring
95
- m = @source_parser.find_object("Foo::Bar#method_without_params_or_docstring")
95
+ m = @codebase.objects.find("Foo::Bar#method_without_params_or_docstring")
96
96
  refute m.has_doc?
97
97
  refute m.has_parameters?
98
98
  assert m.return_mentioned?
@@ -101,7 +101,7 @@ describe ::Inch::CodeObject::Proxy::MethodObject do
101
101
  end
102
102
 
103
103
  def test_method_with_rdoc_doc
104
- m = @source_parser.find_object("Foo::Bar#method_with_rdoc_doc")
104
+ m = @codebase.objects.find("Foo::Bar#method_with_rdoc_doc")
105
105
  assert m.has_doc?
106
106
  assert m.has_parameters?
107
107
  p = m.parameter(:param1)
@@ -112,7 +112,7 @@ describe ::Inch::CodeObject::Proxy::MethodObject do
112
112
  end
113
113
 
114
114
  def test_method_with_other_rdoc_doc
115
- m = @source_parser.find_object("Foo::Bar#method_with_other_rdoc_doc")
115
+ m = @codebase.objects.find("Foo::Bar#method_with_other_rdoc_doc")
116
116
  assert m.has_doc?
117
117
  assert m.has_parameters?
118
118
  p = m.parameter(:param1)
@@ -127,7 +127,7 @@ describe ::Inch::CodeObject::Proxy::MethodObject do
127
127
  end
128
128
 
129
129
  def test_method_with_unstructured_doc
130
- m = @source_parser.find_object("Foo::Bar#method_with_unstructured_doc")
130
+ m = @codebase.objects.find("Foo::Bar#method_with_unstructured_doc")
131
131
  assert m.has_doc?
132
132
  assert m.has_parameters?
133
133
  p = m.parameter(:param1)
@@ -138,7 +138,7 @@ describe ::Inch::CodeObject::Proxy::MethodObject do
138
138
  end
139
139
 
140
140
  def test_method_with_unstructured_doc_missing_params
141
- m = @source_parser.find_object("Foo::Bar#method_with_unstructured_doc_missing_params")
141
+ m = @codebase.objects.find("Foo::Bar#method_with_unstructured_doc_missing_params")
142
142
  assert m.has_doc?
143
143
  assert m.has_parameters?
144
144
  p = m.parameter(:format)
@@ -149,7 +149,7 @@ describe ::Inch::CodeObject::Proxy::MethodObject do
149
149
  end
150
150
 
151
151
  def test_question_mark_method
152
- m = @source_parser.find_object("InchTest#question_mark_method?")
152
+ m = @codebase.objects.find("InchTest#question_mark_method?")
153
153
  refute m.has_doc?
154
154
  refute m.has_parameters?
155
155
 
@@ -157,7 +157,7 @@ describe ::Inch::CodeObject::Proxy::MethodObject do
157
157
  end
158
158
 
159
159
  def test_question_mark_method_with_description
160
- m = @source_parser.find_object("InchTest#question_mark_method_with_description?")
160
+ m = @codebase.objects.find("InchTest#question_mark_method_with_description?")
161
161
  refute m.has_doc?
162
162
  refute m.has_parameters?
163
163
 
@@ -166,7 +166,7 @@ describe ::Inch::CodeObject::Proxy::MethodObject do
166
166
  end
167
167
 
168
168
  def test_method_with_description_and_parameters
169
- m = @source_parser.find_object("InchTest#method_with_description_and_parameters?")
169
+ m = @codebase.objects.find("InchTest#method_with_description_and_parameters?")
170
170
  refute m.has_doc?
171
171
  assert m.has_parameters?
172
172
 
@@ -174,43 +174,43 @@ describe ::Inch::CodeObject::Proxy::MethodObject do
174
174
  end
175
175
 
176
176
  def test_getter
177
- m = @source_parser.find_object("InchTest#getter")
177
+ m = @codebase.objects.find("InchTest#getter")
178
178
  assert m.getter?, "should be a getter"
179
179
  refute m.setter?
180
180
  end
181
181
 
182
182
  def test_setter
183
- m = @source_parser.find_object("InchTest#attr_setter=")
183
+ m = @codebase.objects.find("InchTest#attr_setter=")
184
184
  refute m.getter?
185
185
  assert m.setter?, "should be a setter"
186
186
  end
187
187
 
188
188
  def test_setter2
189
- m = @source_parser.find_object("InchTest#manual_setter=")
189
+ m = @codebase.objects.find("InchTest#manual_setter=")
190
190
  refute m.getter?
191
191
  assert m.setter?, "should be a setter"
192
192
  end
193
193
 
194
194
  def test_manual_getset
195
- m = @source_parser.find_object("InchTest#manual_getset")
195
+ m = @codebase.objects.find("InchTest#manual_getset")
196
196
  assert m.getter?, "should be a getter"
197
197
  refute m.setter?
198
198
  end
199
199
 
200
200
  def test_manual_getset2
201
- m = @source_parser.find_object("InchTest#manual_getset=")
201
+ m = @codebase.objects.find("InchTest#manual_getset=")
202
202
  refute m.getter?
203
203
  assert m.setter?, "should be a setter"
204
204
  end
205
205
 
206
206
  def test_attr_getset
207
- m = @source_parser.find_object("InchTest#attr_getset")
207
+ m = @codebase.objects.find("InchTest#attr_getset")
208
208
  assert m.getter?, "should be a getter"
209
209
  refute m.setter?
210
210
  end
211
211
 
212
212
  def test_attr_getset2
213
- m = @source_parser.find_object("InchTest#attr_getset=")
213
+ m = @codebase.objects.find("InchTest#attr_getset=")
214
214
  refute m.getter?
215
215
  assert m.setter?, "should be a setter"
216
216
  end