core of gem done, spec pass

This commit is contained in:
2011-03-01 23:37:48 +00:00
parent 192c88db8e
commit aba833af8d
4 changed files with 56 additions and 1 deletions

View File

@@ -1,3 +1,24 @@
# encoding: utf-8
require 'rubygems'
require 'net/http'
require 'json'
require 'hashie'
require 'twhois/user'
require 'twhois/version'
module Twhois
# Your code goes here...
LOOKUP_HOST = "api.twitter.com"
LOOKUP_PATH = "/1/users/show.json?screen_name="
# Lookup a Twitter user by their username.
def self.lookup(username)
res = Net::HTTP.start(LOOKUP_HOST) { |http| http.get(LOOKUP_PATH + username) }
if res.code == '200'
User.new(JSON.parse(res.body))
end
end
end

7
lib/twhois/user.rb Normal file
View File

@@ -0,0 +1,7 @@
# encoding: utf-8
module Twhois
class User < ::Hashie::Mash
end
end

View File

@@ -1,3 +1,5 @@
# encoding: utf-8
module Twhois
VERSION = "0.0.1"
end

25
spec/twhois_spec.rb Normal file
View File

@@ -0,0 +1,25 @@
require 'spec_helper'
describe Twhois do
it "should find author's twitter account" do
user = Twhois.lookup('jimeh')
user.screen_name.should == "jimeh"
user.lang.should == "en"
user.profile_image_url.should_not be_nil
user.name.should_not be_nil
user.location.should_not be_nil
user.url.should_not be_nil
user.followers_count.should_not be_nil
user.description.should_not be_nil
user.time_zone.should_not be_nil
user.profile_background_image_url.should_not be_nil
# ...that should be enough
end
it "should return error on unknown user" do
user = Twhois.lookup('jimehoawhefoahelfhasdf')
user.should be_nil
end
end