class Ettin::Source

Generic interface for data sources containing configuration information.

Public Class Methods

for(target) click to toggle source
# File lib/ettin/source.rb, line 7
def self.for(target)
  registry.find {|candidate| candidate.handles?(target) }
    .new(target)
end
register(candidate) click to toggle source
# File lib/ettin/source.rb, line 16
def self.register(candidate)
  registry.unshift(candidate)
end
register_default(candidate) click to toggle source
# File lib/ettin/source.rb, line 20
def self.register_default(candidate)
  registry << candidate
end
registry() click to toggle source
# File lib/ettin/source.rb, line 12
def self.registry
  @@registry ||= [] # rubocop:disable Style/ClassVars
end

Public Instance Methods

load() click to toggle source
# File lib/ettin/source.rb, line 24
def load
  raise NotImplementedError
end