Module: ActiveadminMcp::ResourceRegistry

Defined in:
lib/activeadmin_mcp/resource_registry.rb

Class Method Summary collapse

Class Method Details

.allObject



6
7
8
# File 'lib/activeadmin_mcp/resource_registry.rb', line 6

def all
  resources.map { |entry| resource_info(entry) }
end

.find(name) ⇒ Object



14
15
16
# File 'lib/activeadmin_mcp/resource_registry.rb', line 14

def find(name)
  resources.find { |entry| entry[:name] == name }
end

.resource_info(entry) ⇒ Object



18
19
20
21
22
23
24
25
# File 'lib/activeadmin_mcp/resource_registry.rb', line 18

def resource_info(entry)
  klass = entry[:model]
  {
    name: klass.name,
    table: klass.table_name,
    attributes: klass.column_names - sensitive_attributes,
  }
end

.resourcesObject



10
11
12
# File 'lib/activeadmin_mcp/resource_registry.rb', line 10

def resources
  discover.map { |r| entry(r) }
end

.sensitive_attributesObject



27
28
29
# File 'lib/activeadmin_mcp/resource_registry.rb', line 27

def sensitive_attributes
  %w[encrypted_password password_digest reset_password_token api_key secret]
end