Class: Picturama::Album
- Inherits:
-
Object
- Object
- Picturama::Album
- Defined in:
- lib/picturama/album.rb
Instance Method Summary collapse
- #count_pictures ⇒ Object
- #folder ⇒ Object
- #has_broken_thumbnails? ⇒ Boolean
- #has_resized? ⇒ Boolean
- #has_thumbnails? ⇒ Boolean
- #info ⇒ Object
- #init_resized ⇒ Object
- #init_thumbnails ⇒ Object
-
#initialize(args) ⇒ Album
constructor
A new instance of Album.
- #name ⇒ Object
- #name! ⇒ Object
- #pictures(order = true) ⇒ Object
- #slug ⇒ Object
- #valid? ⇒ Boolean
Constructor Details
#initialize(args) ⇒ Album
Returns a new instance of Album.
6 7 8 9 10 11 |
# File 'lib/picturama/album.rb', line 6 def initialize(args) @folder = args[:folder] @thumbnails = "#{args[:folder]}/thumbnails" @resized = "#{args[:folder]}/resized" @info = "#{args[:folder]}/.info.yml" end |
Instance Method Details
#count_pictures ⇒ Object
48 49 50 |
# File 'lib/picturama/album.rb', line 48 def count_pictures pictures.size end |
#folder ⇒ Object
28 29 30 |
# File 'lib/picturama/album.rb', line 28 def folder File.basename(@folder) end |
#has_broken_thumbnails? ⇒ Boolean
60 61 62 63 |
# File 'lib/picturama/album.rb', line 60 def has_broken_thumbnails? thumbnails_found = Dir["#{@thumbnails}/*.{#{Picturama::config['allowed_formats'].join(',')}}"].size !has_thumbnails? || thumbnails_found < count_pictures end |
#has_resized? ⇒ Boolean
56 57 58 |
# File 'lib/picturama/album.rb', line 56 def has_resized? File.directory?(@resized) end |
#has_thumbnails? ⇒ Boolean
52 53 54 |
# File 'lib/picturama/album.rb', line 52 def has_thumbnails? File.directory?(@thumbnails) end |
#info ⇒ Object
77 78 79 80 81 |
# File 'lib/picturama/album.rb', line 77 def info if File.exists?(@info) YAML.load_file(@info) end end |
#init_resized ⇒ Object
71 72 73 74 75 |
# File 'lib/picturama/album.rb', line 71 def init_resized unless has_resized? FileUtils.mkdir_p "#{@resized}" end end |
#init_thumbnails ⇒ Object
65 66 67 68 69 |
# File 'lib/picturama/album.rb', line 65 def init_thumbnails unless has_thumbnails? FileUtils.mkdir_p "#{@thumbnails}" end end |
#name ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/picturama/album.rb', line 32 def name if info.nil? name! else info['album']['title'] end end |
#name! ⇒ Object
40 41 42 |
# File 'lib/picturama/album.rb', line 40 def name! folder.humanize end |
#pictures(order = true) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/picturama/album.rb', line 13 def pictures(order = true) if File.directory?(@folder) list = [] filter = "#{@folder}/*.{#{Picturama::config['allowed_formats'].join(',')}}" dir_list = generate_sorting(filter) dir_list.each do |picture| list.push(Picturama::Picture.new(picture)) end unless order list.reverse! end list end end |
#slug ⇒ Object
44 45 46 |
# File 'lib/picturama/album.rb', line 44 def slug name!.to_url end |
#valid? ⇒ Boolean
83 84 85 |
# File 'lib/picturama/album.rb', line 83 def valid? has_thumbnails? && !info.nil? end |