class AnnotateGem::GemLine
Attributes
location[RW]
name[RW]
options[RW]
original_line[RW]
prev_line_comment[RW]
spec[RW]
Public Class Methods
new(*args)
click to toggle source
# File lib/annotate_gem/gem_line.rb, line 6 def initialize(*args) named_params = args.last.respond_to?(:[]) && args.last @name = (named_params && named_params[:name]) || args[0] @original_line = (named_params && named_params[:original_line]) || args[1] @location = (named_params && named_params[:location]) || args[2] @prev_line_comment = (named_params && named_params[:prev_line_comment]) || args[3] @options = (named_params && named_params[:options]) || named_params end
Public Instance Methods
comment()
click to toggle source
# File lib/annotate_gem/gem_line.rb, line 15 def comment leading_spaces = original_line[0..leading_spaces_count - 1] if leading_spaces_count > 0 comment = "#{leading_spaces}# #{info}" end
info()
click to toggle source
# File lib/annotate_gem/gem_line.rb, line 24 def info output = if options[:website_only] website elsif options[:description_only] description else description_and_website end output << "\n" end
inline_comment()
click to toggle source
# File lib/annotate_gem/gem_line.rb, line 20 def inline_comment "#{original_line.chomp} # #{info}" end
should_insert?()
click to toggle source
# File lib/annotate_gem/gem_line.rb, line 35 def should_insert? !info.strip.empty? && !already_added_comment && !existing_comment_option end
Private Instance Methods
already_added_comment()
click to toggle source
# File lib/annotate_gem/gem_line.rb, line 41 def already_added_comment !options[:inline] && prev_line_comment && prev_line_comment.include?(comment) end
description()
click to toggle source
# File lib/annotate_gem/gem_line.rb, line 58 def description "#{spec.summary}" if spec end
description_and_website()
click to toggle source
# File lib/annotate_gem/gem_line.rb, line 66 def description_and_website output = "#{description}" output << " (#{website})" unless website.nil? || website.empty? output end
existing_comment_option()
click to toggle source
if there exists a prev_line_comment
and the user has specified new_comments_only
# File lib/annotate_gem/gem_line.rb, line 46 def existing_comment_option (options[:new_comments_only] && prev_line_comment) || (options[:inline] && original_line_has_comment?) end
leading_spaces_count()
click to toggle source
# File lib/annotate_gem/gem_line.rb, line 54 def leading_spaces_count original_line.length - original_line.lstrip.length end
original_line_has_comment?()
click to toggle source
# File lib/annotate_gem/gem_line.rb, line 50 def original_line_has_comment? original_line.include?("#") end
website()
click to toggle source
# File lib/annotate_gem/gem_line.rb, line 62 def website "#{spec.homepage.to_s}" if spec end