module OpenApi::Tags::Controller::ClassMethods

Public Instance Methods

open_api_tag(tag, metadata = nil) click to toggle source
# File lib/open-api/tags.rb, line 123
def open_api_tag(tag, metadata = nil)
  fail 'Valid tag argument required!' unless tag.respond_to?(:to_s)
  return (@open_api_tags_metadata || {})[tag.to_s].deep_dup if metadata.blank?
  fail 'Expected Hash argument for open_api_tag()!' unless metadata.is_a?(Hash)
  metadata = { name: tag.to_s }.merge(metadata) unless metadata.include?(:name)
  tag_metadata = ((@open_api_tags_metadata ||= {})[tag.to_s] ||= {})
  OpenApi::Tags.merge_metadata(tag_metadata, metadata)
  nil
end
open_api_tag_metadata(tag, opts = {}) click to toggle source
# File lib/open-api/tags.rb, line 133
def open_api_tag_metadata(tag, opts = {})
  controller_class_hierarchy = OpenApi::Utils.controller_class_hierarchy(self)
  aggr_metadata = {}
  controller_class_hierarchy.each do |controller_class|
    OpenApi::Tags.merge_metadata(aggr_metadata,
        controller_class.send(:open_api_tag, tag), opts)
  end
  aggr_metadata
end
open_api_tags(metadata = nil) click to toggle source
# File lib/open-api/tags.rb, line 115
def open_api_tags(metadata = nil)
  return (@open_api_tags_metadata || {}).deep_dup if metadata.blank?
  fail 'Expected Hash argument for open_api_tags()!' unless metadata.is_a?(Hash)
  metadata.each { |tag, tag_metadata| open_api_tag(tag, tag_metadata) }
  (@open_api_tags_metadata || {})
  nil
end