class RGallery::Photos

Public Class Methods

new(pages = nil, options = {}) click to toggle source
Calls superclass method RGallery::PhotoConfig::new
# File lib/rails-gallery/rgallery/photos.rb, line 5
def initialize pages = nil, options = {}
  unless pages.nil?
    raise ArgumentError, "Must be a Photos::Pages or Array, was: #{pages}" unless valid_pages? pages
    pages = pages_class.new pages, options if pages.kind_of?(Array)
    @pages = pages
  end
  super options
end

Public Instance Methods

all() click to toggle source
# File lib/rails-gallery/rgallery/photos.rb, line 14
def all
  pages.inject([]) {|res, page| res += page.photos }.flatten.compact
end
page(id) click to toggle source
# File lib/rails-gallery/rgallery/photos.rb, line 22
def page id
  raise ArgumentError, "Page id must be one #{valid_page_ids}, was: #{id}" unless valid_page_id? id
  pages.send(id)
end
pages() click to toggle source
# File lib/rails-gallery/rgallery/photos.rb, line 18
def pages
  @pages ||= pages_class.new nil, options
end

Protected Instance Methods

pages_class() click to toggle source
# File lib/rails-gallery/rgallery/photos.rb, line 41
def pages_class
  RGallery::Pages
end
valid_page_id?(id) click to toggle source
# File lib/rails-gallery/rgallery/photos.rb, line 29
def valid_page_id? id
  [:first].include? id.to_sym
end
valid_page_ids() click to toggle source
# File lib/rails-gallery/rgallery/photos.rb, line 33
def valid_page_ids
  [:first]
end
valid_pages?(pages) click to toggle source
# File lib/rails-gallery/rgallery/photos.rb, line 37
def valid_pages? pages
  pages.kind_of?(pages_class) || pages.kind_of?(Array)
end