Module: Swagger::Blocks
- Defined in:
- lib/swagger/blocks.rb,
lib/swagger/blocks/version.rb
Defined Under Namespace
Modules: ClassMethods, InternalHelpers Classes: ApiAuthorizationNode, ApiAuthorizationScopeNode, ApiAuthorizationsNode, ApiDeclarationNode, ApiNode, AuthorizationCodeNode, DeclarationError, Error, GrantTypesNode, ImplicitNode, InfoNode, ItemsNode, LoginEndpointNode, ModelNode, ModelsNode, Node, NotFoundError, OperationNode, ParameterNode, PropertiesNode, PropertyNode, ResourceListingAuthorizationNode, ResourceListingAuthorizationsNode, ResourceListingNode, ResourceNode, ScopeNode, TokenEndpointNode, TokenRequestEndpointNode
Constant Summary collapse
- VERSION =
'1.0.1'
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
21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/swagger/blocks.rb', line 21 def self.build_api_json(resource_name, swaggered_classes) data = Swagger::Blocks::InternalHelpers.parse_swaggered_classes(swaggered_classes) 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
16 17 18 19 |
# File 'lib/swagger/blocks.rb', line 16 def self.build_root_json(swaggered_classes) data = Swagger::Blocks::InternalHelpers.parse_swaggered_classes(swaggered_classes) data[:root_node].as_json end |
.included(base) ⇒ Object
Inject the swagger_root, swagger_api_root, and swagger_model class methods.
12 13 14 |
# File 'lib/swagger/blocks.rb', line 12 def self.included(base) base.extend(ClassMethods) end |