Module: Inch::CodeObject::NodocHelper
- Included in:
- Proxy::Base
- Defined in:
- lib/inch/code_object/nodoc_helper.rb
Constant Summary collapse
- NO_DOC_REGEX =
/#\s*\:nodoc\:/
- NO_DOC_ALL_REGEX =
/#\s*\:nodoc\:\s*all/
- DOC_REGEX =
/#\s*\:doc\:/
Instance Method Summary collapse
- #declarations ⇒ Object
- #explicit_doc_comment? ⇒ Boolean
- #explicit_nodoc_all_comment? ⇒ Boolean
- #explicit_nodoc_comment? ⇒ Boolean
- #files ⇒ Object
- #get_line_no(filename, n) ⇒ Object
- #implicit_nodoc_all_comment? ⇒ Boolean
- #implicit_nodoc_comment? ⇒ Boolean
-
#nodoc? ⇒ Boolean
Returns true if the code object is somehow marked not to be documented.
- #nodoc_comment? ⇒ Boolean
Instance Method Details
#declarations ⇒ Object
63 64 65 66 67 |
# File 'lib/inch/code_object/nodoc_helper.rb', line 63 def declarations @declarations ||= files.map do |(filename, line_no)| get_line_no(filename, line_no) end end |
#explicit_doc_comment? ⇒ Boolean
30 31 32 |
# File 'lib/inch/code_object/nodoc_helper.rb', line 30 def explicit_doc_comment? declarations.any? { |str| str =~ DOC_REGEX } end |
#explicit_nodoc_all_comment? ⇒ Boolean
26 27 28 |
# File 'lib/inch/code_object/nodoc_helper.rb', line 26 def explicit_nodoc_all_comment? declarations.any? { |str| str =~ NO_DOC_ALL_REGEX } end |
#explicit_nodoc_comment? ⇒ Boolean
22 23 24 |
# File 'lib/inch/code_object/nodoc_helper.rb', line 22 def explicit_nodoc_comment? declarations.any? { |str| str =~ NO_DOC_REGEX } end |
#files ⇒ Object
69 70 71 72 73 |
# File 'lib/inch/code_object/nodoc_helper.rb', line 69 def files object.files rescue YARD::CodeObjects::ProxyMethodError [] end |
#get_line_no(filename, n) ⇒ Object
75 76 77 78 79 80 81 |
# File 'lib/inch/code_object/nodoc_helper.rb', line 75 def get_line_no(filename, n) f = File.open(filename) n.times{f.gets} result = $_ f.close result end |
#implicit_nodoc_all_comment? ⇒ Boolean
34 35 36 37 38 39 |
# File 'lib/inch/code_object/nodoc_helper.rb', line 34 def implicit_nodoc_all_comment? if parent parent.explicit_nodoc_all_comment? || parent.implicit_nodoc_all_comment? end end |
#implicit_nodoc_comment? ⇒ Boolean
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/inch/code_object/nodoc_helper.rb', line 41 def implicit_nodoc_comment? return false if explicit_doc_comment? if parent return false if parent.explicit_doc_comment? if namespace? if parent.explicit_nodoc_all_comment? return true else return parent.implicit_nodoc_all_comment? end else if parent.explicit_nodoc_comment? return true else return parent.implicit_nodoc_all_comment? end end end end |
#nodoc? ⇒ Boolean
Note:
Doesnot recognize “:startdoc:” and “:stopdoc:”
Returns true if the code object is somehow marked not to be documented.
10 11 12 |
# File 'lib/inch/code_object/nodoc_helper.rb', line 10 def nodoc? object.tag(:private) || nodoc_comment? end |
#nodoc_comment? ⇒ Boolean
18 19 20 |
# File 'lib/inch/code_object/nodoc_helper.rb', line 18 def nodoc_comment? explicit_nodoc_comment? || implicit_nodoc_comment? end |