class Twittercounter::Client

Attributes

apikey[RW]
avatar[RW]
average_growth[RW]
average_growth_2w[RW]
date_updated[RW]
follow_days[RW]
followers_2w_ago[RW]
followers_current[RW]
followers_yesterday[RW]
followersperdate[RW]
growth_since[RW]
growth_since_2w[RW]
last_update[RW]
next_month[RW]
next_month_2w[RW]
rank[RW]
started_followers[RW]
tomorrow[RW]
tomorrow_2w[RW]
twitter_id[RW]
url[RW]
username[RW]
version[RW]

Public Class Methods

new(options={}) click to toggle source
# File lib/twittercounter.rb, line 16
def initialize(options={})
  options = {:output => "json", :count => "14"}.merge!(options)
  raise "apikey is required" if options[:apikey].blank?
  raise "twitter_id or twitter_username is required" if options[:twitter_id].blank? && options[:twitter_username].blank?

  if options.has_key?(:twitter_username)
    twitter_id = Request.get("http://api.twitter.com/users/show.json", :query => {:screen_name => options.delete(:twitter_username)})["id"]
    options.merge!(:twitter_id => twitter_id)
  end

  self.apikey = options[:apikey]
  self.twitter_id = options[:twitter_id]

  response = Request.get("http://api.twittercounter.com", :query => options)
  if response.code == 200
    self.version             = response["version"]
    self.username            = response["username"]
    self.url                 = response["url"]
    self.avatar              = response["avatar"]
    self.followers_current   = response["followers_current"]
    self.date_updated        = response["date_updated"]
    self.follow_days         = response["follow_days"]
    self.started_followers   = response["started_followers"]
    self.growth_since        = response["growth_since"]
    self.average_growth      = response["average_growth"]
    self.tomorrow            = response["tomorrow"]
    self.next_month          = response["next_month"]
    self.followers_yesterday = response["followers_yesterday"]
    self.rank                = response["rank"]
    self.followers_2w_ago    = response["followers_2w_ago"]
    self.growth_since_2w     = response["growth_since_2w"]
    self.average_growth_2w   = response["average_growth_2w"]
    self.tomorrow_2w         = response["tomorrow_2w"]
    self.next_month_2w       = response["next_month_2w"]
    self.followersperdate    = response["followersperdate"]
    self.last_update         = response["last_update"]
  else
    raise "#{response.code} #{response.message}"
  end

end