fetcher-microdata-twitter 0.0.3 → 0.0.5

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.
data/Gemfile CHANGED
@@ -3,6 +3,9 @@ source 'https://rubygems.org'
3
3
  gemspec
4
4
 
5
5
  gem 'rake'
6
+ gem 'fetcher-microdata'
7
+ gem 'twitter'
8
+ gem 'symbolmatrix'
6
9
 
7
10
  group :cucumber do
8
11
  gem 'pry'
@@ -0,0 +1,7 @@
1
+ Given /^the retweet:$/ do |json_retweet|
2
+ @retweet = JSON.parse json_retweet
3
+ end
4
+
5
+ When /^I convert it into schema.org\/Review$/ do
6
+ @translated = Fetcher::Microdata::Review.new :twitter, @retweet, @viewer
7
+ end
@@ -12,7 +12,6 @@ end
12
12
 
13
13
  Then /^I should have:$/ do |json_schema|
14
14
  @schema = JSON.parse json_schema
15
- #binding.pry
16
15
  @translated.to.hash.should == @schema
17
16
  end
18
17
 
@@ -1,4 +1,5 @@
1
1
  $LOAD_PATH << File.expand_path('../../../lib', __FILE__)
2
2
  require 'fetcher-microdata-twitter'
3
+ require 'fetcher-microdata'
3
4
 
4
5
  require 'pry'
