Sha256: f92b0c06977096f4dcd5059dce4cded1a4ac9d1ca9a8a571d2019e9b00ce0ebe

Contents?: true

Size: 1.18 KB

Versions: 18

Compression:

Stored size: 1.18 KB

Contents

def init
  tags = Tags::Library.visible_tags - [:abstract, :deprecated, :note, :todo]
  create_tag_methods(tags - [:example, :option, :overload, :see])
  sections :index, tags
  sections.any(:overload).push(T('docstring'))
end

def return
  if object.type == :method
    return if object.name == :initialize && object.scope == :instance
    return if object.tags(:return).size == 1 && object.tag(:return).types == ['void']
  end
  tag(:return)
end

private

def tag(name, opts = nil)
  return unless object.has_tag?(name)
  opts ||= options_for_tag(name)
  @no_names = true if opts[:no_names]
  @no_types = true if opts[:no_types]
  @name = name
  out = erb('tag')
  @no_names, @no_types = nil, nil
  out
end

def create_tag_methods(tags)
  tags.each do |tag|
    next if respond_to?(tag)
    instance_eval(<<-eof, __FILE__, __LINE__ + 1)
      def #{tag}; tag(#{tag.inspect}) end
    eof
  end
end

def options_for_tag(tag)
  opts = {:no_types => true, :no_names => true}
  case Tags::Library.factory_method_for(tag)
  when :with_types
    opts[:no_types] = false
  when :with_types_and_name
    opts[:no_types] = false
    opts[:no_names] = false
  when :with_name
    opts[:no_names] = false
  end
  opts
end

Version data entries

18 entries across 18 versions & 3 rubygems

Version Path
nutshell-crm-0.0.6.alpha vendor/bundle/gems/yard-0.7.4/templates/default/tags/setup.rb
nutshell-crm-0.0.5 vendor/bundle/gems/yard-0.7.4/templates/default/tags/setup.rb
nutshell-crm-0.0.4 vendor/bundle/gems/yard-0.7.4/templates/default/tags/setup.rb
nutshell-crm-0.0.3 vendor/bundle/gems/yard-0.7.4/templates/default/tags/setup.rb
nutshell-crm-0.0.2 vendor/bundle/gems/yard-0.7.4/templates/default/tags/setup.rb
yard-0.7.4 templates/default/tags/setup.rb
yard-0.7.3 templates/default/tags/setup.rb
vanity-1.7.1 vendor/ruby/1.9.1/gems/yard-0.7.2/templates/default/tags/setup.rb
yard-0.7.2 templates/default/tags/setup.rb
yard-0.7.1 templates/default/tags/setup.rb
yard-0.7.0 templates/default/tags/setup.rb
yard-0.6.8 templates/default/tags/setup.rb
yard-0.6.7 templates/default/tags/setup.rb
yard-0.6.6 templates/default/tags/setup.rb
yard-0.6.5 templates/default/tags/setup.rb
yard-0.6.4 templates/default/tags/setup.rb
yard-0.6.3 templates/default/tags/setup.rb
yard-0.6.2 templates/default/tags/setup.rb