Class: SwaggerDocsGenerator::ModelActiveRecord

Inherits:
Object
  • Object
show all
Defined in:
lib/swagger_docs_generator/models/active_record.rb

Overview

# Parse Active Record model

Constant Summary collapse

NAME =
:active_record
TYPES =
{
  'binary' =>       { type: 'string', format: 'binary' },
  'boolean' =>      { type: 'boolean' },
  'date' =>         { type: 'string', format: 'date' },
  'datetime' =>     { type: 'string', format: 'date-time' },
  'decimal' =>      { type: 'number', format: 'double' },
  'float' =>        { type: 'number', format: 'float' },
  'integer' =>      { type: 'integer', format: 'int32' },
  'bigint' =>       { type: 'integer', format: 'int64' },
  'primary_key' =>  { type: 'integer', format: 'int32' },
  'references' =>   { type: 'integer', format: 'int32' },
  'string' =>       { type: 'string' },
  'text' =>         { type: 'string' },
  'time' =>         { type: 'string', format: 'date-time' },
  'timestamp' =>    { type: 'string', format: 'date-time' }
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(model) ⇒ ModelActiveRecord

Returns a new instance of ModelActiveRecord.



25
26
27
# File 'lib/swagger_docs_generator/models/active_record.rb', line 25

def initialize(model)
  @model = eval(model)
end

Instance Method Details

#attribute_propertiesObject



29
30
31
32
33
34
35
# File 'lib/swagger_docs_generator/models/active_record.rb', line 29

def attribute_properties
  propertie = {}
  @model.columns_hash.each do |name, _value|
    propertie.merge!(attribute_propertie(name))
  end
  propertie
end