class FreezingEmail::Storage
Public Class Methods
cleanup(mask = "")
click to toggle source
# File lib/freezing_email/storage.rb, line 3 def cleanup(mask = "") FileUtils.rm_rf(files_list(mask)) end
dir()
click to toggle source
# File lib/freezing_email/storage.rb, line 28 def dir dir = FreezingEmail::Config[:store_path] if defined?(Rails) dir = Rails.root.join(dir) end Dir.mkdir(dir) unless Dir.exists?(dir) dir end
index()
click to toggle source
# File lib/freezing_email/storage.rb, line 7 def index emails = [] files_list.each do |file| emails << load(file) end emails end
load(name)
click to toggle source
# File lib/freezing_email/storage.rb, line 21 def load(name) file_name = expand_name(name) if File.exists?(file_name) YAML::load(IO.read(file_name)) end end
save(name, object)
click to toggle source
# File lib/freezing_email/storage.rb, line 17 def save(name, object) File.open(expand_name(name), 'w') { |f| f.puts YAML::dump(object) } end
Private Class Methods
expand_name(name)
click to toggle source
# File lib/freezing_email/storage.rb, line 46 def expand_name(name) name = File.join(dir, "#{File.basename(name)}") name = "#{name}.yml" unless File.extname(name) == ".yml" name end
files_list(mask = "")
click to toggle source
# File lib/freezing_email/storage.rb, line 42 def files_list(mask = "") Dir.glob(File.join(dir, "#{mask}*.yml")) end