Class: Generators::HtmlMethod
- Inherits:
-
Object
- Object
- Generators::HtmlMethod
show all
- Includes:
- MarkUp
- Defined in:
- lib/generators/templates/application/merb_core/doc/rdoc/generators/merb_generator.rb,
lib/generators/templates/application/merb_stack/doc/rdoc/generators/merb_generator.rb
Constant Summary
collapse
- @@m_seq =
"M000000"
- @@all_methods =
[]
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from MarkUp
#cvs_url, #markup, #style_url
Constructor Details
#initialize(context, html_class, options) ⇒ HtmlMethod
Returns a new instance of HtmlMethod.
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
|
# File 'lib/generators/templates/application/merb_core/doc/rdoc/generators/merb_generator.rb', line 922
def initialize(context, html_class, options)
@context = context
@html_class = html_class
@options = options
@@m_seq = @@m_seq.succ
@m_seq = @@m_seq
@@all_methods << self
context.viewer = self
if (ts = @context.token_stream)
@source_code = markup_code(ts)
end
AllReferences.add(name, self)
end
|
Instance Attribute Details
#context ⇒ Object
Returns the value of attribute context.
909
910
911
|
# File 'lib/generators/templates/application/merb_core/doc/rdoc/generators/merb_generator.rb', line 909
def context
@context
end
|
#img_url ⇒ Object
Returns the value of attribute img_url.
911
912
913
|
# File 'lib/generators/templates/application/merb_core/doc/rdoc/generators/merb_generator.rb', line 911
def img_url
@img_url
end
|
#source_code ⇒ Object
Returns the value of attribute source_code.
912
913
914
|
# File 'lib/generators/templates/application/merb_core/doc/rdoc/generators/merb_generator.rb', line 912
def source_code
@source_code
end
|
#src_url ⇒ Object
Returns the value of attribute src_url.
910
911
912
|
# File 'lib/generators/templates/application/merb_core/doc/rdoc/generators/merb_generator.rb', line 910
def src_url
@src_url
end
|
Class Method Details
.all_methods ⇒ Object
1043
1044
1045
|
# File 'lib/generators/templates/application/merb_core/doc/rdoc/generators/merb_generator.rb', line 1043
def HtmlMethod.all_methods
@@all_methods
end
|
.reset ⇒ Object
918
919
920
|
# File 'lib/generators/templates/application/merb_core/doc/rdoc/generators/merb_generator.rb', line 918
def HtmlMethod::reset
@@all_methods = []
end
|
Instance Method Details
#<=>(other) ⇒ Object
1047
1048
1049
|
# File 'lib/generators/templates/application/merb_core/doc/rdoc/generators/merb_generator.rb', line 1047
def <=>(other)
@context <=> other.context
end
|
#add_line_numbers(src) ⇒ Object
we rely on the fact that the first line of a source code listing has
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
|
# File 'lib/generators/templates/application/merb_core/doc/rdoc/generators/merb_generator.rb', line 1094
def add_line_numbers(src)
if src =~ /\A.*, line (\d+)/
first = $1.to_i - 1
last = first + src.count("\n")
size = last.to_s.length
real_fmt = "%#{size}d: "
fmt = " " * (size+2)
src.gsub!(/^/) do
res = sprintf(fmt, first)
first += 1
fmt = real_fmt
res
end
end
end
|
#aliases ⇒ Object
1114
1115
1116
|
# File 'lib/generators/templates/application/merb_core/doc/rdoc/generators/merb_generator.rb', line 1114
def aliases
@context.aliases
end
|
#aref ⇒ Object
946
947
948
|
# File 'lib/generators/templates/application/merb_core/doc/rdoc/generators/merb_generator.rb', line 946
def aref
@m_seq
end
|
#call_seq ⇒ Object
990
991
992
993
994
995
996
997
|
# File 'lib/generators/templates/application/merb_core/doc/rdoc/generators/merb_generator.rb', line 990
def call_seq
cs = @context.call_seq
if cs
cs.gsub(/\n/, "<br />\n")
else
nil
end
end
|
#create_source_code_file(code_body) ⇒ Object
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
|
# File 'lib/generators/templates/application/merb_core/doc/rdoc/generators/merb_generator.rb', line 1025
def create_source_code_file(code_body)
meth_path = @html_class.path.sub(/\.html$/, '.src')
File.makedirs(meth_path)
file_path = File.join(meth_path, seq) + ".html"
template = TemplatePage.new(RDoc::Page::SRC_PAGE)
File.open(file_path, "w") do |f|
values = {
'title' => CGI.escapeHTML(name),
'code' => code_body,
'style_url' => style_url(file_path, @options.css),
'charset' => @options.charset
}
template.write_html_on(f, values)
end
file_path
end
|
#description ⇒ Object
978
979
980
|
# File 'lib/generators/templates/application/merb_core/doc/rdoc/generators/merb_generator.rb', line 978
def description
markup(@context.)
end
|
#document_self ⇒ Object
1110
1111
1112
|
# File 'lib/generators/templates/application/merb_core/doc/rdoc/generators/merb_generator.rb', line 1110
def document_self
@context.document_self
end
|
#find_symbol(symbol, method = nil) ⇒ Object
1118
1119
1120
1121
1122
1123
1124
|
# File 'lib/generators/templates/application/merb_core/doc/rdoc/generators/merb_generator.rb', line 1118
def find_symbol(symbol, method=nil)
res = @context.parent.find_symbol(symbol, method)
if res
res = res.viewer
end
res
end
|
#markup_code(tokens) ⇒ Object
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
|
# File 'lib/generators/templates/application/merb_core/doc/rdoc/generators/merb_generator.rb', line 1056
def markup_code(tokens)
src = ""
tokens.each do |t|
next unless t
style = case t
when RubyToken::TkCONSTANT then "ruby-constant"
when RubyToken::TkKW then "ruby-keyword kw"
when RubyToken::TkIVAR then "ruby-ivar"
when RubyToken::TkOp then "ruby-operator"
when RubyToken::TkId then "ruby-identifier"
when RubyToken::TkNode then "ruby-node"
when RubyToken::TkCOMMENT then "ruby-comment cmt"
when RubyToken::TkREGEXP then "ruby-regexp re"
when RubyToken::TkSTRING then "ruby-value str"
when RubyToken::TkVal then "ruby-value"
else
nil
end
text = CGI.escapeHTML(t.text)
if style
src << "<span class=\"#{style}\">#{text}</span>"
else
src << text
end
end
add_line_numbers(src)
src
end
|
#name ⇒ Object
return a reference to outselves to be used as an href= the form depends on whether we’re all in one file or in multiple files
958
959
960
|
# File 'lib/generators/templates/application/merb_core/doc/rdoc/generators/merb_generator.rb', line 958
def name
@context.name
end
|
#params ⇒ Object
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
|
# File 'lib/generators/templates/application/merb_core/doc/rdoc/generators/merb_generator.rb', line 999
def params
p = @context.params
if p !~ /^\w/
p = @context.params.gsub(/\s*\#.*/, '')
p = p.tr("\n", " ").squeeze(" ")
p = "(" + p + ")" unless p[0] == ?(
if (block = @context.block_params)
p.sub!(/,?\s*&\w+/, '')
block.gsub!(/\s*\#.*/, '')
block = block.tr("\n", " ").squeeze(" ")
if block[0] == ?(
block.sub!(/^\(/, '').sub!(/\)/, '')
end
p << " {|#{block.strip}| ...}"
end
end
CGI.escapeHTML(p)
end
|
#parent_name ⇒ Object
966
967
968
969
970
971
972
|
# File 'lib/generators/templates/application/merb_core/doc/rdoc/generators/merb_generator.rb', line 966
def parent_name
if @context.parent.parent
@context.parent.parent.full_name
else
nil
end
end
|
#path ⇒ Object
974
975
976
|
# File 'lib/generators/templates/application/merb_core/doc/rdoc/generators/merb_generator.rb', line 974
def path
@html_class.path
end
|
#scope ⇒ Object
950
951
952
|
# File 'lib/generators/templates/application/merb_core/doc/rdoc/generators/merb_generator.rb', line 950
def scope
@html_class.full_name
end
|
#section ⇒ Object
962
963
964
|
# File 'lib/generators/templates/application/merb_core/doc/rdoc/generators/merb_generator.rb', line 962
def section
@context.section
end
|
#seq ⇒ Object
942
943
944
|
# File 'lib/generators/templates/application/merb_core/doc/rdoc/generators/merb_generator.rb', line 942
def seq
@m_seq
end
|
#singleton ⇒ Object
986
987
988
|
# File 'lib/generators/templates/application/merb_core/doc/rdoc/generators/merb_generator.rb', line 986
def singleton
@context.singleton
end
|
#visibility ⇒ Object
982
983
984
|
# File 'lib/generators/templates/application/merb_core/doc/rdoc/generators/merb_generator.rb', line 982
def visibility
@context.visibility
end
|