class LetsCert::IOPlugin
Input/output plugin @author Sylvain Daubert
Attributes
registered[R]
Get registered plugins @return [Hash] keys are filenames and keys are instances of IOPlugin
subclasses.
name[R]
Plugin name @return [String]
Public Class Methods
empty_data()
click to toggle source
Get empty data @return [Hash] +{ account_key: nil, key: nil, cert: nil, chain: nil }+
# File lib/letscert/io_plugin.rb, line 47 def empty_data { account_key: nil, key: nil, cert: nil, chain: nil } end
new(name)
click to toggle source
@param [String] name
# File lib/letscert/io_plugin.rb, line 68 def initialize(name) @name = name end
register(klass, *args)
click to toggle source
Register a plugin @param [Class] klass @param [Array] args args to pass to klass
constructor @return [IOPlugin]
# File lib/letscert/io_plugin.rb, line 55 def register(klass, *args) plugin = klass.new(*args) if plugin.name =~ %r{[/\\]} or ['.', '..'].include?(plugin.name) raise Error, 'plugin name should just be a file name, without path' end @registered[plugin.name] = plugin klass end
Public Instance Methods
load()
click to toggle source
@abstract This method must be overriden in subclasses Load data from disk
# File lib/letscert/io_plugin.rb, line 74 def load raise NotImplementedError end
save()
click to toggle source
@abstract This method must be overriden in subclasses Save data to disk
# File lib/letscert/io_plugin.rb, line 80 def save raise NotImplementedError end