Sha256: 0c31a5ce58fcddb27a54eff52475ea8fd8d6b970be366b764811bb2b81251a8a
Contents?: true
Size: 998 Bytes
Versions: 1
Compression:
Stored size: 998 Bytes
Contents
module LetsCert # Mixin for IOPmugin subclasses that handle files # @author Sylvain Daubert module FileIOPluginMixin # Load data from file named +#name+ # @return [Hash] def load logger.debug { "Loading #{@name}" } begin content = File.read(@name) rescue Errno::ENOENT => ex logger.info { "no #{@name} file" } return self.class.empty_data end load_from_content(content) end # @abstract # @param [String] _content # @return [Hash] def load_from_content(_content) raise NotImplementedError end # Save data to file +#name+ # @param [Hash] data # @return [void] def save_to_file(data) return if data.nil? logger.info { "saving #{@name}" } begin File.open(name, 'w') do |f| f.write(data) end rescue Errno => ex @logger.error { ex.message } raise Error, "Error when saving #{@name}" end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
letscert-0.4.2 | lib/letscert/io_plugins/file_io_plugin_mixin.rb |