class Flickrie::Photo

Constants

FLICKR_SIZES

@!parse attr_reader \

:size, :width, :height, :source_url, :rotation

Public Class Methods

new(*args) click to toggle source
Calls superclass method Flickrie::Media::new
# File lib/flickrie/objects/photo.rb, line 125
def initialize(*args)
  super
  @size = largest_size
end

Public Instance Methods

available_sizes() click to toggle source

@return [Array<String>]

# File lib/flickrie/objects/photo.rb, line 101
def available_sizes
  FLICKR_SIZES.select { |_,v| @hash["url_#{v}"] }.keys
end
get_sizes(params = {}) click to toggle source

Same as calling ‘Flickrie.get_photo_sizes(photo.id)`.

@return [self]

# File lib/flickrie/objects/photo.rb, line 118
def get_sizes(params = {})
  @hash.deep_merge!(@api_caller.get_photo_sizes(id, params).hash)
  largest!
end
height() click to toggle source

@return [Fixnum]

# File lib/flickrie/objects/photo.rb, line 108
    def height() Integer(@hash["height_#{size_abbr}"]) rescue nil end
    # @return [String]
    def source_url() @hash["url_#{size_abbr}"] end

    # @return [Fixnum]
    def rotation() Integer(@hash['rotation']) rescue nil end

    # Same as calling `Flickrie.get_photo_sizes(photo.id)`.
    #
    # @return [self]
    def get_sizes(params = {})
      @hash.deep_merge!(@api_caller.get_photo_sizes(id, params).hash)
      largest!
    end

    private

    def initialize(*args)
      super
      @size = largest_size
    end

    def largest_size
      available_sizes.last
    end

    def size_abbr
      FLICKR_SIZES[size]
    end
  end
end
large(number) click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 49
def large(number)  dup.large!(number)  end
large!(number) click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 36
def large!(number)  @size = "Large #{number}";  self end
large1024() click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 68
def large1024()  large(1024)  end
large1024!() click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 89
def large1024!() large!(1024) end
large1600() click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 70
def large1600()  large(1600)  end
large1600!() click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 91
def large1600!() large!(1600) end
large2048() click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 72
def large2048()  large(2048)  end
large2048!() click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 93
def large2048!() large!(2048) end
largest() click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 98
def largest()  dup.largest! end
largest!() click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 96
def largest!() @size = largest_size; self end
largest_size() click to toggle source
# File lib/flickrie/objects/photo.rb, line 130
def largest_size
  available_sizes.last
end
medium(number) click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 47
def medium(number) dup.medium!(number) end
medium!(number) click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 34
def medium!(number) @size = "Medium #{number}"; self end
medium500() click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 62
def medium500()  medium(500)  end
medium500!() click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 83
def medium500!() medium!(500) end
medium640() click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 64
def medium640()  medium(640)  end
medium640!() click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 85
def medium640!() medium!(640) end
medium800() click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 66
def medium800()  medium(800)  end
medium800!() click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 87
def medium800!() medium!(800) end
original() click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 51
def original()     dup.original!       end
original!() click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 38
def original!()     @size = "Original";         self end
rotation() click to toggle source

@return [Fixnum]

# File lib/flickrie/objects/photo.rb, line 113
  def rotation() Integer(@hash['rotation']) rescue nil end

  # Same as calling `Flickrie.get_photo_sizes(photo.id)`.
  #
  # @return [self]
  def get_sizes(params = {})
    @hash.deep_merge!(@api_caller.get_photo_sizes(id, params).hash)
    largest!
  end

  private

  def initialize(*args)
    super
    @size = largest_size
  end

  def largest_size
    available_sizes.last
  end

  def size_abbr
    FLICKR_SIZES[size]
  end
end
size() click to toggle source

Returns the current Flickr size of the photo (“Medium 500”, for example).

@return [String]

# File lib/flickrie/objects/photo.rb, line 25
def size() @size end
size_abbr() click to toggle source
# File lib/flickrie/objects/photo.rb, line 134
def size_abbr
  FLICKR_SIZES[size]
end
small(number) click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 45
def small(number)  dup.small!(number)  end
small!(number) click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 32
def small!(number)  @size = "Small #{number}";  self end
small240() click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 58
def small240()   small(240)   end
small240!() click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 79
def small240!()  small!(240)  end
small320() click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 60
def small320()   small(320)   end
small320!() click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 81
def small320!()  small!(320)  end
source_url() click to toggle source

@return [String]

# File lib/flickrie/objects/photo.rb, line 110
def source_url() @hash["url_#{size_abbr}"] end
square(number) click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 41
def square(number) dup.square!(number) end
square!(number) click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 28
def square!(number) @size = "Square #{number}"; self end
square150() click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 56
def square150()  square(150)  end
square150!() click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 77
def square150!() square!(150) end
square75() click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 54
def square75()   square(75)   end
square75!() click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 75
def square75!()  square!(75)  end
thumbnail() click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 43
def thumbnail()    dup.thumbnail!      end
thumbnail!() click to toggle source

@return [self]

# File lib/flickrie/objects/photo.rb, line 30
def thumbnail!()    @size = "Thumbnail";        self end
width() click to toggle source

@return [Fixnum]

# File lib/flickrie/objects/photo.rb, line 106
  def width() Integer(@hash["width_#{size_abbr}"]) rescue nil end
  # @return [Fixnum]
  def height() Integer(@hash["height_#{size_abbr}"]) rescue nil end
  # @return [String]
  def source_url() @hash["url_#{size_abbr}"] end

  # @return [Fixnum]
  def rotation() Integer(@hash['rotation']) rescue nil end

  # Same as calling `Flickrie.get_photo_sizes(photo.id)`.
  #
  # @return [self]
  def get_sizes(params = {})
    @hash.deep_merge!(@api_caller.get_photo_sizes(id, params).hash)
    largest!
  end

  private

  def initialize(*args)
    super
    @size = largest_size
  end

  def largest_size
    available_sizes.last
  end

  def size_abbr
    FLICKR_SIZES[size]
  end
end