@@ -0,0 +1,330 @@
1
+ Feature: Translate ReTweet to schema.org/Review + schema.org/Article/Small + getfetcher.net/Item
2
+ In order to send a standarized-properties form of the tweet
3
+ As a developer
4
+ I want to be able to convert from Twitter API Tweet to
5
+ schema.org based vocabulary
6
+
7
+ Scenario: Converting a json retweet into a json schema
8
+ Given the retweet:
9
+ """
10
+ {
11
+ "id_str":"269556600040214528",
12
+ "geo":null,
13
+ "text":"RT @xaviervia: El mate me está produciendo dolor de panza pero no voy a dejar de tomar!",
14
+ "created_at":"Fri Nov 16 21:44:36 +0000 2012",
15
+ "in_reply_to_user_id_str":null,
16
+ "in_reply_to_screen_name":null,
17
+ "coordinates":null,
18
+ "retweeted":false,
19
+ "contributors":null,
20
+ "truncated":false,
21
+ "source":"web",
22
+ "entities":
23
+ {
24
+ "urls":[],
25
+ "user_mentions":[
26
+ {
27
+ "id_str":"173389269",
28
+ "indices":[3, 13],
29
+ "screen_name":"xaviervia",
30
+ "name":"Xavier Via",
31
+ "id":173389269
32
+ }
33
+ ],
34
+ "hashtags":[]
35
+ },
36
+ "in_reply_to_user_id":null,
37
+ "in_reply_to_status_id":null,
38
+ "retweeted_status":
39
+ {
40
+ "id_str":"269551666888601600",
41
+ "geo":null,
42
+ "text":"El mate me está produciendo dolor de panza pero no voy a dejar de tomar!",
43
+ "created_at":"Fri Nov 16 21:25:00 +0000 2012",
44
+ "in_reply_to_user_id_str":null,
45
+ "in_reply_to_screen_name":null,
46
+ "coordinates":null,
47
+ "retweeted":false,
48
+ "contributors":null,
49
+ "truncated":false,
50
+ "source":"web",
51
+ "entities":
52
+ {
53
+ "urls":[],
54
+ "user_mentions":[],
55
+ "hashtags":[]
56
+ },
57
+ "in_reply_to_user_id":null,
58
+ "in_reply_to_status_id":null,
59
+ "place":null,
60
+ "retweet_count":0,
61
+ "favorited":false,
62
+ "user":
63
+ {
64
+ "id_str":"173389269",
65
+ "created_at":"Sun Aug 01 09:52:47 +0000 2010",
66
+ "friends_count":30,
67
+ "default_profile":true,
68
+ "profile_sidebar_border_color":"C0DEED",
69
+ "url":"http://xaviervia.com.ar",
70
+ "statuses_count":136,
71
+ "profile_use_background_image":true,
72
+ "profile_background_image_url_https":"https://si0.twimg.com/images/themes/theme1/bg.png",
73
+ "profile_image_url":"http://a0.twimg.com/profile_images/1766866055/389182_10150390045754380_619554379_8049194_954086064_n_normal.jpg",
74
+ "description":"Web Developer specialized in Ruby.\r\n\r\nComputer Science enthusiast.",
75
+ "verified":false,
76
+ "geo_enabled":false,
77
+ "profile_text_color":"333333",
78
+ "location":"Buenos Aires, Argentina",
79
+ "default_profile_image":false,
80
+ "lang":"es",
81
+ "profile_background_image_url":"http://a0.twimg.com/images/themes/theme1/bg.png",
82
+ "favourites_count":4,
83
+ "profile_link_color":"0084B4",
84
+ "profile_image_url_https":"https://si0.twimg.com/profile_images/1766866055/389182_10150390045754380_619554379_8049194_954086064_n_normal.jpg",
85
+ "notifications":null,
86
+ "followers_count":17,
87
+ "protected":false,
88
+ "screen_name":"xaviervia",
89
+ "follow_request_sent":null,
90
+ "contributors_enabled":false,
91
+ "following":null,
92
+ "time_zone":"Buenos Aires",
93
+ "profile_background_color":"C0DEED",
94
+ "name":"Xavier Via",
95
+ "profile_background_tile":false,
96
+ "id":173389269,
97
+ "is_translator":false,
98
+ "listed_count":0,
99
+ "utc_offset":-10800,
100
+ "profile_sidebar_fill_color":"DDEEF6"
101
+ },
102
+ "id":269551666888601600,
103
+ "in_reply_to_status_id_str":null
104
+ },
105
+ "place":null,
106
+ "retweet_count":0,
107
+ "favorited":false,
108
+ "user":
109
+ {
110
+ "id_str":"308762265",
111
+ "created_at":"Tue May 31 23:36:05 +0000 2011",
112
+ "friends_count":72,
113
+ "default_profile":true,
114
+ "profile_sidebar_border_color":"C0DEED",
115
+ "url":null,
116
+ "statuses_count":131,
117
+ "profile_use_background_image":true,
118
+ "profile_background_image_url_https":"https://si0.twimg.com/images/themes/theme1/bg.png",
119
+ "profile_image_url":"http://a0.twimg.com/profile_images/2317655970/6o3qtl1efagg8gwqw9vy_normal.jpeg",
120
+ "description":"Ruby Developer",
121
+ "verified":false,
122
+ "geo_enabled":false,
123
+ "profile_text_color":"333333",
124
+ "location":"Buenos Aires",
125
+ "default_profile_image":false,
126
+ "lang":"fr",
127
+ "profile_background_image_url":"http://a0.twimg.com/images/themes/theme1/bg.png",
128
+ "favourites_count":0,
129
+ "profile_link_color":"0084B4",
130
+ "profile_image_url_https":"https://si0.twimg.com/profile_images/2317655970/6o3qtl1efagg8gwqw9vy_normal.jpeg",
131
+ "notifications":null,
132
+ "followers_count":18,
133
+ "protected":false,
134
+ "screen_name":"_Olivier_D",
135
+ "follow_request_sent":null,
136
+ "contributors_enabled":false,
137
+ "following":null,
138
+ "time_zone":"Buenos Aires",
139
+ "profile_background_color":"C0DEED",
140
+ "name":"Olivier",
141
+ "profile_background_tile":false,
142
+ "id":308762265,
143
+ "is_translator":false,
144
+ "listed_count":0,
145
+ "utc_offset":-10800,
146
+ "profile_sidebar_fill_color":"DDEEF6"
147
+ },
148
+ "id":269556600040214528,
149
+ "in_reply_to_status_id_str":null
150
+ }
151
+
152
+ """
153
+ And the viewer:
154
+ """
155
+ {
156
+ "created_at": "Sun Aug 01 09:52:47 +0000 2010",
157
+ "id": 173389269,
158
+ "name": "Xavier Via",
159
+ "description": "Web Developer specialized in Ruby.\r\n\r\nComputer Science enthusiast.",
160
+ "screen_name": "xaviervia"
161
+ }
162
+ """
163
+ When I convert it into schema.org/Review
164
+ Then I should have:
165
+ """
166
+ {
167
+ "type": [
168
+ "http://schema.org/Review"
169
+ ],
170
+ "properties": {
171
+ "additionalType": [
172
+ "http://getfetcher.net/Item"
173
+ ],
174
+ "Item#id": [
175
+ 269556600040214528
176
+ ],
177
+ "reviewBody": [
178
+ "RT @xaviervia: El mate me está produciendo dolor de panza pero no voy a dejar de tomar!"
179
+ ],
180
+ "author": [
181
+ {
182
+ "type": [
183
+ "http://schema.org/Person/User"
184
+ ],
185
+ "properties": {
186
+ "additionalType": [
187
+ "http://getfetcher.net/Item"
188
+ ],
189
+ "Item#id": [
190
+ 308762265
191
+ ],
192
+ "name": [
193
+ "Olivier"
194
+ ],
195
+ "User#dateRegistered": [
196
+ 1306884965
197
+ ],
198
+ "description": [
199
+ "Ruby Developer"
200
+ ],
201
+ "url": [
202
+ "https://twitter.com/_Olivier_D"
203
+ ]
204
+ }
205
+ }
206
+ ],
207
+ "Item#viewer": [
208
+ {
209
+ "type": [
210
+ "http://schema.org/Person/User"
211
+ ],
212
+ "properties": {
213
+ "additionalType": [
214
+ "http://getfetcher.net/Item"
215
+ ],
216
+ "Item#id": [
217
+ 173389269
218
+ ],
219
+ "name": [
220
+ "Xavier Via"
221
+ ],
222
+ "User#dateRegistered": [
223
+ 1280656367
224
+ ],
225
+ "description": [
226
+ "Web Developer specialized in Ruby.\r\n\r\nComputer Science enthusiast."
227
+ ],
228
+ "url": [
229
+ "https://twitter.com/xaviervia"
230
+ ]
231
+ }
232
+ }
233
+ ],
234
+ "dateCreated": [
235
+ 1353102276
236
+ ],
237
+ "provider": [
238
+ "twitter",
239
+ "web"
240
+ ],
241
+ "url": [
242
+ "https://twitter.com/_Olivier_D/status/269556600040214528"
243
+ ],
244
+ "itemReviewed": [
245
+
246
+ {
247
+ "type": [
248
+ "http://schema.org/Article/Small"
249
+ ],
250
+ "properties": {
251
+ "additionalType": [
252
+ "http://getfetcher.net/Item"
253
+ ],
254
+ "Item#id": [
255
+ 269551666888601600
256
+ ],
257
+ "articleBody": [
258
+ "El mate me est\u00e1 produciendo dolor de panza pero no voy a dejar de tomar!"
259
+ ],
260
+ "author": [
261
+ {
262
+ "type": [
263
+ "http://schema.org/Person/User"
264
+ ],
265
+ "properties": {
266
+ "additionalType": [
267
+ "http://getfetcher.net/Item"
268
+ ],
269
+ "Item#id": [
270
+ 173389269
271
+ ],
272
+ "name": [
273
+ "Xavier Via"
274
+ ],
275
+ "User#dateRegistered": [
276
+ "Sun Aug 01 09:52:47 +0000 2010"
277
+ ],
278
+ "description": [
279
+ "Web Developer specialized in Ruby.\r\n\r\nComputer Science enthusiast."
280
+ ],
281
+ "url": [
282
+ "https://twitter.com/xaviervia"
283
+ ]
284
+ }
285
+ }
286
+ ],
287
+ "Item#viewer": [
288
+ {
289
+ "type": [
290
+ "http://schema.org/Person/User"
291
+ ],
292
+ "properties": {
293
+ "additionalType": [
294
+ "http://getfetcher.net/Item"
295
+ ],
296
+ "Item#id": [
297
+ 173389269
298
+ ],
299
+ "name": [
300
+ "Xavier Via"
301
+ ],
302
+ "User#dateRegistered": [
303
+ 1280656367
304
+ ],
305
+ "description": [
306
+ "Web Developer specialized in Ruby.\r\n\r\nComputer Science enthusiast."
307
+ ],
308
+ "url": [
309
+ "https://twitter.com/xaviervia"
310
+ ]
311
+ }
312
+ }
313
+ ],
314
+ "dateCreated": [
315
+ "Fri Nov 16 21:25:00 +0000 2012"
316
+ ],
317
+ "provider": [
318
+ "twitter",
319
+ "web"
320
+ ],
321
+ "url": [
322
+ "https://twitter.com/xaviervia/status/269551666888601600"
323
+ ]
324
+ }
325
+ }
326
+
327
+ ]
328
+ }
329
+ }
330
+ """
@@ -1,8 +1,12 @@
1
1
  require 'fetcher-microdata'
