trackablaze 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/trackablaze/command.rb +1 -1
- data/lib/trackablaze/tracker.rb +10 -0
- data/lib/trackablaze/tracker_item.rb +5 -1
- data/trackers/klout.rb +39 -0
- data/trackers/klout.yml +43 -0
- data/version.rb +1 -1
- metadata +21 -8
data/lib/trackablaze/command.rb
CHANGED
@@ -20,7 +20,7 @@ module Trackablaze
|
|
20
20
|
|
21
21
|
tracker_items.each do |tracker_item|
|
22
22
|
puts "[ #{tracker_item.title} ]".center(75,'-')
|
23
|
-
puts "Key: #{tracker_item.
|
23
|
+
puts "Key: #{tracker_item.key2}"
|
24
24
|
puts "params: #{tracker_item.params}"
|
25
25
|
puts "results: #{results[tracker_item.key]}"
|
26
26
|
end
|
data/lib/trackablaze/tracker.rb
CHANGED
@@ -13,6 +13,16 @@ module Trackablaze
|
|
13
13
|
sb.push((config['metrics'] || default_metrics).flatten)
|
14
14
|
sb.flatten.join('_')
|
15
15
|
end
|
16
|
+
|
17
|
+
# A string that uniquely identifies this instance of the tracker, without the metrics list
|
18
|
+
# This is used in the csv output
|
19
|
+
def self.key2(config)
|
20
|
+
# By default we use all params and metrics
|
21
|
+
sb = []
|
22
|
+
sb.push(self.handle)
|
23
|
+
sb.push(config['params'].flatten) if config['params']
|
24
|
+
sb.flatten.join('_')
|
25
|
+
end
|
16
26
|
|
17
27
|
class << self
|
18
28
|
attr_accessor :trackers
|
data/trackers/klout.rb
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'klout'
|
2
|
+
|
3
|
+
module Trackablaze
|
4
|
+
class Klout < Tracker
|
5
|
+
def get_metrics(tracker_items)
|
6
|
+
@klout_client = Kloutbg.new("zxz2p64gv3caabbqmvzaub9p")
|
7
|
+
tracker_items.collect {|tracker_item| get_metrics_single(tracker_item)}
|
8
|
+
end
|
9
|
+
|
10
|
+
def get_metrics_single(tracker_item)
|
11
|
+
metrics = {}
|
12
|
+
|
13
|
+
if (tracker_item.params["username"].nil? || tracker_item.params["username"].empty?)
|
14
|
+
add_error(metrics, "No username supplied", "username")
|
15
|
+
return metrics
|
16
|
+
end
|
17
|
+
|
18
|
+
response = nil
|
19
|
+
begin
|
20
|
+
response = @klout_client.show(tracker_item.params["username"])
|
21
|
+
rescue
|
22
|
+
end
|
23
|
+
|
24
|
+
if (response.nil? || response['status'] == 404)
|
25
|
+
add_error(metrics, "Invalid username supplied", "username")
|
26
|
+
return metrics
|
27
|
+
end
|
28
|
+
|
29
|
+
s = response['users'][0]['score']
|
30
|
+
|
31
|
+
tracker_item.metrics.each do |metric|
|
32
|
+
metrics[metric] = s[metric]
|
33
|
+
end
|
34
|
+
|
35
|
+
metrics
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
data/trackers/klout.yml
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
title: 'Klout'
|
2
|
+
|
3
|
+
params:
|
4
|
+
username:
|
5
|
+
name: 'Username'
|
6
|
+
description: 'Klout username'
|
7
|
+
type: string
|
8
|
+
|
9
|
+
metrics:
|
10
|
+
kscore:
|
11
|
+
name: 'Score'
|
12
|
+
description: 'Klout score'
|
13
|
+
default: true
|
14
|
+
|
15
|
+
slope:
|
16
|
+
name: 'Slope'
|
17
|
+
description: 'How fast Klout score is changing'
|
18
|
+
|
19
|
+
kclass:
|
20
|
+
name: 'Class'
|
21
|
+
description: 'Klout class assigned to the user'
|
22
|
+
default: true
|
23
|
+
|
24
|
+
network_score:
|
25
|
+
name: 'Network score'
|
26
|
+
description: 'Network Influence is the influence level of your engaged audience (see http://corp.klout.com/kscore)'
|
27
|
+
|
28
|
+
amplification_score:
|
29
|
+
name: 'Amplification probability'
|
30
|
+
description: 'Amplification Probability is the likelihood that your content will be acted upon (see http://corp.klout.com/kscore)'
|
31
|
+
|
32
|
+
true_reach:
|
33
|
+
name: 'True reach'
|
34
|
+
description: 'True Reach is the size of your engaged audience (see http://corp.klout.com/kscore)'
|
35
|
+
|
36
|
+
delta_1day:
|
37
|
+
name: '1 day delta'
|
38
|
+
description: 'Change in Klout score in 1 day'
|
39
|
+
default: true
|
40
|
+
|
41
|
+
delta_5day:
|
42
|
+
name: '5 day delta'
|
43
|
+
description: 'Change in Klout score in 5 days'
|
data/version.rb
CHANGED
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: trackablaze
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.1.
|
5
|
+
version: 0.1.6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Amol Kelkar
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-06-
|
13
|
+
date: 2011-06-19 00:00:00 -07:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -69,38 +69,49 @@ dependencies:
|
|
69
69
|
type: :runtime
|
70
70
|
version_requirements: *id005
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
|
-
name:
|
72
|
+
name: kloutbg
|
73
73
|
prerelease: false
|
74
74
|
requirement: &id006 !ruby/object:Gem::Requirement
|
75
|
+
none: false
|
76
|
+
requirements:
|
77
|
+
- - ">="
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: "0"
|
80
|
+
type: :runtime
|
81
|
+
version_requirements: *id006
|
82
|
+
- !ruby/object:Gem::Dependency
|
83
|
+
name: rspec
|
84
|
+
prerelease: false
|
85
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
75
86
|
none: false
|
76
87
|
requirements:
|
77
88
|
- - ~>
|
78
89
|
- !ruby/object:Gem::Version
|
79
90
|
version: 2.5.0
|
80
91
|
type: :development
|
81
|
-
version_requirements: *
|
92
|
+
version_requirements: *id007
|
82
93
|
- !ruby/object:Gem::Dependency
|
83
94
|
name: mg
|
84
95
|
prerelease: false
|
85
|
-
requirement: &
|
96
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
86
97
|
none: false
|
87
98
|
requirements:
|
88
99
|
- - ">="
|
89
100
|
- !ruby/object:Gem::Version
|
90
101
|
version: "0"
|
91
102
|
type: :development
|
92
|
-
version_requirements: *
|
103
|
+
version_requirements: *id008
|
93
104
|
- !ruby/object:Gem::Dependency
|
94
105
|
name: rails
|
95
106
|
prerelease: false
|
96
|
-
requirement: &
|
107
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
97
108
|
none: false
|
98
109
|
requirements:
|
99
110
|
- - ">="
|
100
111
|
- !ruby/object:Gem::Version
|
101
112
|
version: 3.0.0
|
102
113
|
type: :development
|
103
|
-
version_requirements: *
|
114
|
+
version_requirements: *id009
|
104
115
|
description: Track metrics such as a Twitter account's number of followers, count of tweets, etc
|
105
116
|
email:
|
106
117
|
- amolk@aflatune.com
|
@@ -118,6 +129,8 @@ files:
|
|
118
129
|
- lib/trackablaze.rb
|
119
130
|
- trackers/facebook_page.rb
|
120
131
|
- trackers/facebook_page.yml
|
132
|
+
- trackers/klout.rb
|
133
|
+
- trackers/klout.yml
|
121
134
|
- trackers/pagerank.rb
|
122
135
|
- trackers/pagerank.yml
|
123
136
|
- trackers/twitter.rb
|