Class: Imap::Backup::Serializer::Directory
- Inherits:
-
Serializer::Base
- Object
- Serializer::Base
- Imap::Backup::Serializer::Directory
- Defined in:
- lib/imap/backup/serializer/directory.rb
Instance Method Summary collapse
- #exist?(uid) ⇒ Boolean
-
#initialize(path, folder) ⇒ Directory
constructor
A new instance of Directory.
- #save(uid, message) ⇒ Object
- #uids ⇒ Object
Constructor Details
#initialize(path, folder) ⇒ Directory
Returns a new instance of Directory.
7 8 9 10 |
# File 'lib/imap/backup/serializer/directory.rb', line 7 def initialize(path, folder) super Utils.make_folder(@path, @folder, Serializer::DIRECTORY_PERMISSIONS) end |
Instance Method Details
#exist?(uid) ⇒ Boolean
22 23 24 25 |
# File 'lib/imap/backup/serializer/directory.rb', line 22 def exist?(uid) = filename(uid) File.exist?() end |
#save(uid, message) ⇒ Object
27 28 29 30 31 |
# File 'lib/imap/backup/serializer/directory.rb', line 27 def save(uid, ) = filename(uid) File.open(, "w") { |f| f.write .to_json } FileUtils.chmod 0600, end |
#uids ⇒ Object
12 13 14 15 16 17 18 19 20 |
# File 'lib/imap/backup/serializer/directory.rb', line 12 def uids return [] if !File.exist?(directory) d = Dir.open(directory) as_strings = d.map do |file| file[/^0*(\d+).json$/, 1] end.compact as_strings.map(&:to_i).sort end |