class Swagger::Data::Document
Constants
- DEFAULT_HOST
- SPEC_VERSION
Public Class Methods
new()
click to toggle source
create an empty document
# File lib/ruby-swagger/data/document.rb, line 24 def initialize @swagger = '2.0' @info = Swagger::Data::Info.new @paths = Swagger::Data::Paths.new end
parse(document)
click to toggle source
parse an hash document into a set of Swagger
objects
document is a hash
# File lib/ruby-swagger/data/document.rb, line 32 def self.parse(document) raise ArgumentError.new('Swagger::Document#parse - document object is nil') unless document Swagger::Data::Document.new.bulk_set(document) end
Public Instance Methods
add_tag(new_tag)
click to toggle source
# File lib/ruby-swagger/data/document.rb, line 159 def add_tag(new_tag) return nil unless new_tag unless new_tag.is_a?(Swagger::Data::Tag) new_tag = Swagger::Data::Tag.parse(new_tag) end @tags.push(new_tag) end
basePath=(new_path)
click to toggle source
# File lib/ruby-swagger/data/document.rb, line 51 def basePath=(new_path) new_path = new_path.nil? ? '/' : new_path unless new_path =~ /^\/.+$/ new_path = "/#{new_path}" # new path must start with a / end @basePath ||= new_path end
consumes=(new_consumes)
click to toggle source
# File lib/ruby-swagger/data/document.rb, line 81 def consumes=(new_consumes) return nil unless new_consumes new_consumes.each do |consume| raise ArgumentError.new("Swagger::Data::Document#consumes= - unrecognized consume type #{consume}]") unless Swagger::Data::Mime.valid?(consume) end @consumes = new_consumes end
definitions=(new_definitions)
click to toggle source
# File lib/ruby-swagger/data/document.rb, line 99 def definitions=(new_definitions) return nil unless new_definitions unless new_definitions.is_a?(Swagger::Data::Definitions) new_definitions = Swagger::Data::Definitions.parse(new_definitions) end @definitions = new_definitions end
externalDocs=(new_externalDocs)
click to toggle source
# File lib/ruby-swagger/data/document.rb, line 169 def externalDocs=(new_externalDocs) return nil unless new_externalDocs unless new_externalDocs.is_a?(Swagger::Data::ExternalDocumentation) new_externalDocs = Swagger::Data::ExternalDocumentation.parse(new_externalDocs) end @externalDocs = new_externalDocs end
info=(new_info)
click to toggle source
# File lib/ruby-swagger/data/document.rb, line 43 def info=(new_info) raise ArgumentError.new('Swagger::Document#info= - info object is nil') unless new_info new_info = Swagger::Data::Info.parse(new_info) unless new_info.is_a?(Swagger::Data::Info) @info = new_info end
parameters=(new_parameters)
click to toggle source
# File lib/ruby-swagger/data/document.rb, line 109 def parameters=(new_parameters) return nil unless new_parameters unless new_parameters.is_a?(Swagger::Data::Parameters) new_parameters = Swagger::Data::Parameters.parse(new_parameters) end @parameters = new_parameters end
paths=(new_paths)
click to toggle source
# File lib/ruby-swagger/data/document.rb, line 91 def paths=(new_paths) raise ArgumentError.new('Swagger::Data::Document#paths= - paths is nil') unless paths new_paths = Swagger::Data::Paths.parse(new_paths) unless new_paths.is_a?(Swagger::Data::Paths) @paths = new_paths end
produces=(new_produces)
click to toggle source
# File lib/ruby-swagger/data/document.rb, line 71 def produces=(new_produces) return nil unless new_produces new_produces.each do |produce| raise ArgumentError.new("Swagger::Data::Document#produces= - unrecognized produce type #{produce}") unless Swagger::Data::Mime.valid?(produce) end @produces = new_produces end
responses=(new_responses)
click to toggle source
# File lib/ruby-swagger/data/document.rb, line 119 def responses=(new_responses) return nil unless new_responses unless new_responses.is_a?(Swagger::Data::Responses) new_responses = Swagger::Data::Responses.parse(new_responses) end @responses = new_responses end
schemes=(new_schemes)
click to toggle source
# File lib/ruby-swagger/data/document.rb, line 61 def schemes=(new_schemes) return nil unless new_schemes new_schemes.each do |scheme| raise ArgumentError.new("Swagger::Data::Document#schemes= - unrecognized scheme #{scheme}") unless %w(http https ws wss).include?(scheme) end @schemes = new_schemes end
security=(new_security)
click to toggle source
# File lib/ruby-swagger/data/document.rb, line 139 def security=(new_security) return nil unless new_security unless new_security.is_a?(Swagger::Data::SecurityRequirement) new_security = Swagger::Data::SecurityRequirement.parse(new_security) end @security = new_security end
securityDefinitions=(newSecurityDef)
click to toggle source
# File lib/ruby-swagger/data/document.rb, line 129 def securityDefinitions=(newSecurityDef) return nil unless newSecurityDef unless newSecurityDef.is_a?(Swagger::Data::SecurityDefinitions) newSecurityDef = Swagger::Data::SecurityDefinitions.parse(newSecurityDef) end @securityDefinitions = newSecurityDef end
swagger=(new_swagger)
click to toggle source
# File lib/ruby-swagger/data/document.rb, line 38 def swagger=(new_swagger) raise ArgumentError.new("Swagger::Document#swagger= - the document is not a swagger #{SPEC_VERSION} version") unless '2.0' == new_swagger @swagger = new_swagger end