class Slideoff::FlickrImage

Public Class Methods

new(id) click to toggle source
# File lib/slideoff/flickr_image.rb, line 5
def initialize(id)
  @id = id
end

Public Instance Methods

author() click to toggle source
# File lib/slideoff/flickr_image.rb, line 19
def author
  realname = info["owner"]["realname"]
  !realname.strip.empty? ? realname : info["owner"]["username"]
end
image_src() click to toggle source
# File lib/slideoff/flickr_image.rb, line 9
def image_src
  # Prefer m else lagest size
  size = sizes.select { |size| %w[Large Original].include?(size["label"]) }.first || sizes.last
  size["source"]
end
license() click to toggle source
# File lib/slideoff/flickr_image.rb, line 28
def license
  license_id = info["license"]
  license_id = license_id.to_i rescue 0
  flickr_licenses[license_id]
end
page() click to toggle source
# File lib/slideoff/flickr_image.rb, line 34
def page
  info["urls"]["url"].first["_content"]
end
sizes() click to toggle source
# File lib/slideoff/flickr_image.rb, line 15
def sizes
  @sizes ||= FlickrAPI.new(method: 'flickr.photos.getSizes', photo_id: @id).json["sizes"]["size"]
end
title() click to toggle source
# File lib/slideoff/flickr_image.rb, line 24
def title
  info["title"]["_content"]
end

Private Instance Methods

flickr_licenses() click to toggle source

Source: secure.flickr.com/services/api/explore/flickr.photos.licenses.getInfo

# File lib/slideoff/flickr_image.rb, line 41
def flickr_licenses
  [
    {
      "name" => "All Rights Reserved",
      "url" => ""
    },
    {
      "name" => "Attribution-NonCommercial-ShareAlike License",
      "url" => "http://creativecommons.org/licenses/by-nc-sa/2.0/",
      "cc_attributes" => %w[by nc sa]
    },
    {
      "name" => "Attribution-NonCommercial License",
      "url" => "http://creativecommons.org/licenses/by-nc/2.0/",
      "cc_attributes" => %w[by nc]
    },
    {
      "name" => "Attribution-NonCommercial-NoDerivs License",
      "url" => "http://creativecommons.org/licenses/by-nc-nd/2.0/",
      "cc_attributes" => %w[by nc nd]
    },
    {
      "name" => "Attribution License",
      "url" => "http://creativecommons.org/licenses/by/2.0/",
      "cc_attributes" => %w[by]
    },
    {
      "name" => "Attribution-ShareAlike License",
      "url" => "http://creativecommons.org/licenses/by-sa/2.0/",
      "cc_attributes" => %w[by sa]
    },
    {
      "name" => "Attribution-NoDerivs License",
      "url" => "http://creativecommons.org/licenses/by-nd/2.0/",
      "cc_attributes" => %w[by nd]
    },
    {
      "name" => "No known copyright restrictions",
      "url" => "http://www.flickr.com/commons/usage/"
    },
    {
      "name" => "United States Government Work",
      "url" => "http://www.usa.gov/copyright.shtml"
    }
  ]
end
info() click to toggle source
# File lib/slideoff/flickr_image.rb, line 88
def info
  @info ||= FlickrAPI.new(method: 'flickr.photos.getInfo', photo_id: @id).json["photo"]
end