Module: Archsight::Annotations::Interface

Defined in:
lib/archsight/annotations/interface_annotations.rb

Overview

Interface module adds interface-specific annotations to resource classes

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/archsight/annotations/interface_annotations.rb', line 5

def self.included(base)
  base.class_eval do
    annotation "architecture/encoding",
               description: "Data encoding format",
               filter: :list,
               title: "Encoding"
    annotation "architecture/title",
               description: "Interface title",
               title: "Title"
    annotation "architecture/openapi",
               description: "OpenAPI specification version",
               filter: :word,
               title: "OpenAPI"
    annotation "architecture/version",
               description: "API or interface version",
               filter: :word,
               title: "Version",
               sidebar: false
    annotation "architecture/status",
               description: "Lifecycle status",
               filter: :word,
               enum: %w[General-Availability Early-Access Development],
               title: "Status"
    annotation "architecture/visibility",
               description: "API visibility (public, private, internal)",
               filter: :word,
               enum: %w[public private internal],
               title: "Visibility"
  end
end