2
2
  require 'singleton'
3
3
  require 'json'
4
+ require 'twitter'
5
+ require 'symbolmatrix'
6
+
4
7
 
5
8
  require 'fetcher/microdata/person_user/twitter/coercer'
6
9
  require 'fetcher/microdata/article_small/twitter/coercer'
10
+ require 'fetcher/microdata/review/twitter/coercer'
7
11
 
8
12
  require 'fetcher/microdata/twitter/service'
@@ -0,0 +1,23 @@
1
+ require 'pry'
2
+
3
+ module Fetcher
4
+ class Microdata
5
+ class Review
6
+ module Twitter
7
+ Coercer = proc { |retweet, viewer|
8
+ {
9
+ :id => retweet["id"],
10
+ :additionalType => "http://getfetcher.net/Item",
11
+ :articleBody => retweet["text"],
12
+ :author => PersonUser.new(:twitter, retweet["user"]),
13
+ :viewer => PersonUser.new(:twitter, viewer),
14
+ :dateCreated => Fetcher::Microdata::Twitter::Service.instance.created_at_to_timestamp(retweet["created_at"]),
15
+ :provider => ["twitter", retweet["source"]],
16
+ :url => "https://twitter.com/#{retweet["user"]["screen_name"]}/status/#{retweet["id"]}",
17
+ :original_tweet => ArticleSmall.new(:twitter, retweet["retweeted_status"], retweet["retweeted_status"]["user"])
18
+ }
19
+ }
20
+ end
21
+ end
22
+ end
23
+ end
@@ -1,7 +1,7 @@
1
1
  module Fetcher
