forked from zipmark/rspec_api_documentation
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrspec_api_documentation.rb
111 lines (98 loc) · 2.57 KB
/
rspec_api_documentation.rb
1
2
3
4
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
require 'active_support'
require 'active_support/inflector'
require 'active_support/core_ext/hash/conversions'
require 'active_support/core_ext/hash/deep_merge'
require 'cgi'
require 'json'
# Namespace for RspecApiDocumentation
module RspecApiDocumentation
extend ActiveSupport::Autoload
require 'rspec_api_documentation/railtie' if defined?(Rails::Railtie)
include ActiveSupport::JSON
eager_autoload do
autoload :Configuration
autoload :ApiDocumentation
autoload :ApiFormatter
autoload :Example
autoload :Index
autoload :ClientBase
autoload :Headers
autoload :HttpTestClient
end
autoload :DSL
autoload :RackTestClient
autoload :OAuth2MACClient, "rspec_api_documentation/oauth2_mac_client"
autoload :TestServer
autoload :Curl
module Writers
extend ActiveSupport::Autoload
autoload :Writer
autoload :GeneralMarkupWriter
autoload :HtmlWriter
autoload :TextileWriter
autoload :MarkdownWriter
autoload :JSONWriter
autoload :JsonWriter
autoload :AppendJsonWriter
autoload :JsonIodocsWriter
autoload :IndexHelper
autoload :CombinedTextWriter
autoload :CombinedJsonWriter
autoload :SlateWriter
autoload :ApiBlueprintWriter
autoload :OpenApiWriter
end
module OpenApi
extend ActiveSupport::Autoload
autoload :Helper
autoload :Node
autoload :Root
autoload :Info
autoload :Contact
autoload :License
autoload :Paths
autoload :Path
autoload :Tag
autoload :Operation
autoload :Parameter
autoload :Responses
autoload :Response
autoload :Example
autoload :Headers
autoload :Header
autoload :Schema
autoload :SecurityDefinitions
autoload :SecuritySchema
end
module Views
extend ActiveSupport::Autoload
autoload :MarkupIndex
autoload :MarkupExample
autoload :HtmlIndex
autoload :HtmlExample
autoload :TextileIndex
autoload :TextileExample
autoload :MarkdownIndex
autoload :MarkdownExample
autoload :SlateIndex
autoload :SlateExample
autoload :ApiBlueprintIndex
autoload :ApiBlueprintExample
end
def self.configuration
@configuration ||= Configuration.new
end
def self.documentations
@documentations ||= configuration.map { |config| ApiDocumentation.new(config) }
end
# Configures RspecApiDocumentation
#
# See RspecApiDocumentation::Configuration for more information on configuring.
#
# RspecApiDocumentation.configure do |config|
# config.docs_dir = "doc/api"
# end
def self.configure
yield configuration if block_given?
end
end