Class: EntityService

Inherits:
Object
  • Object
show all
Defined in:
app/services/entity_service.rb

Instance Method Summary collapse

Instance Method Details

#index_actionObject



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'app/services/entity_service.rb', line 2

def index_action
  models = []

  ApplicationRecord.descendants.each do |model|
    name = model.name
    columns = model.columns.map do |column|
      {
        name: column.name,
        type: column.sql_type.parameterize.underscore
      }
    end

    models.push(
      name: name,
      columns: columns
    )
  end

  {
    models: models
  }
end

#show_action(resource_klass) ⇒ Object



25
26
27
28
29
30
31
32
# File 'app/services/entity_service.rb', line 25

def show_action(resource_klass)
  {
    name:         resource_klass.name,
    column_names: resource_klass.column_names,
    columns:      resource_klass.columns.map { |column| { name: column.name, type: column.sql_type.parameterize.underscore } },
    reflections:  resource_klass.reflections.keys
  }
end