Module: Swagger::Blocks::InternalHelpers
- Defined in:
- lib/swagger/blocks.rb
Class Method Summary collapse
-
.get_resource_listing(root_nodes) ⇒ Object
Make sure there is exactly one root_node and return it.
-
.parse_swaggered_classes(swaggered_classes) ⇒ Object
Return [root_node, api_node_map] from all of the given swaggered_classes.
Class Method Details
.get_resource_listing(root_nodes) ⇒ Object
Make sure there is exactly one root_node and return it.
59 60 61 62 63 64 65 66 67 68 |
# File 'lib/swagger/blocks.rb', line 59 def self.get_resource_listing(root_nodes) if root_nodes.length == 0 raise Swagger::Blocks::DeclarationError.new( 'swagger_root must be declared') elsif root_nodes.length > 1 raise Swagger::Blocks::DeclarationError.new( 'Only one swagger_root declaration is allowed.') end root_nodes.first end |
.parse_swaggered_classes(swaggered_classes) ⇒ Object
Return [root_node, api_node_map] from all of the given swaggered_classes.
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/swagger/blocks.rb', line 37 def self.parse_swaggered_classes(swaggered_classes) root_nodes = [] api_node_map = {} models_nodes = [] swaggered_classes.each do |swaggered_class| next if !swaggered_class.respond_to?(:_swagger_nodes, true) swagger_nodes = swaggered_class.send(:_swagger_nodes) root_node = swagger_nodes[:resource_listing_node] root_nodes << root_node if root_node api_node_map.merge!(swagger_nodes[:api_node_map]) models_nodes << swagger_nodes[:models_node] if swagger_nodes[:models_node] end root_node = self.get_resource_listing(root_nodes) { root_node: root_node, api_node_map: api_node_map, models_nodes: models_nodes, } end |