2
2
  class Microdata
3
3
  module Twitter
4
- VERSION = '0.0.3'
4
+ VERSION = '0.0.5'
5
5
  end
6
6
  end
7
7
  end
@@ -0,0 +1,56 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'Fetcher::Microdata::Review::Twitter::Coercer' do
4
+ context 'the adapter receives a valid retweet and a valid viewer' do
5
+ before do
6
+ @retweet = JSON.parse File.read 'spec/retweet.json'
7
+ @original_tweet_retweeted = JSON.parse File.read 'spec/original_tweet_that_is_retweeted.json'
8
+ @viewer = JSON.parse File.read 'spec/viewer.json'
9
+ @adapter = Fetcher::Microdata::Review::Twitter::Coercer.call @retweet, @viewer
10
+ end
11
+
12
+ it 'should set #id with the value of "id"' do
13
+ @adapter[:id].should == @retweet["id"]
14
+ end
15
+
16
+ it 'should set #additionalType as the getfetcher/Item type' do
17
+ @adapter[:additionalType].should == "http://getfetcher.net/Item"
18
+ end
19
+
20
+ it 'should set #articleBody with the value of "text"' do
21
+ @adapter[:articleBody].should == @retweet["text"]
22
+ end
23
+
24
+ it 'should set #author with the Person from the value of "user" > "name"' do
25
+ @adapter[:author].attributes.should == Fetcher::Microdata::PersonUser.new(:twitter, @retweet["user"]).attributes
26
+ end
27
+
28
+ it 'should set #viewer with the Person from the value of "user" > "name"' do
29
+ @adapter[:viewer].attributes.should == Fetcher::Microdata::PersonUser.new(:twitter, @viewer).attributes
30
+ end
31
+
32
+ it 'should set #dateCreated with the timestamp obtained from "created_at"' do
33
+ @adapter[:dateCreated].should == 1353102276
34
+ end
35
+
36
+ it 'should set #provider as an array, coming Twitter first and then the "source"' do
37
+ @adapter[:provider].should == ["twitter", @retweet["source"]]
38
+ end
39
+
40
+ it 'should set #url compiling the basic url with the "id" and the "user" > "screen_name"' do
41
+ @adapter[:url].should == "https://twitter.com/#{@retweet["user"]["screen_name"]}/status/#{@retweet["id"]}"
42
+ end
43
+
44
+ it 'should set the review with the original tweet' do
45
+ original_tweet = Fetcher::Microdata::ArticleSmall.new :twitter, @original_tweet_retweeted, @viewer
46
+ @adapter[:original_tweet][:id].should == original_tweet[:id]
47
+ @adapter[:original_tweet][:additionalType].should == original_tweet[:additionalType]
48
+ @adapter[:original_tweet][:articleBody].should == original_tweet[:articleBody]
49
+ @adapter[:original_tweet][:author][:id].should == original_tweet[:author][:id]
50
+ @adapter[:original_tweet][:viewer][:id].should == original_tweet[:viewer][:id]
51
+ @adapter[:original_tweet][:dateCreated].should == original_tweet[:dateCreated]
52
+ @adapter[:original_tweet][:provider].should == original_tweet[:provider]
53
+ @adapter[:original_tweet][:url].should == original_tweet[:url]
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,65 @@
1
+ {
2
+ "created_at":"Fri Nov 16 21:25:00 +0000 2012",
3
+ "id":269551666888601600,
4
+ "id_str":"269551666888601600",
5
+ "text":"El mate me est\u00e1 produciendo dolor de panza pero no voy a dejar de tomar!",
6
+ "source":"web",
7
+ "truncated":false,
8
+ "in_reply_to_status_id":null,
9
+ "in_reply_to_status_id_str":null,
10
+ "in_reply_to_user_id":null,
11
+ "in_reply_to_user_id_str":null,
12
+ "in_reply_to_screen_name":null,
13
+ "user":{
14
+ "id":173389269,
15
+ "id_str":"173389269",
16
+ "name":"Xavier Via",
17
+ "screen_name":"xaviervia",
18
+ "location":"Buenos Aires, Argentina",
19
+ "url":"http:\/\/xaviervia.com.ar",
20
+ "description":"Web Developer specialized in Ruby.\r\n\r\nComputer Science enthusiast.",
21
+ "protected":false,
22
+ "followers_count":18,
23
+ "friends_count":31,
24
+ "listed_count":0,
25
+ "created_at":"Sun Aug 01 09:52:47 +0000 2010",
26
+ "favourites_count":4,
27
+ "utc_offset":-10800,
28
+ "time_zone":"Buenos Aires",
29
+ "geo_enabled":false,
30
+ "verified":false,
31
+ "statuses_count":141,
32
+ "lang":"es",
33
+ "contributors_enabled":false,
34
+ "is_translator":false,
35
+ "profile_background_color":"C0DEED",
36
+ "profile_background_image_url":"http:\/\/a0.twimg.com\/images\/themes\/theme1\/bg.png",
37
+ "profile_background_image_url_https":"https:\/\/si0.twimg.com\/images\/themes\/theme1\/bg.png",
38
+ "profile_background_tile":false,
39
+ "profile_image_url":"http:\/\/a0.twimg.com\/profile_images\/1766866055\/389182_10150390045754380_619554379_8049194_954086064_n_normal.jpg",
40
+ "profile_image_url_https":"https:\/\/si0.twimg.com\/profile_images\/1766866055\/389182_10150390045754380_619554379_8049194_954086064_n_normal.jpg",
41
+ "profile_link_color":"0084B4",
42
+ "profile_sidebar_border_color":"C0DEED",
43
+ "profile_sidebar_fill_color":"DDEEF6",
44
+ "profile_text_color":"333333",
45
+ "profile_use_background_image":true,
46
+ "default_profile":true,
47
+ "default_profile_image":false,
48
+ "following":null,
49
+ "follow_request_sent":null,
50
+ "notifications":null
51
+ },
52
+ "geo":null,
53
+ "coordinates":null,
54
+ "place":null,
55
+ "contributors":null,
56
+ "retweet_count":1,
57
+ "entities":
58
+ {
59
+ "hashtags":[],
60
+ "urls":[],
61
+ "user_mentions":[]
62
+ },
63
+ "favorited":false,
64
+ "retweeted":false
65
+ }
data/spec/retweet.json ADDED
@@ -0,0 +1,141 @@
1
+ {
2
+ "id_str":"269556600040214528",
3
+ "geo":null,
4
+ "text":"RT @xaviervia: El mate me está produciendo dolor de panza pero no voy a dejar de tomar!",
5
+ "created_at":"Fri Nov 16 21:44:36 +0000 2012",
6
+ "in_reply_to_user_id_str":null,
7
+ "in_reply_to_screen_name":null,
8
+ "coordinates":null,
9
+ "retweeted":false,
10
+ "contributors":null,
11
+ "truncated":false,
12
+ "source":"web",
13
+ "entities":
14
+ {
15
+ "urls":[],
16
+ "user_mentions":[
17
+ {
18
+ "id_str":"173389269",
19
+ "indices":[3, 13],
20
+ "screen_name":"xaviervia",
21
+ "name":"Xavier Via",
22
+ "id":173389269
23
+ }
24
+ ],
25
+ "hashtags":[]
26
+ },
27
+ "in_reply_to_user_id":null,
28
+ "in_reply_to_status_id":null,
29
+ "retweeted_status":
30
+ {
31
+ "id_str":"269551666888601600",
32
+ "geo":null,
33
+ "text":"El mate me está produciendo dolor de panza pero no voy a dejar de tomar!",
34
+ "created_at":"Fri Nov 16 21:25:00 +0000 2012",
35
+ "in_reply_to_user_id_str":null,
36
+ "in_reply_to_screen_name":null,
37
+ "coordinates":null,
38
+ "retweeted":false,
39
+ "contributors":null,
40
+ "truncated":false,
41
+ "source":"web",
42
+ "entities":
43
+ {
44
+ "urls":[],
45
+ "user_mentions":[],
46
+ "hashtags":[]
47
+ },
48
+ "in_reply_to_user_id":null,
49
+ "in_reply_to_status_id":null,
50
+ "place":null,
51
+ "retweet_count":0,
52
+ "favorited":false,
53
+ "user":
54
+ {
55
+ "id_str":"173389269",
56
+ "created_at":"Sun Aug 01 09:52:47 +0000 2010",
57
+ "friends_count":30,
58
+ "default_profile":true,
59
+ "profile_sidebar_border_color":"C0DEED",
60
+ "url":"http://xaviervia.com.ar",
61
+ "statuses_count":136,
62
+ "profile_use_background_image":true,
63
+ "profile_background_image_url_https":"https://si0.twimg.com/images/themes/theme1/bg.png",
64
+ "profile_image_url":"http://a0.twimg.com/profile_images/1766866055/389182_10150390045754380_619554379_8049194_954086064_n_normal.jpg",
65
+ "description":"Web Developer specialized in Ruby.\r\n\r\nComputer Science enthusiast.",
66
+ "verified":false,
67
+ "geo_enabled":false,
68
+ "profile_text_color":"333333",
69
+ "location":"Buenos Aires, Argentina",
70
+ "default_profile_image":false,
71
+ "lang":"es",
72
+ "profile_background_image_url":"http://a0.twimg.com/images/themes/theme1/bg.png",
73
+ "favourites_count":4,
74
+ "profile_link_color":"0084B4",
75
+ "profile_image_url_https":"https://si0.twimg.com/profile_images/1766866055/389182_10150390045754380_619554379_8049194_954086064_n_normal.jpg",
76
+ "notifications":null,
77
+ "followers_count":17,
78
+ "protected":false,
79
+ "screen_name":"xaviervia",
80
+ "follow_request_sent":null,
81
+ "contributors_enabled":false,
82
+ "following":null,
83
+ "time_zone":"Buenos Aires",
84
+ "profile_background_color":"C0DEED",
85
+ "name":"Xavier Via",
86
+ "profile_background_tile":false,
87
+ "id":173389269,
88
+ "is_translator":false,
89
+ "listed_count":0,
90
+ "utc_offset":-10800,
91
+ "profile_sidebar_fill_color":"DDEEF6"
92
+ },
93
+ "id":269551666888601600,
94
+ "in_reply_to_status_id_str":null
95
+ },
96
+ "place":null,
97
+ "retweet_count":0,
98
+ "favorited":false,
99
+ "user":
100
+ {
101
+ "id_str":"308762265",
102
+ "created_at":"Tue May 31 23:36:05 +0000 2011",
103
+ "friends_count":72,
104
+ "default_profile":true,
105
+ "profile_sidebar_border_color":"C0DEED",
106
+ "url":null,
107
+ "statuses_count":131,
108
+ "profile_use_background_image":true,
109
+ "profile_background_image_url_https":"https://si0.twimg.com/images/themes/theme1/bg.png",
110
+ "profile_image_url":"http://a0.twimg.com/profile_images/2317655970/6o3qtl1efagg8gwqw9vy_normal.jpeg",
111
+ "description":"Ruby Developer",
112
+ "verified":false,
113
+ "geo_enabled":false,
114
+ "profile_text_color":"333333",
115
+ "location":"Buenos Aires",
116
+ "default_profile_image":false,
117
+ "lang":"fr",
118
+ "profile_background_image_url":"http://a0.twimg.com/images/themes/theme1/bg.png",
119
+ "favourites_count":0,
120
+ "profile_link_color":"0084B4",
121
+ "profile_image_url_https":"https://si0.twimg.com/profile_images/2317655970/6o3qtl1efagg8gwqw9vy_normal.jpeg",
122
+ "notifications":null,
123
+ "followers_count":18,
124
+ "protected":false,
125
+ "screen_name":"_Olivier_D",
126
+ "follow_request_sent":null,
127
+ "contributors_enabled":false,
128
+ "following":null,
129
+ "time_zone":"Buenos Aires",
130
+ "profile_background_color":"C0DEED",
131
+ "name":"Olivier",
132
+ "profile_background_tile":false,
133
+ "id":308762265,
134
+ "is_translator":false,
135
+ "listed_count":0,
136
+ "utc_offset":-10800,
137
+ "profile_sidebar_fill_color":"DDEEF6"
138
+ },
139
+ "id":269556600040214528,
140
+ "in_reply_to_status_id_str":null
141
+ }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fetcher-microdata-twitter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-09 00:00:00.000000000 Z
12
+ date: 2012-11-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: discoverer
@@ -89,19 +89,25 @@ files:
89
89
  - LICENSE
