trackablaze 0.1.5 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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