summaryrefslogtreecommitdiffhomepage
path: root/doc/language/mrbdoc/lib/mrbdoc_docu.rb
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2014-04-15 19:54:09 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2014-04-15 19:54:09 +0900
commit216b051756bb44ff3bbe7d0d96e1abc51ecc6078 (patch)
treef05b30e5da8ef26ac2185da0158fbb05e0016893 /doc/language/mrbdoc/lib/mrbdoc_docu.rb
parent5138f62d6ba666dc0cb43618f407701b0414040e (diff)
parentc53846a22a48781ea2e692b7b8facaab359f9b2e (diff)
downloadmruby-216b051756bb44ff3bbe7d0d96e1abc51ecc6078.tar.gz
mruby-216b051756bb44ff3bbe7d0d96e1abc51ecc6078.zip
Merge pull request #2063 from bovi/update_language_doc
Improve Language Documentation
Diffstat (limited to 'doc/language/mrbdoc/lib/mrbdoc_docu.rb')
-rw-r--r--doc/language/mrbdoc/lib/mrbdoc_docu.rb45
1 files changed, 25 insertions, 20 deletions
diff --git a/doc/language/mrbdoc/lib/mrbdoc_docu.rb b/doc/language/mrbdoc/lib/mrbdoc_docu.rb
index 116228927..4dc20a5a3 100644
--- a/doc/language/mrbdoc/lib/mrbdoc_docu.rb
+++ b/doc/language/mrbdoc/lib/mrbdoc_docu.rb
@@ -1,18 +1,18 @@
class MRBDoc
- def write_documentation dir, &block
+ def write_documentation dir, cfg, &block
block.call "MRBDOC\twrite to #{File.expand_path(dir)}"
- write(dir) do |progress|
+ write(dir, cfg) do |progress|
block.call progress
end
end
private
- def write dir
- File.open(File.expand_path('Core.md', dir), 'w+') do |io|
- print_core_classes(io)
- print_core_modules(io)
+ def write dir, cfg
+ File.open(File.expand_path('Core.md', dir), 'wb+') do |io|
+ print_core_classes(io, cfg)
+ print_core_modules(io, cfg)
end
end
@@ -32,7 +32,7 @@ class MRBDoc
core_list
end
- def print_core_classes(io)
+ def print_core_classes(io, cfg)
core_list = get_core_list :each_class
io.puts "# Core Classes\n\n"
core_list.sort.each do |name, hsh|
@@ -51,12 +51,12 @@ ISO Code | Mixins | Source File
#{iso} | #{mixins} | #{file}
CLASS
- print_class_methods(io, hsh)
- print_methods(io, hsh)
+ print_class_methods(io, hsh, cfg)
+ print_methods(io, hsh, cfg)
end
end
- def print_core_modules(io)
+ def print_core_modules(io, cfg)
core_list = get_core_list :each_module
io.puts "# Core Modules\n\n"
core_list.sort.each do |name, hsh|
@@ -73,29 +73,34 @@ ISO Code | Source File
#{iso} | #{file}
CLASS
- print_class_methods(io, hsh)
- print_methods(io, hsh)
+ print_class_methods(io, hsh, cfg)
+ print_methods(io, hsh, cfg)
end
end
- def print_methods(io, hsh)
+ def print_methods(io, hsh, cfg)
return unless hsh[:methods].size > 0
io.puts "### Methods\n\n"
hsh[:methods].sort.each do |met_name, met_hsh|
- print_method(io, met_name, met_hsh)
+ print_method(io, met_name, met_hsh, cfg)
end
end
- def print_class_methods(io, hsh)
+ def print_class_methods(io, hsh, cfg)
return unless hsh[:class_methods].size > 0
io.puts "### Class Methods\n\n"
hsh[:class_methods].sort.each do |met_name, met_hsh|
- print_method(io, met_name, met_hsh)
+ print_method(io, met_name, met_hsh, cfg)
end
end
- def print_method(io, met_name, met_hsh)
- line_no = find_c_func(met_hsh[:c_func])[:line_no]
+ def print_method(io, met_name, met_hsh, cfg)
+ if cfg[:print_line_no]
+ line_no_head = '| Line'
+ line_no = "| #{find_c_func(met_hsh[:c_func])[:line_no]}"
+ else
+ line_no, line_no_head = '', ''
+ end
file = find_c_file(met_hsh[:rb_class], met_hsh[:c_func])
file = file.split("#{@dir}/")[1]
iso = met_hsh[:iso]
@@ -104,9 +109,9 @@ CLASS
io.puts <<METHOD
#### #{met_name}
-ISO Code | Source File | C Function | Line
+ISO Code | Source File | C Function #{line_no_head}
--- | --- | ---
-#{iso} | #{file} | #{met_hsh[:c_func]} | #{line_no}
+#{iso} | #{file} | #{met_hsh[:c_func]} #{line_no}
METHOD
end