90
90
  - README.md
91
91
  - Rakefile
92
+ - features/stepdefs/translate_retweet_to_schema.rb
92
93
  - features/stepdefs/translate_tweet_to_schema.rb
93
94
  - features/support/env.rb
95
+ - features/translate_retweet_to_schema.feature
94
96
  - features/translate_tweet_to_schema.feature
95
97
  - features/translate_user_to_schema.feature
96
98
  - fetcher-microdata-twitter.gemspec
97
99
  - lib/fetcher-microdata-twitter.rb
98
100
  - lib/fetcher/microdata/article_small/twitter/coercer.rb
99
101
  - lib/fetcher/microdata/person_user/twitter/coercer.rb
102
+ - lib/fetcher/microdata/review/twitter/coercer.rb
100
103
  - lib/fetcher/microdata/twitter/service.rb
101
104
  - lib/fetcher/microdata/twitter/version.rb
102
105
  - spec/fetcher/microdata/article_small/twitter/coercer_spec.rb
103
106
  - spec/fetcher/microdata/person_user/twitter/coercer_spec.rb
107
+ - spec/fetcher/microdata/review/twitter/coercer_spec.rb
104
108
  - spec/fetcher/microdata/twitter/service_spec.rb
109
+ - spec/original_tweet_that_is_retweeted.json
110
+ - spec/retweet.json
105
111
  - spec/spec_helper.rb
