inch 0.5.0.rc11 → 0.5.0
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.
- checksums.yaml +4 -4
- data/.rubocop_todo.yml +86 -14
- data/.travis.yml +2 -1
- data/CHANGELOG.md +9 -1
- data/lib/inch/api/suggest.rb +1 -1
- data/lib/inch/cli/yardopts_helper.rb +1 -1
- data/lib/inch/evaluation.rb +1 -1
- data/lib/inch/language/elixir/code_object/function_parameter_object.rb +4 -0
- data/lib/inch/language/elixir/evaluation/function_object.rb +7 -5
- data/lib/inch/language/elixir/provider/reader/object/base.rb +2 -2
- data/lib/inch/language/elixir/provider/reader/object/function_object.rb +1 -1
- data/lib/inch/language/elixir/provider/reader/parser.rb +1 -1
- data/lib/inch/language/elixir/roles/function_parameter.rb +7 -2
- data/lib/inch/language/nodejs/evaluation/function_object.rb +1 -1
- data/lib/inch/language/nodejs/provider/jsdoc/parser.rb +1 -1
- data/lib/inch/language/ruby/evaluation/method_object.rb +1 -1
- data/lib/inch/language/ruby/provider/yard/docstring.rb +4 -4
- data/lib/inch/utils/buffered_ui.rb +1 -1
- data/lib/inch/version.rb +1 -1
- data/test/fixtures/elixir/inch_test/all.json +609 -0
- data/test/integration/cli/command/suggest_test.rb +1 -1
- data/test/unit/language/elixir/code_object/function_object_test.rb +37 -13
- data/test/unit/language/ruby/provider/yard/docstring_test.rb +33 -6
- metadata +6 -6
- data/test/fixtures/elixir/simple/all.json +0 -530
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 99ee504d6210614f2efc8b488d61a6106e8943af
|
4
|
+
data.tar.gz: 483a0a52a59e8b601cb3c847c9d40f2b0f483ea4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bade489d8eccd40e48bef4dfb2a86529ca5e58d1b804f8d75e4f5f68629fc09780e456f340f41db576207d55a21b66b14f08df6cfeac20b7782b68690f9b2094
|
7
|
+
data.tar.gz: 589ef72d6e520477c5b5d0ac280759bfb17de27a1674f33e503c04ee1044e864ea2ae35f3197ab4c6a883ab843c5423914d1f741c117defae6e72f98abe60a12
|
data/.rubocop_todo.yml
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
# This configuration was generated by `rubocop --auto-gen-config`
|
2
|
-
# on 2014-
|
2
|
+
# on 2014-10-06 22:11:42 +0200 using RuboCop version 0.25.0.
|
3
3
|
# The point is for the user to remove these configuration records
|
4
4
|
# one by one as the offenses are removed from the code base.
|
5
5
|
# Note that changes in the inspected code, or installation of new
|
6
6
|
# versions of RuboCop, may require this file to be generated again.
|
7
7
|
|
8
|
-
# Offense count:
|
8
|
+
# Offense count: 51
|
9
9
|
Lint/AmbiguousOperator:
|
10
10
|
Enabled: false
|
11
11
|
|
@@ -13,30 +13,38 @@ Lint/AmbiguousOperator:
|
|
13
13
|
Lint/Debugger:
|
14
14
|
Enabled: false
|
15
15
|
|
16
|
-
# Offense count:
|
16
|
+
# Offense count: 29
|
17
17
|
Lint/SpaceBeforeFirstArg:
|
18
18
|
Enabled: false
|
19
19
|
|
20
|
-
# Offense count:
|
20
|
+
# Offense count: 1
|
21
|
+
Lint/UnderscorePrefixedVariableName:
|
22
|
+
Enabled: false
|
23
|
+
|
24
|
+
# Offense count: 12
|
21
25
|
# Cop supports --auto-correct.
|
22
26
|
Lint/UnusedMethodArgument:
|
27
|
+
Enabled: true
|
28
|
+
|
29
|
+
# Offense count: 1
|
30
|
+
Lint/UselessAccessModifier:
|
23
31
|
Enabled: false
|
24
32
|
|
25
|
-
# Offense count:
|
33
|
+
# Offense count: 8
|
26
34
|
# Configuration parameters: CountComments.
|
27
35
|
Metrics/ClassLength:
|
28
|
-
Max:
|
36
|
+
Max: 196
|
29
37
|
|
30
38
|
# Offense count: 2
|
31
39
|
Metrics/CyclomaticComplexity:
|
32
40
|
Max: 7
|
33
41
|
|
34
|
-
# Offense count:
|
42
|
+
# Offense count: 9
|
35
43
|
# Configuration parameters: AllowURI.
|
36
44
|
Metrics/LineLength:
|
37
|
-
Max:
|
45
|
+
Max: 368
|
38
46
|
|
39
|
-
# Offense count:
|
47
|
+
# Offense count: 28
|
40
48
|
# Configuration parameters: CountComments.
|
41
49
|
Metrics/MethodLength:
|
42
50
|
Max: 34
|
@@ -54,7 +62,13 @@ Style/AccessorMethodName:
|
|
54
62
|
Style/ClassAndModuleChildren:
|
55
63
|
Enabled: false
|
56
64
|
|
57
|
-
# Offense count:
|
65
|
+
# Offense count: 1
|
66
|
+
# Cop supports --auto-correct.
|
67
|
+
# Configuration parameters: PreferredMethods.
|
68
|
+
Style/CollectionMethods:
|
69
|
+
Enabled: false
|
70
|
+
|
71
|
+
# Offense count: 90
|
58
72
|
Style/Documentation:
|
59
73
|
Enabled: false
|
60
74
|
|
@@ -62,10 +76,20 @@ Style/Documentation:
|
|
62
76
|
Style/DoubleNegation:
|
63
77
|
Enabled: false
|
64
78
|
|
65
|
-
# Offense count:
|
79
|
+
# Offense count: 2
|
80
|
+
# Cop supports --auto-correct.
|
81
|
+
Style/EmptyLines:
|
82
|
+
Enabled: false
|
83
|
+
|
84
|
+
# Offense count: 3
|
85
|
+
# Cop supports --auto-correct.
|
86
|
+
Style/EmptyLinesAroundBody:
|
87
|
+
Enabled: false
|
88
|
+
|
89
|
+
# Offense count: 12
|
66
90
|
# Configuration parameters: MinBodyLength.
|
67
91
|
Style/GuardClause:
|
68
|
-
Enabled:
|
92
|
+
Enabled: true
|
69
93
|
|
70
94
|
# Offense count: 1
|
71
95
|
# Cop supports --auto-correct.
|
@@ -78,23 +102,71 @@ Style/HashSyntax:
|
|
78
102
|
Style/IfUnlessModifier:
|
79
103
|
Enabled: false
|
80
104
|
|
81
|
-
# Offense count:
|
105
|
+
# Offense count: 1
|
106
|
+
# Cop supports --auto-correct.
|
107
|
+
Style/LeadingCommentSpace:
|
108
|
+
Enabled: false
|
109
|
+
|
110
|
+
# Offense count: 1
|
111
|
+
# Cop supports --auto-correct.
|
112
|
+
Style/PerlBackrefs:
|
113
|
+
Enabled: false
|
114
|
+
|
115
|
+
# Offense count: 54
|
82
116
|
# Configuration parameters: NamePrefixBlacklist.
|
83
117
|
Style/PredicateName:
|
84
118
|
Enabled: false
|
85
119
|
|
120
|
+
# Offense count: 1
|
121
|
+
Style/RegexpLiteral:
|
122
|
+
MaxSlashes: 4
|
123
|
+
|
86
124
|
# Offense count: 2
|
87
125
|
# Configuration parameters: Methods.
|
88
126
|
Style/SingleLineBlockParams:
|
89
127
|
Enabled: false
|
90
128
|
|
91
|
-
# Offense count:
|
129
|
+
# Offense count: 104
|
92
130
|
# Cop supports --auto-correct.
|
93
131
|
Style/SingleSpaceBeforeFirstArg:
|
94
132
|
Enabled: false
|
95
133
|
|
134
|
+
# Offense count: 15
|
135
|
+
# Cop supports --auto-correct.
|
136
|
+
Style/SpaceInsideBrackets:
|
137
|
+
Enabled: false
|
138
|
+
|
139
|
+
# Offense count: 3
|
140
|
+
# Cop supports --auto-correct.
|
141
|
+
# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SupportedStyles.
|
142
|
+
Style/SpaceInsideHashLiteralBraces:
|
143
|
+
Enabled: false
|
144
|
+
|
145
|
+
# Offense count: 31
|
146
|
+
# Cop supports --auto-correct.
|
147
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
148
|
+
Style/StringLiterals:
|
149
|
+
Enabled: true
|
150
|
+
|
151
|
+
# Offense count: 1
|
152
|
+
# Cop supports --auto-correct.
|
153
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
154
|
+
Style/TrailingBlankLines:
|
155
|
+
Enabled: false
|
156
|
+
|
157
|
+
# Offense count: 2
|
158
|
+
# Cop supports --auto-correct.
|
159
|
+
# Configuration parameters: EnforcedStyleForMultiline, SupportedStyles.
|
160
|
+
Style/TrailingComma:
|
161
|
+
Enabled: false
|
162
|
+
|
96
163
|
# Offense count: 4
|
97
164
|
# Cop supports --auto-correct.
|
98
165
|
# Configuration parameters: ExactNameMatch, AllowPredicates, AllowDSLWriters, Whitelist.
|
99
166
|
Style/TrivialAccessors:
|
100
167
|
Enabled: false
|
168
|
+
|
169
|
+
# Offense count: 1
|
170
|
+
# Cop supports --auto-correct.
|
171
|
+
Style/WordArray:
|
172
|
+
MinSize: 2
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,14 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
-
## 0.
|
3
|
+
## 0.5.0
|
4
|
+
|
5
|
+
- Multi-language support was added
|
6
|
+
- Basic Elixir capabilities were added
|
7
|
+
- TomDoc compatibility was improved
|
8
|
+
- stty warning when reading terminal size was fixed
|
9
|
+
- Many Rubocop alerts were fixed (thanks @yous)
|
10
|
+
|
11
|
+
## 0.4.11
|
4
12
|
|
5
13
|
- Add `undefined` to the list of values used to indicate that a return value
|
6
14
|
is not intended for further use. The current list is `nil`, `nothing`,
|
data/lib/inch/api/suggest.rb
CHANGED
@@ -17,7 +17,7 @@ module Inch
|
|
17
17
|
# @param [Array<String>] args the arguments passed from input. This
|
18
18
|
# array will be modified.
|
19
19
|
# @return [void]
|
20
|
-
def parse_yardopts_options(
|
20
|
+
def parse_yardopts_options(_opts, args)
|
21
21
|
wrapper = YardoptsWrapper.new
|
22
22
|
|
23
23
|
dupped_args = args.dup
|
data/lib/inch/evaluation.rb
CHANGED
@@ -41,14 +41,16 @@ module Inch
|
|
41
41
|
}
|
42
42
|
end
|
43
43
|
|
44
|
-
def relevant_parameter_roles(
|
44
|
+
def relevant_parameter_roles(_param, per_param)
|
45
|
+
score_for_mention = per_param
|
46
|
+
score_for_type = 0
|
45
47
|
{
|
46
48
|
Role::FunctionParameter::WithWrongMention =>
|
47
49
|
-score_for(:parameters),
|
48
|
-
Role::FunctionParameter::WithMention =>
|
49
|
-
Role::FunctionParameter::WithoutMention =>
|
50
|
-
Role::FunctionParameter::WithType =>
|
51
|
-
Role::FunctionParameter::WithoutType =>
|
50
|
+
Role::FunctionParameter::WithMention => score_for_mention,
|
51
|
+
Role::FunctionParameter::WithoutMention => score_for_mention,
|
52
|
+
Role::FunctionParameter::WithType => score_for_type,
|
53
|
+
Role::FunctionParameter::WithoutType => score_for_type,
|
52
54
|
Role::FunctionParameter::WithBadName => nil,
|
53
55
|
}
|
54
56
|
end
|
@@ -88,7 +88,7 @@ module Inch
|
|
88
88
|
end
|
89
89
|
|
90
90
|
def has_code_example?
|
91
|
-
|
91
|
+
docstring.code_examples.size > 0
|
92
92
|
end
|
93
93
|
|
94
94
|
def has_doc?
|
@@ -96,7 +96,7 @@ module Inch
|
|
96
96
|
end
|
97
97
|
|
98
98
|
def has_multiple_code_examples?
|
99
|
-
|
99
|
+
docstring.code_examples.size > 1
|
100
100
|
end
|
101
101
|
|
102
102
|
def has_unconsidered_tags?
|
@@ -11,14 +11,19 @@ module Inch
|
|
11
11
|
#
|
12
12
|
# @see CodeObject::Ruby::MethodParameterObject#mentioned?
|
13
13
|
class WithMention < Base
|
14
|
-
applicable_if
|
14
|
+
applicable_if do |p|
|
15
|
+
# unnamed parameters are mentioned implicitly
|
16
|
+
p.mentioned? || p.unnamed?
|
17
|
+
end
|
15
18
|
end
|
16
19
|
|
17
20
|
# Role assigned to parameters that are not mentioned in the docs
|
18
21
|
#
|
19
22
|
# @see CodeObject::Ruby::MethodParameterObject#mentioned?
|
20
23
|
class WithoutMention < Missing
|
21
|
-
|
24
|
+
applicable_if do |p|
|
25
|
+
!p.mentioned? && !p.unnamed?
|
26
|
+
end
|
22
27
|
|
23
28
|
def suggestion
|
24
29
|
"Describe the parameter '#{object.name}'"
|
@@ -44,14 +44,14 @@ module Inch
|
|
44
44
|
|
45
45
|
def mentions_return?
|
46
46
|
last_lines.any? do |line|
|
47
|
-
line =~ /^#{tomdoc_modifiers}Returns\ /
|
47
|
+
line =~ /^#{tomdoc_modifiers}(Returns|Gets|Sets|Gets\/Sets)\ /
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
51
|
def describes_return?
|
52
52
|
last_lines.any? do |line|
|
53
|
-
line =~ /^#{tomdoc_modifiers}Returns\ (\w+\s){2,}/i ||
|
54
|
-
line =~ /^#{tomdoc_modifiers}Returns\ (nil|nothing)\.*/i
|
53
|
+
line =~ /^#{tomdoc_modifiers}(Returns|Gets|Sets|Gets\/Sets)\ (\w+\s){2,}/i ||
|
54
|
+
line =~ /^#{tomdoc_modifiers}(Returns|Gets|Sets|Gets\/Sets)\ (nil|nothing)\.*/i
|
55
55
|
end
|
56
56
|
end
|
57
57
|
|
@@ -111,7 +111,7 @@ module Inch
|
|
111
111
|
/\+#{expr}\+\:\:/, # +param1+::
|
112
112
|
/<tt>#{expr}<\/tt>/, # <tt>param1</tt>
|
113
113
|
/<tt>#{expr}<\/tt>\:\:/, # <tt>param1</tt>::
|
114
|
-
/^#{expr}\
|
114
|
+
/^#{expr}\ +\-\ / # param1 -
|
115
115
|
]
|
116
116
|
end
|
117
117
|
|
data/lib/inch/version.rb
CHANGED
@@ -0,0 +1,609 @@
|
|
1
|
+
{
|
2
|
+
"args": [
|
3
|
+
"inspect",
|
4
|
+
"InchTest.Functions."
|
5
|
+
],
|
6
|
+
"git_repo_url": "git@github.com:inch-ci/Hello-World-Elixir.git",
|
7
|
+
"language": "elixir",
|
8
|
+
"objects": [
|
9
|
+
{
|
10
|
+
"id": "InchTest",
|
11
|
+
"module": "Elixir.InchTest",
|
12
|
+
"moduledoc": null,
|
13
|
+
"object_type": "ModuleObject",
|
14
|
+
"source": null,
|
15
|
+
"type": null,
|
16
|
+
"typespecs": []
|
17
|
+
},
|
18
|
+
{
|
19
|
+
"id": "InchTest.CodeExamples",
|
20
|
+
"module": "Elixir.InchTest.CodeExamples",
|
21
|
+
"moduledoc": null,
|
22
|
+
"object_type": "ModuleObject",
|
23
|
+
"source": null,
|
24
|
+
"type": null,
|
25
|
+
"typespecs": []
|
26
|
+
},
|
27
|
+
{
|
28
|
+
"id": "InchTest.Config",
|
29
|
+
"module": "Elixir.InchTest.Config",
|
30
|
+
"moduledoc": null,
|
31
|
+
"object_type": "ModuleObject",
|
32
|
+
"source": null,
|
33
|
+
"type": null,
|
34
|
+
"typespecs": []
|
35
|
+
},
|
36
|
+
{
|
37
|
+
"id": "InchTest.Docs.Formatter",
|
38
|
+
"module": "Elixir.InchTest.Docs.Formatter",
|
39
|
+
"moduledoc": "Provide JSON-formatted documentation\n",
|
40
|
+
"object_type": "ModuleObject",
|
41
|
+
"source": null,
|
42
|
+
"type": null,
|
43
|
+
"typespecs": []
|
44
|
+
},
|
45
|
+
{
|
46
|
+
"id": "InchTest.Docs.Retriever",
|
47
|
+
"module": "Elixir.InchTest.Docs.Retriever",
|
48
|
+
"moduledoc": "Functions to extract documentation information from modules.\n",
|
49
|
+
"object_type": "ModuleObject",
|
50
|
+
"source": null,
|
51
|
+
"type": null,
|
52
|
+
"typespecs": []
|
53
|
+
},
|
54
|
+
{
|
55
|
+
"id": "InchTest.Docs.Retriever.Error",
|
56
|
+
"module": "Elixir.InchTest.Docs.Retriever.Error",
|
57
|
+
"moduledoc": null,
|
58
|
+
"object_type": "ModuleObject",
|
59
|
+
"source": null,
|
60
|
+
"type": "exception",
|
61
|
+
"typespecs": []
|
62
|
+
},
|
63
|
+
{
|
64
|
+
"id": "InchTest.FunctionObject",
|
65
|
+
"module": "Elixir.InchTest.FunctionObject",
|
66
|
+
"moduledoc": null,
|
67
|
+
"object_type": "ModuleObject",
|
68
|
+
"source": null,
|
69
|
+
"type": null,
|
70
|
+
"typespecs": []
|
71
|
+
},
|
72
|
+
{
|
73
|
+
"id": "InchTest.Functions",
|
74
|
+
"module": "Elixir.InchTest.Functions",
|
75
|
+
"moduledoc": " In this module we define funs that are \"cases\" for our test suite.\n",
|
76
|
+
"object_type": "ModuleObject",
|
77
|
+
"source": null,
|
78
|
+
"type": null,
|
79
|
+
"typespecs": []
|
80
|
+
},
|
81
|
+
{
|
82
|
+
"id": "InchTest.ModuleObject",
|
83
|
+
"module": "Elixir.InchTest.ModuleObject",
|
84
|
+
"moduledoc": null,
|
85
|
+
"object_type": "ModuleObject",
|
86
|
+
"source": null,
|
87
|
+
"type": null,
|
88
|
+
"typespecs": []
|
89
|
+
},
|
90
|
+
{
|
91
|
+
"id": "InchTest.Naming",
|
92
|
+
"module": "Elixir.InchTest.Naming",
|
93
|
+
"moduledoc": null,
|
94
|
+
"object_type": "ModuleObject",
|
95
|
+
"source": null,
|
96
|
+
"type": null,
|
97
|
+
"typespecs": []
|
98
|
+
},
|
99
|
+
{
|
100
|
+
"id": "InchTest.TypeObject",
|
101
|
+
"module": "Elixir.InchTest.TypeObject",
|
102
|
+
"moduledoc": null,
|
103
|
+
"object_type": "ModuleObject",
|
104
|
+
"source": null,
|
105
|
+
"type": null,
|
106
|
+
"typespecs": []
|
107
|
+
},
|
108
|
+
{
|
109
|
+
"arity": 4,
|
110
|
+
"doc": false,
|
111
|
+
"id": "generate_docs/4",
|
112
|
+
"module_id": "InchTest",
|
113
|
+
"name": "generate_docs",
|
114
|
+
"object_type": "FunctionObject",
|
115
|
+
"signature": [
|
116
|
+
[
|
117
|
+
"project",
|
118
|
+
[],
|
119
|
+
null
|
120
|
+
],
|
121
|
+
[
|
122
|
+
"version",
|
123
|
+
[],
|
124
|
+
null
|
125
|
+
],
|
126
|
+
[
|
127
|
+
"args",
|
128
|
+
[],
|
129
|
+
null
|
130
|
+
],
|
131
|
+
[
|
132
|
+
"options",
|
133
|
+
[],
|
134
|
+
null
|
135
|
+
]
|
136
|
+
],
|
137
|
+
"source": null,
|
138
|
+
"specs": [],
|
139
|
+
"type": "def"
|
140
|
+
},
|
141
|
+
{
|
142
|
+
"arity": 0,
|
143
|
+
"doc": "Converts String to underscore case\n\n## Examples\n\n iex> InchTest.Naming.underscore(\"MyApp\")\n \"my_app\"\n\n iex> InchTest.Naming.underscore(\"my-app\")\n \"my_app\"\n\nIn general, `underscore` can be thought of as the reverse of\n`camelize`, however, in some cases formatting may be lost:\n\n Naming.underscore \"SAPExample\" #=> \"sap_example\"\n Naming.camelize \"sap_example\" #=> \"SapExample\"\n\n",
|
144
|
+
"id": "multiple_code_examples/0",
|
145
|
+
"module_id": "InchTest.CodeExamples",
|
146
|
+
"name": "multiple_code_examples",
|
147
|
+
"object_type": "FunctionObject",
|
148
|
+
"signature": [],
|
149
|
+
"source": null,
|
150
|
+
"specs": [],
|
151
|
+
"type": "def"
|
152
|
+
},
|
153
|
+
{
|
154
|
+
"arity": 0,
|
155
|
+
"doc": "Extracts the resource name from an alias\n\n## Examples\n\n iex> InchTest.Naming.resource_name(MyApp.User)\n \"user\"\n iex> InchTest.Naming.resource_name(MyApp.UserView, \"View\")\n \"user\"\n",
|
156
|
+
"id": "single_code_example/0",
|
157
|
+
"module_id": "InchTest.CodeExamples",
|
158
|
+
"name": "single_code_example",
|
159
|
+
"object_type": "FunctionObject",
|
160
|
+
"signature": [],
|
161
|
+
"source": null,
|
162
|
+
"specs": [],
|
163
|
+
"type": "def"
|
164
|
+
},
|
165
|
+
{
|
166
|
+
"arity": 3,
|
167
|
+
"doc": "Generate JSON documentation for the given modules\n",
|
168
|
+
"id": "run/3",
|
169
|
+
"module_id": "InchTest.Docs.Formatter",
|
170
|
+
"name": "run",
|
171
|
+
"object_type": "FunctionObject",
|
172
|
+
"signature": [
|
173
|
+
[
|
174
|
+
"modules",
|
175
|
+
[],
|
176
|
+
null
|
177
|
+
],
|
178
|
+
[
|
179
|
+
"args",
|
180
|
+
[],
|
181
|
+
null
|
182
|
+
],
|
183
|
+
[
|
184
|
+
"config",
|
185
|
+
[],
|
186
|
+
null
|
187
|
+
]
|
188
|
+
],
|
189
|
+
"source": null,
|
190
|
+
"specs": [],
|
191
|
+
"type": "def"
|
192
|
+
},
|
193
|
+
{
|
194
|
+
"arity": 2,
|
195
|
+
"doc": "Extract documentation from all modules in the specified directory\n",
|
196
|
+
"id": "docs_from_dir/2",
|
197
|
+
"module_id": "InchTest.Docs.Retriever",
|
198
|
+
"name": "docs_from_dir",
|
199
|
+
"object_type": "FunctionObject",
|
200
|
+
"signature": [
|
201
|
+
[
|
202
|
+
"dir",
|
203
|
+
[],
|
204
|
+
null
|
205
|
+
],
|
206
|
+
[
|
207
|
+
"config",
|
208
|
+
[],
|
209
|
+
null
|
210
|
+
]
|
211
|
+
],
|
212
|
+
"source": null,
|
213
|
+
"specs": [],
|
214
|
+
"type": "def"
|
215
|
+
},
|
216
|
+
{
|
217
|
+
"arity": 2,
|
218
|
+
"doc": "Extract documentation from all modules in the specified list of files\n",
|
219
|
+
"id": "docs_from_files/2",
|
220
|
+
"module_id": "InchTest.Docs.Retriever",
|
221
|
+
"name": "docs_from_files",
|
222
|
+
"object_type": "FunctionObject",
|
223
|
+
"signature": [
|
224
|
+
[
|
225
|
+
"files",
|
226
|
+
[],
|
227
|
+
null
|
228
|
+
],
|
229
|
+
[
|
230
|
+
"config",
|
231
|
+
[],
|
232
|
+
null
|
233
|
+
]
|
234
|
+
],
|
235
|
+
"source": null,
|
236
|
+
"specs": [],
|
237
|
+
"type": "def"
|
238
|
+
},
|
239
|
+
{
|
240
|
+
"arity": 2,
|
241
|
+
"doc": "Extract documentation from all modules in the list `modules`\n",
|
242
|
+
"id": "docs_from_modules/2",
|
243
|
+
"module_id": "InchTest.Docs.Retriever",
|
244
|
+
"name": "docs_from_modules",
|
245
|
+
"object_type": "FunctionObject",
|
246
|
+
"signature": [
|
247
|
+
[
|
248
|
+
"modules",
|
249
|
+
[],
|
250
|
+
null
|
251
|
+
],
|
252
|
+
[
|
253
|
+
"config",
|
254
|
+
[],
|
255
|
+
null
|
256
|
+
]
|
257
|
+
],
|
258
|
+
"source": null,
|
259
|
+
"specs": [],
|
260
|
+
"type": "def"
|
261
|
+
},
|
262
|
+
{
|
263
|
+
"arity": 1,
|
264
|
+
"doc": "Callback implementation of `Exception.exception/1`.",
|
265
|
+
"id": "exception/1",
|
266
|
+
"module_id": "InchTest.Docs.Retriever.Error",
|
267
|
+
"name": "exception",
|
268
|
+
"object_type": "FunctionObject",
|
269
|
+
"signature": [
|
270
|
+
[
|
271
|
+
"args",
|
272
|
+
[],
|
273
|
+
null
|
274
|
+
]
|
275
|
+
],
|
276
|
+
"source": null,
|
277
|
+
"specs": [
|
278
|
+
[
|
279
|
+
"::",
|
280
|
+
{
|
281
|
+
"line": 21
|
282
|
+
},
|
283
|
+
[
|
284
|
+
[
|
285
|
+
"exception",
|
286
|
+
{
|
287
|
+
"line": 21
|
288
|
+
},
|
289
|
+
[
|
290
|
+
[
|
291
|
+
[
|
292
|
+
".",
|
293
|
+
{
|
294
|
+
"line": 21
|
295
|
+
},
|
296
|
+
[
|
297
|
+
"Elixir.Keyword",
|
298
|
+
"t"
|
299
|
+
]
|
300
|
+
],
|
301
|
+
{
|
302
|
+
"line": 21
|
303
|
+
},
|
304
|
+
[]
|
305
|
+
]
|
306
|
+
]
|
307
|
+
],
|
308
|
+
[
|
309
|
+
[
|
310
|
+
".",
|
311
|
+
{
|
312
|
+
"line": 21
|
313
|
+
},
|
314
|
+
[
|
315
|
+
"Elixir.Exception",
|
316
|
+
"t"
|
317
|
+
]
|
318
|
+
],
|
319
|
+
{
|
320
|
+
"line": 21
|
321
|
+
},
|
322
|
+
[]
|
323
|
+
]
|
324
|
+
]
|
325
|
+
]
|
326
|
+
],
|
327
|
+
"type": "def"
|
328
|
+
},
|
329
|
+
{
|
330
|
+
"arity": 1,
|
331
|
+
"doc": "Callback implementation of `Exception.message/1`.",
|
332
|
+
"id": "message/1",
|
333
|
+
"module_id": "InchTest.Docs.Retriever.Error",
|
334
|
+
"name": "message",
|
335
|
+
"object_type": "FunctionObject",
|
336
|
+
"signature": [
|
337
|
+
[
|
338
|
+
"exception",
|
339
|
+
[],
|
340
|
+
null
|
341
|
+
]
|
342
|
+
],
|
343
|
+
"source": null,
|
344
|
+
"specs": [
|
345
|
+
[
|
346
|
+
"::",
|
347
|
+
{
|
348
|
+
"line": 21
|
349
|
+
},
|
350
|
+
[
|
351
|
+
[
|
352
|
+
"message",
|
353
|
+
{
|
354
|
+
"line": 21
|
355
|
+
},
|
356
|
+
[
|
357
|
+
[
|
358
|
+
[
|
359
|
+
".",
|
360
|
+
{
|
361
|
+
"line": 21
|
362
|
+
},
|
363
|
+
[
|
364
|
+
"Elixir.Exception",
|
365
|
+
"t"
|
366
|
+
]
|
367
|
+
],
|
368
|
+
{
|
369
|
+
"line": 21
|
370
|
+
},
|
371
|
+
[]
|
372
|
+
]
|
373
|
+
]
|
374
|
+
],
|
375
|
+
[
|
376
|
+
[
|
377
|
+
".",
|
378
|
+
{
|
379
|
+
"line": 21
|
380
|
+
},
|
381
|
+
[
|
382
|
+
"Elixir.String",
|
383
|
+
"t"
|
384
|
+
]
|
385
|
+
],
|
386
|
+
{
|
387
|
+
"line": 21
|
388
|
+
},
|
389
|
+
[]
|
390
|
+
]
|
391
|
+
]
|
392
|
+
]
|
393
|
+
],
|
394
|
+
"type": "def"
|
395
|
+
},
|
396
|
+
{
|
397
|
+
"arity": 2,
|
398
|
+
"doc": "This fun takes `param1` and `param2` as arguments.\n\n## Examples\n\n iex> InchTest.Naming.resource_name(MyApp.User)\n \"user\"\n iex> InchTest.Naming.resource_name(MyApp.UserView, \"View\")\n \"user\"\n",
|
399
|
+
"id": "full_doc/2",
|
400
|
+
"module_id": "InchTest.Functions",
|
401
|
+
"name": "full_doc",
|
402
|
+
"object_type": "FunctionObject",
|
403
|
+
"signature": [
|
404
|
+
[
|
405
|
+
"param1",
|
406
|
+
[],
|
407
|
+
null
|
408
|
+
],
|
409
|
+
[
|
410
|
+
"param2",
|
411
|
+
[],
|
412
|
+
null
|
413
|
+
]
|
414
|
+
],
|
415
|
+
"source": null,
|
416
|
+
"specs": [],
|
417
|
+
"type": "def"
|
418
|
+
},
|
419
|
+
{
|
420
|
+
"arity": 2,
|
421
|
+
"doc": "This fun takes a `param1` and a second parameter that is never used\n(maybe, because it is a callback or something like that). However, the\nsecond param should impact the evaluation by Inch.\n\n## Examples\n\n iex> InchTest.Naming.resource_name(MyApp.User)\n \"user\"\n iex> InchTest.Naming.resource_name(MyApp.UserView, \"View\")\n \"user\"\n",
|
422
|
+
"id": "full_doc_second_parameter_unnamed/2",
|
423
|
+
"module_id": "InchTest.Functions",
|
424
|
+
"name": "full_doc_second_parameter_unnamed",
|
425
|
+
"object_type": "FunctionObject",
|
426
|
+
"signature": [
|
427
|
+
[
|
428
|
+
"param1",
|
429
|
+
[],
|
430
|
+
null
|
431
|
+
],
|
432
|
+
[
|
433
|
+
"",
|
434
|
+
[],
|
435
|
+
"Elixir"
|
436
|
+
]
|
437
|
+
],
|
438
|
+
"source": null,
|
439
|
+
"specs": [],
|
440
|
+
"type": "def"
|
441
|
+
},
|
442
|
+
{
|
443
|
+
"arity": 1,
|
444
|
+
"doc": "Converts String to camel case\n\n## Examples\n\n iex> InchTest.Naming.camelize(\"my_app\")\n \"MyApp\"\n\nIn general, `camelize` can be thought of as the reverse of\n`underscore`, however, in some cases formatting may be lost:\n\n InchTest.Naming.underscore \"SAPExample\" #=> \"sap_example\"\n InchTest.Naming.camelize \"sap_example\" #=> \"SapExample\"\n\n",
|
445
|
+
"id": "camelize/1",
|
446
|
+
"module_id": "InchTest.Naming",
|
447
|
+
"name": "camelize",
|
448
|
+
"object_type": "FunctionObject",
|
449
|
+
"signature": [
|
450
|
+
[
|
451
|
+
"arg1",
|
452
|
+
[],
|
453
|
+
"Elixir"
|
454
|
+
]
|
455
|
+
],
|
456
|
+
"source": null,
|
457
|
+
"specs": [],
|
458
|
+
"type": "def"
|
459
|
+
},
|
460
|
+
{
|
461
|
+
"arity": 1,
|
462
|
+
"doc": null,
|
463
|
+
"id": "do_camelize/1",
|
464
|
+
"module_id": "InchTest.Naming",
|
465
|
+
"name": "do_camelize",
|
466
|
+
"object_type": "FunctionObject",
|
467
|
+
"signature": [
|
468
|
+
[
|
469
|
+
"arg1",
|
470
|
+
[],
|
471
|
+
"Elixir"
|
472
|
+
]
|
473
|
+
],
|
474
|
+
"source": null,
|
475
|
+
"specs": [],
|
476
|
+
"type": "def"
|
477
|
+
},
|
478
|
+
{
|
479
|
+
"arity": 2,
|
480
|
+
"doc": null,
|
481
|
+
"id": "do_underscore/2",
|
482
|
+
"module_id": "InchTest.Naming",
|
483
|
+
"name": "do_underscore",
|
484
|
+
"object_type": "FunctionObject",
|
485
|
+
"signature": [
|
486
|
+
[
|
487
|
+
"arg1",
|
488
|
+
[],
|
489
|
+
"Elixir"
|
490
|
+
],
|
491
|
+
[
|
492
|
+
"prev",
|
493
|
+
[],
|
494
|
+
null
|
495
|
+
]
|
496
|
+
],
|
497
|
+
"source": null,
|
498
|
+
"specs": [],
|
499
|
+
"type": "def"
|
500
|
+
},
|
501
|
+
{
|
502
|
+
"arity": 2,
|
503
|
+
"doc": null,
|
504
|
+
"id": "remove_suffix/2",
|
505
|
+
"module_id": "InchTest.Naming",
|
506
|
+
"name": "remove_suffix",
|
507
|
+
"object_type": "FunctionObject",
|
508
|
+
"signature": [
|
509
|
+
[
|
510
|
+
"alias",
|
511
|
+
[],
|
512
|
+
null
|
513
|
+
],
|
514
|
+
[
|
515
|
+
"suffix",
|
516
|
+
[],
|
517
|
+
null
|
518
|
+
]
|
519
|
+
],
|
520
|
+
"source": null,
|
521
|
+
"specs": [],
|
522
|
+
"type": "def"
|
523
|
+
},
|
524
|
+
{
|
525
|
+
"arity": 2,
|
526
|
+
"doc": "Extracts the resource name from an alias\n\n## Examples\n\n iex> InchTest.Naming.resource_name(MyApp.User)\n \"user\"\n iex> InchTest.Naming.resource_name(MyApp.UserView, \"View\")\n \"user\"\n\n",
|
527
|
+
"id": "resource_name/2",
|
528
|
+
"module_id": "InchTest.Naming",
|
529
|
+
"name": "resource_name",
|
530
|
+
"object_type": "FunctionObject",
|
531
|
+
"signature": [
|
532
|
+
[
|
533
|
+
"alias",
|
534
|
+
[],
|
535
|
+
null
|
536
|
+
],
|
537
|
+
[
|
538
|
+
"\\\\",
|
539
|
+
[],
|
540
|
+
[
|
541
|
+
[
|
542
|
+
"suffix",
|
543
|
+
[],
|
544
|
+
null
|
545
|
+
],
|
546
|
+
null
|
547
|
+
]
|
548
|
+
]
|
549
|
+
],
|
550
|
+
"source": null,
|
551
|
+
"specs": [],
|
552
|
+
"type": "def"
|
553
|
+
},
|
554
|
+
{
|
555
|
+
"arity": 1,
|
556
|
+
"doc": null,
|
557
|
+
"id": "to_lower_char/1",
|
558
|
+
"module_id": "InchTest.Naming",
|
559
|
+
"name": "to_lower_char",
|
560
|
+
"object_type": "FunctionObject",
|
561
|
+
"signature": [
|
562
|
+
[
|
563
|
+
"char",
|
564
|
+
[],
|
565
|
+
null
|
566
|
+
]
|
567
|
+
],
|
568
|
+
"source": null,
|
569
|
+
"specs": [],
|
570
|
+
"type": "def"
|
571
|
+
},
|
572
|
+
{
|
573
|
+
"arity": 1,
|
574
|
+
"doc": null,
|
575
|
+
"id": "to_upper_char/1",
|
576
|
+
"module_id": "InchTest.Naming",
|
577
|
+
"name": "to_upper_char",
|
578
|
+
"object_type": "FunctionObject",
|
579
|
+
"signature": [
|
580
|
+
[
|
581
|
+
"char",
|
582
|
+
[],
|
583
|
+
null
|
584
|
+
]
|
585
|
+
],
|
586
|
+
"source": null,
|
587
|
+
"specs": [],
|
588
|
+
"type": "def"
|
589
|
+
},
|
590
|
+
{
|
591
|
+
"arity": 1,
|
592
|
+
"doc": "Converts String to underscore case\n\n## Examples\n\n iex> InchTest.Naming.underscore(\"MyApp\")\n \"my_app\"\n\n iex> InchTest.Naming.underscore(\"my-app\")\n \"my_app\"\n\nIn general, `underscore` can be thought of as the reverse of\n`camelize`, however, in some cases formatting may be lost:\n\n Naming.underscore \"SAPExample\" #=> \"sap_example\"\n Naming.camelize \"sap_example\" #=> \"SapExample\"\n\n",
|
593
|
+
"id": "underscore/1",
|
594
|
+
"module_id": "InchTest.Naming",
|
595
|
+
"name": "underscore",
|
596
|
+
"object_type": "FunctionObject",
|
597
|
+
"signature": [
|
598
|
+
[
|
599
|
+
"arg1",
|
600
|
+
[],
|
601
|
+
"Elixir"
|
602
|
+
]
|
603
|
+
],
|
604
|
+
"source": null,
|
605
|
+
"specs": [],
|
606
|
+
"type": "def"
|
607
|
+
}
|
608
|
+
]
|
609
|
+
}
|