Module: StateMate::Adapters
- Included in:
- Defaults, Git::Ignore, GitConfig, JSON, LaunchD, NVRAM, PMSet, SCUtil, TimeMachine, YAML
- Defined in:
- lib/state_mate/adapters.rb
Defined Under Namespace
Modules: Defaults, Git, GitConfig, IncludeClassMethods, JSON, LaunchD, NVRAM, PMSet, SCUtil, TimeMachine, YAML Classes: File
Constant Summary collapse
- API_METHOD_NAMES =
[:read, :write]
- DEFAULT_KEY_SEP =
Default character to split string keys on.
':'- @@index =
{}
Class Method Summary collapse
Class Method Details
.get(name) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# 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) ⇒ Object
22 23 24 |
# File 'lib/state_mate/adapters.rb', line 22 def self.included base base.extend IncludeClassMethods end |