module JsonSchemaDocs
Constants
- VERSION
Public Class Methods
build(options)
click to toggle source
# File lib/json-schema-docs.rb, line 16 def build(options) options = JsonSchemaDocs::Configuration::JSON_SCHEMA_DOCS_DEFAULTS.merge(options) filename = options[:filename] schema = options[:schema] if !filename.nil? && !schema.nil? raise ArgumentError, 'Pass in `filename` or `schema`, but not both!' end if filename.nil? && schema.nil? raise ArgumentError, 'Pass in either `filename` or `schema`' end if filename unless filename.is_a?(String) raise TypeError, "Expected `String`, got `#{filename.class}`" end unless File.exist?(filename) raise ArgumentError, "#{filename} does not exist!" end schema = File.read(filename) else if !schema.is_a?(String) && !schema.is_a?(Prmd::Schema) raise TypeError, "Expected `String` or `Prmd::Schema`, got `#{schema.class}`" end schema = schema end parser = JsonSchemaDocs::Parser.new(schema, options) parsed_schema = parser.parse generator = JsonSchemaDocs::Generator.new(parsed_schema, options) generator.generate end