class FlickrOfflineGallery::Photo

Attributes

id[R]

Public Class Methods

new(horrible_flickraw_response_junk, args = {}) click to toggle source
# File lib/flickr_offline_gallery/photo.rb, line 7
def initialize(horrible_flickraw_response_junk, args = {})
  @path_manager = args[:path_manager]
  @id = horrible_flickraw_response_junk["id"]
  @photoset_id = args[:photoset_id]
  eager_load
end

Public Instance Methods

author() click to toggle source
# File lib/flickr_offline_gallery/photo.rb, line 58
def author
  @info.owner.username
end
back_to_index_url() click to toggle source
# File lib/flickr_offline_gallery/photo.rb, line 50
def back_to_index_url
  @path_manager.back_to_index
end
base_url() click to toggle source
# File lib/flickr_offline_gallery/photo.rb, line 26
def base_url
  @base_url ||= info.urls.find{|u| u["type"] == "photopage"}["_content"]
end
full_html_path() click to toggle source
# File lib/flickr_offline_gallery/photo.rb, line 38
def full_html_path
  @path_manager.full_path_for(@id, :html)
end
full_jpg_path() click to toggle source
# File lib/flickr_offline_gallery/photo.rb, line 34
def full_jpg_path
  @path_manager.full_path_for(@id, :jpg)
end
img_filename() click to toggle source
# File lib/flickr_offline_gallery/photo.rb, line 30
def img_filename
  @path_manager.filename_for_photo(@id, :jpg)
end
relative_html_path() click to toggle source
# File lib/flickr_offline_gallery/photo.rb, line 46
def relative_html_path
  @path_manager.relative_path_for(@id, :html)
end
relative_jpg_path() click to toggle source
# File lib/flickr_offline_gallery/photo.rb, line 42
def relative_jpg_path
  @path_manager.relative_path_for(@id, :jpg)
end
sizes() click to toggle source
# File lib/flickr_offline_gallery/photo.rb, line 54
def sizes
  @size ||= PhotoSizes.new(raw_sizes.to_a)
end
title() click to toggle source
# File lib/flickr_offline_gallery/photo.rb, line 14
def title
  info.title
end
url() click to toggle source
# File lib/flickr_offline_gallery/photo.rb, line 18
def url
  if @photoset_id
    "#{base_url}in/set-#{@photoset_id}"
  else
    base_url
  end
end

Private Instance Methods

eager_load() click to toggle source
# File lib/flickr_offline_gallery/photo.rb, line 64
def eager_load
  info
  raw_sizes
end
info() click to toggle source
# File lib/flickr_offline_gallery/photo.rb, line 69
def info
  @info ||= OpenStruct.new(FlickrAPI.get_photo_info(@id))
end
raw_sizes() click to toggle source
# File lib/flickr_offline_gallery/photo.rb, line 73
def raw_sizes
  @raw_sizes ||= FlickrAPI.get_photo_sizes(@id)
end