Class: Gallery::Album
- Inherits:
-
Object
- Object
- Gallery::Album
- Defined in:
- lib/gallery/album.rb
Instance Attribute Summary collapse
-
#params ⇒ Object
Returns the value of attribute params.
-
#remote ⇒ Object
Returns the value of attribute remote.
Instance Method Summary collapse
- #add_album(title, params = {}) ⇒ Object
- #add_item(file_name, params = {}) ⇒ Object
- #images(params = {}) ⇒ Object
-
#initialize(remote, params) ⇒ Album
constructor
A new instance of Album.
- #name ⇒ Object
- #parent ⇒ Object
- #properties(params = {}) ⇒ Object
- #title ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(remote, params) ⇒ Album
Returns a new instance of Album.
5 6 7 |
# File 'lib/gallery/album.rb', line 5 def initialize(remote, params) @remote, @params = remote, params end |
Instance Attribute Details
#params ⇒ Object
Returns the value of attribute params.
3 4 5 |
# File 'lib/gallery/album.rb', line 3 def params @params end |
#remote ⇒ Object
Returns the value of attribute remote.
3 4 5 |
# File 'lib/gallery/album.rb', line 3 def remote @remote end |
Instance Method Details
#add_album(title, params = {}) ⇒ Object
34 35 36 |
# File 'lib/gallery/album.rb', line 34 def add_album(title, params = {}) @remote.new_album(name, { :newAlbumName => title_to_name(title), :newAlbumTitle => title }.merge(params)) end |
#add_item(file_name, params = {}) ⇒ Object
30 31 32 |
# File 'lib/gallery/album.rb', line 30 def add_item(file_name, params = {}) @remote.add_item(name, file_name, params) end |
#images(params = {}) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/gallery/album.rb', line 13 def images(params = {}) response = @remote.fetch_album_images(name, params) image_params = response.keys.inject([]) do |image_params, key| next image_params unless key =~ /image\.(.*)\.(\d+)/ _, param, index = key.match(/image\.(.*)\.(\d+)/).to_a index = index.to_i image_params[index] ||= {} image_params[index][param] = response[key] image_params end.compact # Keys are 1-based; remove first element image_params.map do |params| image = Image.new(@remote, params) yield image if block_given? image end end |
#name ⇒ Object
38 39 40 |
# File 'lib/gallery/album.rb', line 38 def name @params['name'] end |
#parent ⇒ Object
46 47 48 |
# File 'lib/gallery/album.rb', line 46 def parent @params['parent'] end |
#properties(params = {}) ⇒ Object
9 10 11 |
# File 'lib/gallery/album.rb', line 9 def properties(params = {}) @remote.album_properties(name, params) end |
#title ⇒ Object
42 43 44 |
# File 'lib/gallery/album.rb', line 42 def title @params['title'] end |
#to_s ⇒ Object
50 51 52 |
# File 'lib/gallery/album.rb', line 50 def to_s "Album #{name}: #{title}" end |