106
112
  - spec/tweet.json
107
113
  - spec/user.json
@@ -119,18 +125,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
119
125
  - - ! '>='
120
126
  - !ruby/object:Gem::Version
121
127
  version: '0'
122
- segments:
123
- - 0
124
- hash: -956730701
125
128
  required_rubygems_version: !ruby/object:Gem::Requirement
126
129
  none: false
127
130
  requirements:
128
131
  - - ! '>='
129
132
  - !ruby/object:Gem::Version
130
133
  version: '0'
131
- segments:
132
- - 0
133
- hash: -956730701
134
134
  requirements: []
135
135
  rubyforge_project:
136
136
  rubygems_version: 1.8.24
@@ -138,13 +138,18 @@ signing_key:
138
138
  specification_version: 3
139
139
  summary: Fetcher Microdata adapter for Twitter
140
140
  test_files:
141
+ - features/stepdefs/translate_retweet_to_schema.rb
141
142
  - features/stepdefs/translate_tweet_to_schema.rb
142
143
  - features/support/env.rb
144
+ - features/translate_retweet_to_schema.feature
143
145
  - features/translate_tweet_to_schema.feature
144
146
  - features/translate_user_to_schema.feature
145
147
  - spec/fetcher/microdata/article_small/twitter/coercer_spec.rb
146
148
  - spec/fetcher/microdata/person_user/twitter/coercer_spec.rb
149
+ - spec/fetcher/microdata/review/twitter/coercer_spec.rb
147
150
  - spec/fetcher/microdata/twitter/service_spec.rb
151
+ - spec/original_tweet_that_is_retweeted.json
152
+ - spec/retweet.json
148
153
  - spec/spec_helper.rb
149
154
  - spec/tweet.json
150
155
  - spec/user.json