Class: ActiveAdmin::BatchedExport::ExportMacroCatalog
- Inherits:
-
Object
- Object
- ActiveAdmin::BatchedExport::ExportMacroCatalog
show all
- Defined in:
- lib/activeadmin/batched_export/export_macro_catalog.rb
Defined Under Namespace
Classes: UnknownMacroError
Class Method Summary
collapse
Class Method Details
.fetch(name, registry: nil) ⇒ Object
19
20
21
22
23
|
# File 'lib/activeadmin/batched_export/export_macro_catalog.rb', line 19
def self.fetch(name, registry: nil)
key = name.to_sym
target = registry || global_registry
target[key] || built_ins[key] || raise(UnknownMacroError, "unknown export macro: #{name}")
end
|
.global_registry ⇒ Object
32
33
34
|
# File 'lib/activeadmin/batched_export/export_macro_catalog.rb', line 32
def self.global_registry
@global_registry ||= {}
end
|
.register(name, callable, registry: nil) ⇒ Object
11
12
13
14
15
16
17
|
# File 'lib/activeadmin/batched_export/export_macro_catalog.rb', line 11
def self.register(name, callable, registry: nil)
key = name.to_sym
raise ArgumentError, "macro must respond to :call" unless callable.respond_to?(:call)
target = registry || global_registry
target[key] = callable
end
|
.resolve(name, registry: nil) ⇒ Object
25
26
27
28
29
30
|
# File 'lib/activeadmin/batched_export/export_macro_catalog.rb', line 25
def self.resolve(name, registry: nil)
macro = name
return macro if macro.respond_to?(:call)
fetch(macro, registry: registry)
end
|