adapters()
click to toggle source
def self.adapters
@adapters ||= []
end
adapters_by_name()
click to toggle source
def self.adapters_by_name
@adapters_by_name ||= {}
end
applicable_adapters()
click to toggle source
def self.applicable_adapters
adapters.select { |adapter| adapter.applies? }
end
autohook()
click to toggle source
def autohook
applicable_adapters.each { |adapter| adapter.load }
if applicable_adapters.empty?
puts "No adapters matched!" if RR.debug?
end
end
find_applicable_adapter(name)
click to toggle source
def self.find_applicable_adapter(name)
adapters.
select { |adapter| name === adapter.name.to_s }.
find { |adapter| adapter.applies? }
end
loaded_adapter_names()
click to toggle source
def self.loaded_adapter_names
adapters.
select { |adapter| adapter.loaded? }.
map { |adapter| adapter.name }
end
module_shim_for_adapter(adapter)
click to toggle source
def self.module_shim_for_adapter(adapter)
mod = Module.new
(class << mod; self; end).class_eval do
define_method(:included) do |base|
adapter.load
end
end
mod
end
register_adapter(klass)
click to toggle source
def self.register_adapter(klass)
adapter = Integrations::Decorator.new(klass.new)
unless adapters_by_name.key?(adapter.name)
adapters << adapter
adapters_by_name[adapter.name] = adapter
end
end
ruby_18?()
click to toggle source
def ruby_18?
RUBY_VERSION =~ %r^1\.8/
end
version()
click to toggle source
def self.version; VERSION; end