module StateMate::Adapters
Constants
- API_METHOD_NAMES
- DEFAULT_KEY_SEP
Default character to split string keys on.
@return [String]
Public Class Methods
get(name)
click to toggle source
# File lib/state_mate/adapters.rb, line 34 def self.get name # return it if it's already loaded return @@index[name] if @@index.key? name # try to require it begin require "state_mate/adapters/#{ name }" rescue LoadError => e StateMate.debug "failed to require adapter #{ name }", e end unless @@index.key? name raise StateMate::Error::AdapterNotFoundError.new NRSER.dedent <<-END adapter #{ name.inspect } was not found. registered adapters: #{ @@index.pretty_inspect } END end @@index[name] end
included(base)
click to toggle source
# File lib/state_mate/adapters.rb, line 22 def self.included base base.extend IncludeClassMethods end
register(name, obj)
click to toggle source
# File lib/state_mate/adapters.rb, line 26 def self.register name, obj unless name.is_a? String raise StateMate::Error::TypeError.new name, "name must be a String" end @@index[name] = obj end