Module: Swagger::Blocks
- Defined in:
- lib/swagger/blocks.rb,
lib/swagger/blocks/version.rb
Defined Under Namespace
Modules: ClassMethods, InternalHelpers Classes: AllOfNode, ApiAuthorizationNode, ApiAuthorizationScopeNode, ApiAuthorizationsNode, ApiDeclarationNode, ApiNode, AuthorizationCodeNode, ContactNode, DeclarationError, Error, ExampleNode, ExternalDocsNode, GrantTypesNode, HeaderNode, ImplicitNode, InfoNode, ItemsNode, LicenseNode, LoginEndpointNode, ModelNode, ModelsNode, Node, NotFoundError, NotSupportedError, OperationNode, ParameterNode, PathNode, PropertiesNode, PropertyNode, ResourceListingAuthorizationNode, ResourceListingAuthorizationsNode, ResourceNode, ResponseNode, RootNode, SchemaNode, ScopeNode, ScopesNode, SecurityRequirementNode, SecuritySchemeNode, TagNode, TokenEndpointNode, TokenRequestEndpointNode, XmlNode
Constant Summary collapse
- VERSION =
'1.1.2'
Class Method Summary collapse
- .build_api_json(resource_name, swaggered_classes) ⇒ Object
- .build_root_json(swaggered_classes) ⇒ Object
-
.included(base) ⇒ Object
Inject the swagger_root, swagger_api_root, and swagger_model class methods.
Class Method Details
.build_api_json(resource_name, swaggered_classes) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/swagger/blocks.rb', line 31 def self.build_api_json(resource_name, swaggered_classes) data = Swagger::Blocks::InternalHelpers.parse_swaggered_classes(swaggered_classes) if !data[:root_node].is_swagger_1_2? raise NotSupportedError.new( 'build_api_json only supports Swagger 1.2, you do not need to call this method ' + 'for Swagger >= 2.0 definitions.' ) end api_node = data[:api_node_map][resource_name.to_sym] raise Swagger::Blocks::NotFoundError.new( "Not found: swagger_api_root named #{resource_name}") if !api_node # Aggregate all model definitions into a new ModelsNode tree and add it to the JSON. temp_models_node = Swagger::Blocks::ModelsNode.call(name: 'models') { } data[:models_nodes].each { |models_node| temp_models_node.merge!(models_node) } result = api_node.as_json result.merge!(temp_models_node.as_json) if temp_models_node result end |
.build_root_json(swaggered_classes) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/swagger/blocks.rb', line 18 def self.build_root_json(swaggered_classes) data = Swagger::Blocks::InternalHelpers.parse_swaggered_classes(swaggered_classes) if data[:root_node].is_swagger_2_0? data[:root_node].key(:paths, data[:path_nodes]) # Required, so no empty check. if data[:schema_nodes] && !data[:schema_nodes].empty? data[:root_node].key(:definitions, data[:schema_nodes]) end end data[:root_node].as_json end |
.included(base) ⇒ Object
Inject the swagger_root, swagger_api_root, and swagger_model class methods.
14 15 16 |
# File 'lib/swagger/blocks.rb', line 14 def self.included(base) base.extend(ClassMethods) end |