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

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