inch 0.2.3 → 0.3.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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