trackablaze 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.key}"
23
+ puts "Key: #{tracker_item.key2}"
24
24
  puts "params: #{tracker_item.params}"
25
25
  puts "results: #{results[tracker_item.key]}"
26
26
  end
@@ -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
@@ -12,7 +12,11 @@ module Trackablaze
12
12
  def key()
13
13
  @key ||= tracker_class.key(config)
14
14
  end
15
-
15
+
16
+ def key2()
17
+ @key2 ||= tracker_class.key2(config)
18
+ end
19
+
16
20
  def title
17
21
  @tracker_class.title
18
22
  end
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
+
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Trackablaze
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.6"
3
3
  end
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
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-17 00:00:00 -07:00
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: rspec
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: *id006
92
+ version_requirements: *id007
82
93
  - !ruby/object:Gem::Dependency
83
94
  name: mg
84
95
  prerelease: false
85
- requirement: &id007 !ruby/object:Gem::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: *id007
103
+ version_requirements: *id008
93
104
  - !ruby/object:Gem::Dependency
94
105
  name: rails
95
106
  prerelease: false
96
- requirement: &id008 !ruby/object:Gem::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: *id008
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