klout 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.rspec +2 -0
- data/.travis.yml +1 -0
- data/Gemfile +13 -0
- data/Guardfile +21 -0
- data/README.rdoc +51 -0
- data/Rakefile +44 -0
- data/VERSION +1 -0
- data/klout.gemspec +73 -0
- data/lib/klout.rb +7 -0
- data/lib/klout/api.rb +57 -0
- data/spec/klout/fixtures/klout.json +13 -0
- data/spec/klout/fixtures/klout.xml +11 -0
- data/spec/klout/klout_spec.rb +58 -0
- data/spec/spec_helper.rb +13 -0
- metadata +151 -0
data/.rspec
ADDED
data/.travis.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
rvm: 1.9.2
|
data/Gemfile
ADDED
data/Guardfile
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# A sample Guardfile
|
2
|
+
# More info at https://github.com/guard/guard#readme
|
3
|
+
|
4
|
+
guard 'rspec', :version => 2 do
|
5
|
+
watch(%r{^spec/.+_spec\.rb$})
|
6
|
+
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
7
|
+
watch('spec/spec_helper.rb') { "spec" }
|
8
|
+
|
9
|
+
# Rails example
|
10
|
+
watch(%r{^spec/.+_spec\.rb$})
|
11
|
+
watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
|
12
|
+
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
13
|
+
watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
|
14
|
+
watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
|
15
|
+
watch('spec/spec_helper.rb') { "spec" }
|
16
|
+
watch('config/routes.rb') { "spec/routing" }
|
17
|
+
watch('app/controllers/application_controller.rb') { "spec/controllers" }
|
18
|
+
# Capybara request specs
|
19
|
+
watch(%r{^app/views/(.+)/.*\.(erb|haml)$}) { |m| "spec/requests/#{m[1]}_spec.rb" }
|
20
|
+
end
|
21
|
+
|
data/README.rdoc
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
= Klout
|
2
|
+
|
3
|
+
Klout is a Ruby gem that provides a wrapper for interacting with the {Klout API}[http://developer.klout.com/docs/read/api/API].
|
4
|
+
|
5
|
+
== Requirements
|
6
|
+
|
7
|
+
You will need a {Klout API Key}[http://developer.klout.com/member/register] in order to get started.
|
8
|
+
|
9
|
+
== Installation
|
10
|
+
|
11
|
+
(sudo) gem install klout
|
12
|
+
|
13
|
+
== Usage
|
14
|
+
|
15
|
+
Please refer to the {Klout API Documentation}[http://developer.klout.com/docs/read/api/API] for more information about the API, or follow the examples below:
|
16
|
+
|
17
|
+
k = Klout::API.new('your_secret_api_key')
|
18
|
+
|
19
|
+
There are also configuration options:
|
20
|
+
|
21
|
+
k = Klout::API.new('your_secret_api_key', {:format => 'xml', :secure => true})
|
22
|
+
|
23
|
+
Once you have created a Klout object, you can interact with the API to find out how much influence certain Twitter users have. You can also pass comma-delimited string of multiple Twitter usernames as well.
|
24
|
+
|
25
|
+
k.klout('dhh')
|
26
|
+
k.klout('dhh, rails')
|
27
|
+
|
28
|
+
k.show('dhh')
|
29
|
+
k.topics('dhh')
|
30
|
+
|
31
|
+
k.influencer_of('rails')
|
32
|
+
k.influenced_by('dhh, rails')
|
33
|
+
|
34
|
+
== Travis Build Status
|
35
|
+
|
36
|
+
{<img src="http://travis-ci.org/terra-firma/klout.png" />}[http://travis-ci.org/terra-firma/klout]
|
37
|
+
|
38
|
+
== Contributing to Klout
|
39
|
+
|
40
|
+
* Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
|
41
|
+
* Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
|
42
|
+
* Fork the project.
|
43
|
+
* Start a feature/bugfix branch.
|
44
|
+
* Commit and push until you are happy with your contribution.
|
45
|
+
* Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
|
46
|
+
* Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
|
47
|
+
|
48
|
+
== Copyright
|
49
|
+
|
50
|
+
Copyright (c) 2011 Terra Firma Design & Consulting. See LICENSE.txt for further details.
|
51
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'rubygems'
|
3
|
+
require 'bundler'
|
4
|
+
|
5
|
+
begin
|
6
|
+
Bundler.setup(:default, :development)
|
7
|
+
rescue Bundler::BundlerError => e
|
8
|
+
$stderr.puts e.message
|
9
|
+
$stderr.puts "Run `bundle install` to install missing gems"
|
10
|
+
exit e.status_code
|
11
|
+
end
|
12
|
+
require 'rake'
|
13
|
+
|
14
|
+
require 'jeweler'
|
15
|
+
Jeweler::Tasks.new do |gem|
|
16
|
+
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
|
17
|
+
gem.name = "klout"
|
18
|
+
gem.homepage = "http://github.com/terra-firma/klout"
|
19
|
+
gem.license = "MIT"
|
20
|
+
gem.summary = %Q{Ruby gem for interacting with the Klout API.}
|
21
|
+
gem.description = %Q{Ruby gem for interacting with the Klout API.}
|
22
|
+
gem.email = "brian@terra-firma-design.com"
|
23
|
+
gem.authors = ["Brian Getting"]
|
24
|
+
# dependencies defined in Gemfile
|
25
|
+
end
|
26
|
+
Jeweler::RubygemsDotOrgTasks.new
|
27
|
+
|
28
|
+
require 'rake/testtask'
|
29
|
+
Rake::TestTask.new(:test) do |test|
|
30
|
+
test.libs << 'lib' << 'test'
|
31
|
+
test.pattern = 'test/**/test_*.rb'
|
32
|
+
test.verbose = true
|
33
|
+
end
|
34
|
+
|
35
|
+
task :default => :test
|
36
|
+
|
37
|
+
require 'rake/rdoctask'
|
38
|
+
Rake::RDocTask.new do |rdoc|
|
39
|
+
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
40
|
+
rdoc.rdoc_dir = 'rdoc'
|
41
|
+
rdoc.title = "klout #{version}"
|
42
|
+
rdoc.rdoc_files.include('README*')
|
43
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
44
|
+
end
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
1.0.1
|
data/klout.gemspec
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{klout}
|
8
|
+
s.version = "1.0.1"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = [%q{Brian Getting}]
|
12
|
+
s.date = %q{2012-02-02}
|
13
|
+
s.description = %q{Ruby gem for interacting with the Klout API.}
|
14
|
+
s.email = %q{brian@terra-firma-design.com}
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"README.rdoc"
|
17
|
+
]
|
18
|
+
s.files = [
|
19
|
+
".rspec",
|
20
|
+
".travis.yml",
|
21
|
+
"Gemfile",
|
22
|
+
"Guardfile",
|
23
|
+
"README.rdoc",
|
24
|
+
"Rakefile",
|
25
|
+
"VERSION",
|
26
|
+
"klout.gemspec",
|
27
|
+
"lib/klout.rb",
|
28
|
+
"lib/klout/api.rb",
|
29
|
+
"spec/klout/fixtures/klout.json",
|
30
|
+
"spec/klout/fixtures/klout.xml",
|
31
|
+
"spec/klout/klout_spec.rb",
|
32
|
+
"spec/spec_helper.rb"
|
33
|
+
]
|
34
|
+
s.homepage = %q{http://github.com/terra-firma/klout}
|
35
|
+
s.licenses = [%q{MIT}]
|
36
|
+
s.require_paths = [%q{lib}]
|
37
|
+
s.rubygems_version = %q{1.8.8}
|
38
|
+
s.summary = %q{Ruby gem for interacting with the Klout API.}
|
39
|
+
|
40
|
+
if s.respond_to? :specification_version then
|
41
|
+
s.specification_version = 3
|
42
|
+
|
43
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
44
|
+
s.add_runtime_dependency(%q<json>, [">= 0"])
|
45
|
+
s.add_runtime_dependency(%q<xml-simple>, [">= 0"])
|
46
|
+
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
47
|
+
s.add_development_dependency(%q<fakeweb>, [">= 0"])
|
48
|
+
s.add_development_dependency(%q<guard-rspec>, [">= 0"])
|
49
|
+
s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
|
50
|
+
s.add_development_dependency(%q<simplecov>, [">= 0"])
|
51
|
+
s.add_development_dependency(%q<rspec>, [">= 0"])
|
52
|
+
else
|
53
|
+
s.add_dependency(%q<json>, [">= 0"])
|
54
|
+
s.add_dependency(%q<xml-simple>, [">= 0"])
|
55
|
+
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
56
|
+
s.add_dependency(%q<fakeweb>, [">= 0"])
|
57
|
+
s.add_dependency(%q<guard-rspec>, [">= 0"])
|
58
|
+
s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
|
59
|
+
s.add_dependency(%q<simplecov>, [">= 0"])
|
60
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
61
|
+
end
|
62
|
+
else
|
63
|
+
s.add_dependency(%q<json>, [">= 0"])
|
64
|
+
s.add_dependency(%q<xml-simple>, [">= 0"])
|
65
|
+
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
66
|
+
s.add_dependency(%q<fakeweb>, [">= 0"])
|
67
|
+
s.add_dependency(%q<guard-rspec>, [">= 0"])
|
68
|
+
s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
|
69
|
+
s.add_dependency(%q<simplecov>, [">= 0"])
|
70
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
data/lib/klout.rb
ADDED
data/lib/klout/api.rb
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
module Klout
|
2
|
+
class API
|
3
|
+
# Blank slate
|
4
|
+
instance_methods.each do |m|
|
5
|
+
undef_method m unless m.to_s =~ /^__|object_id|method_missing|respond_to?|to_s|inspect/
|
6
|
+
end
|
7
|
+
|
8
|
+
# Initialize
|
9
|
+
def initialize(api_key, config = {})
|
10
|
+
defaults = {
|
11
|
+
:format => 'json',
|
12
|
+
:secure => false
|
13
|
+
}
|
14
|
+
@config = defaults.merge(config).freeze
|
15
|
+
@api_key = api_key
|
16
|
+
protocol = @config[:secure] ? 'https' : 'http'
|
17
|
+
api_base = URI.parse("#{protocol}://api.klout.com/")
|
18
|
+
@klout_api = Net::HTTP.new(api_base.host, api_base.port)
|
19
|
+
end
|
20
|
+
|
21
|
+
# Class Methods
|
22
|
+
def call(api_method, usernames)
|
23
|
+
path = '/1'
|
24
|
+
path += '/users' if ['show', 'topics'].include?(api_method.to_s)
|
25
|
+
path += '/soi' if ['influenced_by', 'influencer_of'].include?(api_method.to_s)
|
26
|
+
path += "/#{api_method}.#{@config[:format]}"
|
27
|
+
path += "?key=#{@api_key}"
|
28
|
+
path += "&users=#{URI.escape(usernames.gsub(/ /,''))}"
|
29
|
+
url = Net::HTTP::Get.new(path)
|
30
|
+
response = @klout_api.request(url)
|
31
|
+
# TODO: Clean this up when Klout fixes their ambiguous 404 responses.
|
32
|
+
raise APIError.new(response.code, response.message) if response.code.to_i > 202
|
33
|
+
return nil if response.body == ''
|
34
|
+
@config[:format] == 'xml' ? XmlSimple.xml_in(response.body, {'ForceArray' => false}) : JSON.parse(response.body)
|
35
|
+
end
|
36
|
+
|
37
|
+
def method_missing(api_method, *args) # :nodoc:
|
38
|
+
call(api_method, *args)
|
39
|
+
# TODO: Need Klout to fix their ambiguous 404 responses.
|
40
|
+
#rescue Klout::APIError => error
|
41
|
+
#super if error.message == "<404> Not Found"
|
42
|
+
end
|
43
|
+
|
44
|
+
def respond_to?(api_method) # :nodoc:
|
45
|
+
call(api_method, 'twitter')
|
46
|
+
rescue Klout::APIError => error
|
47
|
+
error.message == "<404> Not Found" ? false : true
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
class APIError < StandardError
|
52
|
+
# Initialize
|
53
|
+
def initialize(code, message)
|
54
|
+
super "<#{code}> #{message}"
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Klout
|
4
|
+
describe API do
|
5
|
+
|
6
|
+
API_URL = "http://api.klout.com/1"
|
7
|
+
API_URL_SECURE = "http://api.klout.com:443/1"
|
8
|
+
|
9
|
+
it "requires an API key" do
|
10
|
+
expect {Klout::API.new}.should raise_error(ArgumentError)
|
11
|
+
end
|
12
|
+
|
13
|
+
it "also accepts config options" do
|
14
|
+
expect {Klout::API.new(@api_key, {:secure => true})}.should_not raise_error(ArgumentError)
|
15
|
+
end
|
16
|
+
|
17
|
+
it "requires username passed to methods" do
|
18
|
+
k = Klout::API.new(@apikey)
|
19
|
+
expect {k.klout}.should raise_error(ArgumentError)
|
20
|
+
end
|
21
|
+
|
22
|
+
it "can make a request to the API" do
|
23
|
+
FakeWeb.register_uri(:get, "#{API_URL}/klout.json?key=#{@api_key}&users=testuser", :body => @json_response)
|
24
|
+
k = Klout::API.new(@api_key)
|
25
|
+
k.klout('testuser')['status'].should eq(200)
|
26
|
+
end
|
27
|
+
|
28
|
+
it "can make a secure request to the API" do
|
29
|
+
FakeWeb.register_uri(:get, "#{API_URL_SECURE}/klout.json?key=#{@api_key}&users=testuser", :body => @json_response)
|
30
|
+
k = Klout::API.new(@api_key, {:secure => true})
|
31
|
+
k.klout('testuser')['users'].first['kscore'].should eq("30.01")
|
32
|
+
end
|
33
|
+
|
34
|
+
it "can return XML from the API" do
|
35
|
+
FakeWeb.register_uri(:get, "#{API_URL}/klout.xml?key=#{@api_key}&users=testuser", :body => @xml_response)
|
36
|
+
k = Klout::API.new(@api_key, {:format => 'xml'})
|
37
|
+
k.klout('testuser')['user'].first['kscore'].should eq("30.01")
|
38
|
+
end
|
39
|
+
|
40
|
+
it "injects the 'user' prefix for user requests" do
|
41
|
+
FakeWeb.register_uri(:get, "#{API_URL}/users/show.json?key=#{@api_key}&users=testuser", :body => @json_response)
|
42
|
+
k = Klout::API.new(@api_key)
|
43
|
+
k.show('testuser')['status'].should eq(200)
|
44
|
+
end
|
45
|
+
|
46
|
+
it "injects the 'soi' prefix for influence requests" do
|
47
|
+
FakeWeb.register_uri(:get, "#{API_URL}/soi/influenced_by.json?key=#{@api_key}&users=testuser", :body => @json_response)
|
48
|
+
k = Klout::API.new(@api_key)
|
49
|
+
k.influenced_by('testuser')['status'].should eq(200)
|
50
|
+
end
|
51
|
+
|
52
|
+
it "only responds to methods supported by the Klout API" do
|
53
|
+
FakeWeb.register_uri(:get, "#{API_URL}/bogus_method.json?key=#{@api_key}&users=twitter", :status => ["404", "Not Found"])
|
54
|
+
k = Klout::API.new(@api_key)
|
55
|
+
k.respond_to?("bogus_method").should eq(false)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'fakeweb'
|
2
|
+
require 'klout'
|
3
|
+
|
4
|
+
FakeWeb.allow_net_connect = false
|
5
|
+
|
6
|
+
RSpec.configure do |config|
|
7
|
+
config.before(:each) do
|
8
|
+
FakeWeb.clean_registry
|
9
|
+
@api_key = 'valid-api-key'
|
10
|
+
@json_response = File.read(File.expand_path('spec/klout/fixtures/klout.json'))
|
11
|
+
@xml_response = File.read(File.expand_path('spec/klout/fixtures/klout.xml'))
|
12
|
+
end
|
13
|
+
end
|
metadata
ADDED
@@ -0,0 +1,151 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: klout
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Brian Getting
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-02-02 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: json
|
16
|
+
requirement: &2165150660 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *2165150660
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: xml-simple
|
27
|
+
requirement: &2165149560 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *2165149560
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: bundler
|
38
|
+
requirement: &2165148720 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ~>
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 1.0.0
|
44
|
+
type: :development
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *2165148720
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: fakeweb
|
49
|
+
requirement: &2165147780 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
type: :development
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *2165147780
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: guard-rspec
|
60
|
+
requirement: &2165146760 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
66
|
+
type: :development
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *2165146760
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: jeweler
|
71
|
+
requirement: &2165145780 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ~>
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: 1.6.4
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: *2165145780
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: simplecov
|
82
|
+
requirement: &2165144920 !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
88
|
+
type: :development
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: *2165144920
|
91
|
+
- !ruby/object:Gem::Dependency
|
92
|
+
name: rspec
|
93
|
+
requirement: &2165128940 !ruby/object:Gem::Requirement
|
94
|
+
none: false
|
95
|
+
requirements:
|
96
|
+
- - ! '>='
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
99
|
+
type: :development
|
100
|
+
prerelease: false
|
101
|
+
version_requirements: *2165128940
|
102
|
+
description: Ruby gem for interacting with the Klout API.
|
103
|
+
email: brian@terra-firma-design.com
|
104
|
+
executables: []
|
105
|
+
extensions: []
|
106
|
+
extra_rdoc_files:
|
107
|
+
- README.rdoc
|
108
|
+
files:
|
109
|
+
- .rspec
|
110
|
+
- .travis.yml
|
111
|
+
- Gemfile
|
112
|
+
- Guardfile
|
113
|
+
- README.rdoc
|
114
|
+
- Rakefile
|
115
|
+
- VERSION
|
116
|
+
- klout.gemspec
|
117
|
+
- lib/klout.rb
|
118
|
+
- lib/klout/api.rb
|
119
|
+
- spec/klout/fixtures/klout.json
|
120
|
+
- spec/klout/fixtures/klout.xml
|
121
|
+
- spec/klout/klout_spec.rb
|
122
|
+
- spec/spec_helper.rb
|
123
|
+
homepage: http://github.com/terra-firma/klout
|
124
|
+
licenses:
|
125
|
+
- MIT
|
126
|
+
post_install_message:
|
127
|
+
rdoc_options: []
|
128
|
+
require_paths:
|
129
|
+
- lib
|
130
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
131
|
+
none: false
|
132
|
+
requirements:
|
133
|
+
- - ! '>='
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
version: '0'
|
136
|
+
segments:
|
137
|
+
- 0
|
138
|
+
hash: -135046269901848319
|
139
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
140
|
+
none: false
|
141
|
+
requirements:
|
142
|
+
- - ! '>='
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: '0'
|
145
|
+
requirements: []
|
146
|
+
rubyforge_project:
|
147
|
+
rubygems_version: 1.8.8
|
148
|
+
signing_key:
|
149
|
+
specification_version: 3
|
150
|
+
summary: Ruby gem for interacting with the Klout API.
|
151
|
+
test_files: []
|