trackablaze 0.1.1 → 0.1.2

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.
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