Module: Monkey::Backend
- Defined in:
- lib/monkey/backend.rb,
lib/monkey/backend/extlib.rb,
lib/monkey/backend/facets.rb,
lib/monkey/backend/backports.rb,
lib/monkey/backend/common/tap.rb,
lib/monkey/backend/common/parent.rb,
lib/monkey/backend/active_support.rb,
lib/monkey/backend/common/metaclass.rb,
lib/monkey/backend/common/extract_options.rb
Defined Under Namespace
Modules: ActiveSupport, Backports, Common, Extlib, Facets
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.register(definition, expected_name, backend_name = nil) ⇒ Object
11
12
13
14
15
16
|
# File 'lib/monkey/backend.rb', line 11
def self.register(definition, expected_name, backend_name = nil)
klass = definition.core_klass
add_hook klass, expected_name
add_hook klass, backend_name if backend_name
backend_name ||= expected_name
end
|
Instance Method Details
#available_backends ⇒ Object
22
23
24
|
# File 'lib/monkey/backend.rb', line 22
def available_backends
@available_backends ||= Set[:ActiveSupport, :Extlib, :Backports]
end
|
#backend ⇒ Object
26
27
28
|
# File 'lib/monkey/backend.rb', line 26
def backend
@backend || preferred_backend || available_backends.first
end
|
#preferred_backend ⇒ Object
18
19
20
|
# File 'lib/monkey/backend.rb', line 18
def preferred_backend
available_backends.detect { |b| eval "defined? ::#{b}" }
end
|