Class: Backstage::AutoDiscovery

Inherits:
Object
  • Object
show all
Defined in:
lib/backstage/auto_discovery.rb

Constant Summary collapse

SYSTEM_COLUMNS =
%i[id created_at updated_at].freeze
COLUMN_TYPE_MAP =
{
  string: :string,
  text: :text,
  integer: :integer,
  decimal: :integer,
  float: :integer,
  boolean: :boolean,
  date: :date,
  datetime: :datetime
}.freeze

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(model_class) ⇒ AutoDiscovery

Returns a new instance of AutoDiscovery.



20
21
22
# File 'lib/backstage/auto_discovery.rb', line 20

def initialize(model_class)
  @model_class = model_class
end

Class Method Details

.build(model_class) ⇒ Object



16
17
18
# File 'lib/backstage/auto_discovery.rb', line 16

def self.build(model_class)
  new(model_class).build
end

Instance Method Details

#buildObject



24
25
26
27
28
29
30
31
# File 'lib/backstage/auto_discovery.rb', line 24

def build
  config = ResourceConfig.new(@model_class)
  config.display_column = detect_display_column
  fields = column_fields + enum_fields
  config.index_fields = fields
  config.edit_fields = fields
  config
end