Sha256: 0bd4e9e1581f109fcfe7cc009b5e5441e9a9324bafc097c6aa3debc50f707c30

Contents?: true

Size: 736 Bytes

Versions: 8

Compression:

Stored size: 736 Bytes

Contents

module Swaggard
  module Swagger
    class Tag
      attr_accessor :name, :description

      attr_reader :controller_class, :controller_name, :route

      def initialize(yard_object, tag)
        controller_name = "#{yard_object.namespace}::#{yard_object.name}"

        @yard_name = yard_object.name
        @controller_class = controller_name.constantize
        @controller_name = controller_class.controller_path

        @name =  tag ? tag.text : "#{@controller_class.controller_path}"
        @name, @route = @name.split(' ')

        @description = yard_object.docstring || ''
      end

      def to_doc
        {
          'name'        => @name,
          'description' => @description
        }
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
swaggard-1.5.1 lib/swaggard/swagger/tag.rb
swaggard-1.5.0 lib/swaggard/swagger/tag.rb
swaggard-1.4.0 lib/swaggard/swagger/tag.rb
swaggard-1.3.0 lib/swaggard/swagger/tag.rb
swaggard-1.2.0 lib/swaggard/swagger/tag.rb
swaggard-1.1.1 lib/swaggard/swagger/tag.rb
swaggard-1.1.0 lib/swaggard/swagger/tag.rb
swaggard-1.0.2 lib/swaggard/swagger/tag.rb