From 81f62f41f18dcbbb974b8081a691c49bae372bd3 Mon Sep 17 00:00:00 2001 From: dave Date: Thu, 19 Feb 2004 14:26:05 +0000 Subject: Support visibility modifiers for attributes git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 10 ++++++++++ lib/rdoc/code_objects.rb | 18 ++++++++++++++++-- lib/rdoc/generators/html_generator.rb | 16 +++++++++++----- 3 files changed, 37 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 94f52a293d..3f06fe33f5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +Thu Feb 19 23:24:16 2004 Dave Thomas + + * lib/rdoc/generators/html_generator.rb (Generators::HtmlClass::build_attribute_list): + Support visibility modifiers for attributes + +Thu Feb 19 23:24:16 2004 Dave Thomas + + * lib/rdoc/generators/html_generator.rb (Generators::HtmlClass::build_attribute_list): + Support visibility modifiers for attributes + Thu Feb 19 22:39:04 2004 NAKAMURA, Hiroshi * test/rinda/test_rinda.rb: DRb.start_service only once in testsuites. diff --git a/lib/rdoc/code_objects.rb b/lib/rdoc/code_objects.rb index a8c3752cb8..c48f5957b2 100644 --- a/lib/rdoc/code_objects.rb +++ b/lib/rdoc/code_objects.rb @@ -146,9 +146,22 @@ module RDoc # visibility of the corresponding AnyMethod object def set_visibility_for(methods, vis, singleton=false) - @method_list.each_with_index do |m,i| + count = 0 + @method_list.each do |m| if methods.include?(m.name) && m.singleton == singleton m.visibility = vis + count += 1 + end + end + + return if count == methods.size || singleton + + # perhaps we need to look at attributes + + @attributes.each do |a| + if methods.include?(a.name) + a.visibility = vis + count += 1 end end end @@ -627,13 +640,14 @@ module RDoc # Represent attributes class Attr < CodeObject - attr_accessor :text, :name, :rw + attr_accessor :text, :name, :rw, :visibility def initialize(text, name, rw, comment) super() @text = text @name = name @rw = rw + @visibility = :public self.comment = comment end diff --git a/lib/rdoc/generators/html_generator.rb b/lib/rdoc/generators/html_generator.rb index 56ac2b7499..b7d3961b45 100644 --- a/lib/rdoc/generators/html_generator.rb +++ b/lib/rdoc/generators/html_generator.rb @@ -620,11 +620,17 @@ module Generators atts = @context.attributes.sort res = [] atts.each do |att| - res << { - "name" => CGI.escapeHTML(att.name), - "rw" => att.rw, - "a_desc" => markup(att.comment, true) - } + if att.visibility == :public || @options.show_all + entry = { + "name" => CGI.escapeHTML(att.name), + "rw" => att.rw, + "a_desc" => markup(att.comment, true) + } + unless att.visibility == :public + entry["rw"] << "-" + end + res << entry + end end res end -- cgit v1.2.3