Sha256: 2209a7bb6936124ac2c0f00129d6c767e8fb94a638d565fdf4d4429b073b4e9b
Contents?: true
Size: 1.09 KB
Versions: 1
Compression:
Stored size: 1.09 KB
Contents
# frozen_string_literal: true # :reek:InstanceVariableAssumption module SwaggerDocsGenerator # # Parse Controller classes # # Parse controller classes in Rails application. It's create temporary file # and adding automaticaly tags element. class ParserDefinition < Parser def initialize(name, &block) super(binding.of_callers[1].klass) @name = name instance_eval(&block) end def adding_defintion json = JSON.parse(File.read(temporary_file)) File.open(temporary_file, 'w') do |file| json['definitions'].merge!(construct_definition) file.puts(JSON.pretty_generate(json)) end end private def type(text) @type = text end def properties(text) @properties = text end def required(text) @required = text end def construct_definition { format_name => construct } end def construct { type: @type || 'object', required: @required || [], properties: @properties } end def format_name @name.tr(' ', '_').camelize end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
swagger_docs_generator-0.3.0.pre.18 | lib/swagger_docs_generator/parser/definition.rb |