Sha256: 52d2dcea0780b359e6b432ea5eb3756d43e7ac28fb7bc01b7ed8ad22859a5c9e
Contents?: true
Size: 971 Bytes
Versions: 1
Compression:
Stored size: 971 Bytes
Contents
def init tags = Tags::Library.visible_tags create_tag_methods(tags - %i[example see note]) sections :index, tags.map { |t| t.to_s.tr('.', '_').to_sym } 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 = nil @no_types = nil out end def create_tag_methods(tags) tags.each do |tag| tag_meth = tag.to_s.tr('.', '_') next if respond_to?(tag_meth) instance_eval(<<-eof, __FILE__, __LINE__ + 1) def #{tag_meth}; 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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
yard-chef-2.0.0 | templates/default/chef_tags/setup.rb |