module Cloudphoto::List

Public Class Methods

list_albums() click to toggle source
# File lib/cloudphoto/list.rb, line 17
def list_albums
  albums = Cloudphoto::Aws.list_objects.select do |path|
    /\A\.albums\/.+?\/\z/.match?(path)
  end
  albums.map! { |path| path.delete_prefix("#{ALBUMS_PREFIX}/").delete_suffix("/") }
end
list_keys(prefix) click to toggle source
# File lib/cloudphoto/list.rb, line 30
def list_keys(prefix)
  Cloudphoto::Aws.list_objects.select do |path|
    path.start_with?(prefix)
  end.reject { |path| path == prefix }
end
list_photos(album) click to toggle source
# File lib/cloudphoto/list.rb, line 24
def list_photos(album)
  album_path = "#{ALBUMS_PREFIX}/#{album}/"
  photos = list_keys(album_path)
  photos.map! { |path| path.delete_prefix(album_path) }
end

Private Instance Methods

list_albums() click to toggle source
# File lib/cloudphoto/list.rb, line 17
def list_albums
  albums = Cloudphoto::Aws.list_objects.select do |path|
    /\A\.albums\/.+?\/\z/.match?(path)
  end
  albums.map! { |path| path.delete_prefix("#{ALBUMS_PREFIX}/").delete_suffix("/") }
end
list_keys(prefix) click to toggle source
# File lib/cloudphoto/list.rb, line 30
def list_keys(prefix)
  Cloudphoto::Aws.list_objects.select do |path|
    path.start_with?(prefix)
  end.reject { |path| path == prefix }
end
list_photos(album) click to toggle source
# File lib/cloudphoto/list.rb, line 24
def list_photos(album)
  album_path = "#{ALBUMS_PREFIX}/#{album}/"
  photos = list_keys(album_path)
  photos.map! { |path| path.delete_prefix(album_path) }
end