Class: Airview::ResourceBuilder
- Inherits:
-
Object
- Object
- Airview::ResourceBuilder
- Defined in:
- lib/airview/resource_builder.rb
Class Method Summary collapse
Class Method Details
.build(definition) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/airview/resource_builder.rb', line 15 def build(definition) Resource.new(definition.key, model: definition.record_class_name).tap do |resource| resource.label = definition.label resource.label_method = definition.label_method.presence&.to_sym || :to_s definition.field_definitions.visible.order(:position, :name).each do |field| add_field(resource, field) end add_missing_virtual_fields(resource, definition) end end |
.enabled_resources ⇒ Object
6 7 8 9 10 11 12 13 |
# File 'lib/airview/resource_builder.rb', line 6 def enabled_resources definitions = Airview::ResourceDefinition.enabled.includes(:field_definitions).order(:position, :label) definitions.each_with_object({}) do |definition, resources| resource = build(definition) resources[resource.key] = resource end end |