trackablaze 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/README.markdown +32 -17
  2. data/trackers/twitter.yml +5 -3
  3. data/version.rb +1 -1
  4. metadata +2 -2
data/README.markdown CHANGED
@@ -94,27 +94,43 @@ are made of up of a **YAML config file** and a **ruby code file**.
94
94
 
95
95
  ### Sample tracker ruby file
96
96
 
97
- def get_metrics(configs)
98
- configs.collect {|c| get_metrics_single(c)}
99
- end
97
+ require 'twitter'
100
98
 
101
- private
99
+ module Trackablaze
100
+ class Twitter < Tracker
101
+ def get_metrics(tracker_items)
102
+ tracker_items.collect {|tracker_item| get_metrics_single(tracker_item)}
103
+ end
102
104
 
103
- def get_metrics_single(config)
104
- params, metrics_keys = config['params'], config['metrics']
105
- metrics = {}
106
-
107
- user = ::Twitter.user(params["handle"])
105
+ def get_metrics_single(tracker_item)
106
+ metrics = {}
108
107
 
109
- metrics_keys ||= Twitter.default_metrics
110
-
111
- metrics_keys.each do |metrics_key|
112
- metrics[metrics_key] = user[metrics_key]
108
+ if (tracker_item.params["handle"].nil? || tracker_item.params["handle"].empty?)
109
+ add_error(metrics, "No handle supplied", "handle")
110
+ return metrics
111
+ end
112
+
113
+ user = nil
114
+ begin
115
+ user = ::Twitter.user(tracker_item.params["handle"])
116
+ rescue
117
+ end
118
+
119
+ if (user.nil?)
120
+ add_error(metrics, "Invalid handle supplied", "handle")
121
+ return metrics
122
+ end
123
+
124
+ tracker_item.metrics.each do |metric|
125
+ metrics[metric] = user[metric]
126
+ end
127
+
128
+ metrics
129
+ end
113
130
  end
114
-
115
- metrics
116
131
  end
117
132
 
133
+
118
134
  A tracker must implement get_metrics() method. This method takes
119
135
  in an array of configurations. Your tracker may choose to query
120
136
  for each configuration one by one or use any available optimized
@@ -137,5 +153,4 @@ please see the wiki.
137
153
  Trackablaze and its recipes are distributed under the MIT License.
138
154
 
139
155
  [1]:http://railswizard.org/
140
- [2]:https://github.com/aflatune/trackablaze-gem/tree/master/trackers
141
- [3]:https://github.com/amolk/trackablaze.web
156
+ [2]:https://github.com/aflatune/trackablaze-gem/tree/master/trackers
data/trackers/twitter.yml CHANGED
@@ -3,12 +3,14 @@ title: 'Twitter'
3
3
  params:
4
4
  handle:
5
5
  name: 'Handle'
6
- description: 'Twitter handle, same as username'
6
+ description: 'Twitter handle, i.e. username'
7
7
  type: string
8
8
 
9
9
  metrics:
10
10
  followers_count:
11
- name: 'Followers count'
11
+ name: 'Followers'
12
12
  default: true
13
13
  friends_count:
14
- name: 'Friends count'
14
+ name: 'Following'
15
+ statuses_count:
16
+ name: 'Tweets'
data/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Trackablaze
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
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.1
5
+ version: 0.1.2
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-15 00:00:00 -07:00
13
+ date: 2011-06-17 00:00:00 -07:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency