class Flickrie::MediaCount

Public Class Methods

new(hash) click to toggle source
# File lib/flickrie/objects/media_count.rb, line 38
def initialize(hash)
  @hash = hash
end
new_collection(hash) click to toggle source
# File lib/flickrie/objects/media_count.rb, line 42
def self.new_collection(hash)
  hash['photocount'].map { |info| new(info) }
end

Public Instance Methods

[](key) click to toggle source
# File lib/flickrie/objects/media_count.rb, line 30
def [](key) @hash[key] end
date_range() click to toggle source

@return [Range]

# File lib/flickrie/objects/media_count.rb, line 11
def date_range
  dates = []
  ['fromdate', 'todate'].each do |key|
    if @hash[key] == @hash[key].to_i.to_s
      dates << Time.at(Integer(@hash[key]))
    else
      dates << DateTime.parse(@hash[key]).to_time
    end
  end

  dates.first..dates.last
end
from() click to toggle source

@return [Time]

# File lib/flickrie/objects/media_count.rb, line 26
def from() date_range.begin end
hash() click to toggle source

Returns the raw hash from the response. Useful if something isn’t available by methods.

@return [Hash]

# File lib/flickrie/objects/media_count.rb, line 34
def hash() @hash end
to() click to toggle source

@return [Time]

# File lib/flickrie/objects/media_count.rb, line 28
def to()   date_range.end   end
value() click to toggle source

@!parse attr_reader \

:value, :date_range, :from, :to, :hash
# File lib/flickrie/objects/media_count.rb, line 8
  def value() Integer(@hash['count']) rescue nil end

  # @return [Range]
  def date_range
    dates = []
    ['fromdate', 'todate'].each do |key|
      if @hash[key] == @hash[key].to_i.to_s
        dates << Time.at(Integer(@hash[key]))
      else
        dates << DateTime.parse(@hash[key]).to_time
      end
    end

    dates.first..dates.last
  end
  alias time_interval date_range

  # @return [Time]
  def from() date_range.begin end
  # @return [Time]
  def to()   date_range.end   end

  def [](key) @hash[key] end
  # Returns the raw hash from the response. Useful if something isn't available by methods.
  #
  # @return [Hash]
  def hash() @hash end

  private

  def initialize(hash)
    @hash = hash
  end

  def self.new_collection(hash)
    hash['photocount'].map { |info| new(info) }
  end
end