Module: Yori::Schema::V3::Root

Defined in:
lib/yori/schema/v3/root.rb

Overview

Root

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



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
# File 'lib/yori/schema/v3/root.rb', line 8

def self.included(klass)
  klass.class_eval do
    class << self
      def api_docs_factory
        @_api_docs_factory
      end

      def api_docs
        return unless api_docs_factory

        openapi = api_docs_factory.call
        openapi.to_json
      end

      def root(id = '', &block)
        @_api_docs_factory = proc do
          Yori::Schema::V3::OpenAPI.new.tap do |openapi|
            openapi.id = id
            openapi.instance_eval(&block)
          end
        end
      end
    end
  end
end

Instance Method Details

#api_docsObject



34
35
36
# File 'lib/yori/schema/v3/root.rb', line 34

def api_docs
  self.class.api_docs
end