ayadn 2.1 → 3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -1
- data/.travis.yml +1 -2
- data/CHANGELOG.md +11 -0
- data/README.md +7 -9
- data/ayadn.gemspec +1 -2
- data/doc/02-install.md +11 -1
- data/doc/18-contact.md +0 -2
- data/lib/ayadn.rb +1 -1
- data/lib/ayadn/action.rb +13 -14
- data/lib/ayadn/annotations.rb +1 -1
- data/lib/ayadn/api.rb +8 -3
- data/lib/ayadn/app.rb +23 -11
- data/lib/ayadn/authorize.rb +47 -27
- data/lib/ayadn/cnx.rb +20 -3
- data/lib/ayadn/descriptions.rb +0 -12
- data/lib/ayadn/diagnostics.rb +471 -0
- data/lib/ayadn/endpoints.rb +47 -46
- data/lib/ayadn/extend.rb +20 -0
- data/lib/ayadn/fileops.rb +3 -3
- data/lib/ayadn/ids.rb +17 -0
- data/lib/ayadn/nicerank.rb +2 -0
- data/lib/ayadn/nowplaying.rb +12 -5
- data/lib/ayadn/post.rb +2 -0
- data/lib/ayadn/set.rb +78 -3
- data/lib/ayadn/settings.rb +20 -3
- data/lib/ayadn/status.rb +114 -62
- data/lib/ayadn/stream.rb +2 -0
- data/lib/ayadn/switch.rb +18 -11
- data/lib/ayadn/tvshow.rb +7 -3
- data/lib/ayadn/version.rb +1 -1
- data/lib/ayadn/view.rb +131 -82
- data/lib/ayadn/workers.rb +10 -11
- data/spec/mock/@ericd.json +4 -4
- data/spec/mock/ayadn.sqlite +0 -0
- data/spec/mock/files.json +2 -2
- data/spec/mock/fwr_@ayadn.json +4 -4
- data/spec/mock/int.json +13 -13
- data/spec/mock/mentions.json +4 -4
- data/spec/mock/nicerank.log +1 -1
- data/spec/mock/posted.json +1 -1
- data/spec/mock/regex.json +2 -2
- data/spec/unit/annotations_spec.rb +8 -8
- data/spec/unit/post_spec.rb +3 -3
- metadata +5 -20
- data/Guardfile +0 -26
- data/lib/ayadn/migration.rb +0 -431
data/lib/ayadn/workers.rb
CHANGED
@@ -5,7 +5,6 @@ module Ayadn
|
|
5
5
|
attr_reader :thor
|
6
6
|
|
7
7
|
def initialize
|
8
|
-
@thor = Thor::Shell::Color.new
|
9
8
|
@status = Status.new
|
10
9
|
end
|
11
10
|
|
@@ -344,41 +343,41 @@ module Ayadn
|
|
344
343
|
bucket = []
|
345
344
|
data = [data] unless data.is_a?(Array)
|
346
345
|
if options[:channels]
|
347
|
-
@
|
348
|
-
@
|
346
|
+
@status.say_yellow :downloading, "list of channels and their users credentials"
|
347
|
+
@status.say_info "it could take a while if there are many results and users"
|
349
348
|
else
|
350
|
-
@
|
351
|
-
@
|
352
|
-
@
|
349
|
+
@status.say_yellow :downloading, "the channels and their users attributes (owners, writers, editors and readers)"
|
350
|
+
@status.say_info "users are recorded in a database for later filtering and analyzing"
|
351
|
+
@status.say_info "it could take a while if there are many results"
|
353
352
|
end
|
354
353
|
chan = Struct.new(:id, :num_messages, :subscribers, :type, :owner, :annotations, :readers, :editors, :writers, :you_subscribed, :unread, :recent_message_id, :recent_message)
|
355
354
|
no_user = {}
|
356
355
|
@api = API.new
|
357
356
|
data.each do |ch|
|
358
357
|
unless ch['writers']['user_ids'].empty?
|
359
|
-
@
|
358
|
+
@status.say_cyan :parsing, "channel #{ch['id']}"
|
360
359
|
usernames = []
|
361
360
|
ch['writers']['user_ids'].each do |id|
|
362
361
|
next if no_user[id]
|
363
362
|
db = Databases.find_user_by_id(id)
|
364
363
|
if db.nil?
|
365
|
-
@
|
364
|
+
@status.say_yellow :downloading, "user #{id}"
|
366
365
|
resp = @api.get_user(id)
|
367
366
|
|
368
367
|
if resp['meta']['code'] != 200
|
369
|
-
@
|
368
|
+
@status.say_error "can't get user #{id}'s data, skipping"
|
370
369
|
no_user[id] = true
|
371
370
|
next
|
372
371
|
end
|
373
372
|
|
374
373
|
the_username = resp['data']['username']
|
375
|
-
@
|
374
|
+
@status.say_yellow :recording, "@#{the_username}"
|
376
375
|
|
377
376
|
usernames << "@" + the_username
|
378
377
|
Databases.add_to_users_db(id, the_username, resp['data']['name'])
|
379
378
|
else
|
380
379
|
the_username = "@#{db}"
|
381
|
-
@
|
380
|
+
@status.say_blue :match, "#{the_username} is already in the database"
|
382
381
|
|
383
382
|
usernames << the_username
|
384
383
|
end
|
data/spec/mock/@ericd.json
CHANGED
@@ -101,8 +101,8 @@
|
|
101
101
|
"height": 1079
|
102
102
|
},
|
103
103
|
"description": {
|
104
|
-
"text": "Sound engineer (rec, edit, mix) by day, coder by night. \r\nBlogs: http://aya.io \r\nCode: http://github.com/ericdke\r\n@Ayadn - App.net command-line client.
|
105
|
-
"html": "<span itemscope=\"https://app.net/schemas/Post\">Sound engineer (rec, edit, mix) by day, coder by night. <br>Blogs: <a href=\"http://aya.io\">http://aya.io</a> <br>Code: <a href=\"http://github.com/ericdke\">http://github.com/ericdke</a> <br><span data-mention-id=\"188367\" data-mention-name=\"ayadn\" itemprop=\"mention\">@Ayadn</span> - <a href=\"http://App.net\">App.net</a> command-line client. <a href=\"
|
104
|
+
"text": "Sound engineer (rec, edit, mix) by day, coder by night. \r\nBlogs: http://aya.io \r\nCode: http://github.com/ericdke\r\n@Ayadn - App.net command-line client. https://github.com/ericdke/na",
|
105
|
+
"html": "<span itemscope=\"https://app.net/schemas/Post\">Sound engineer (rec, edit, mix) by day, coder by night. <br>Blogs: <a href=\"http://aya.io\">http://aya.io</a> <br>Code: <a href=\"http://github.com/ericdke\">http://github.com/ericdke</a> <br><span data-mention-id=\"188367\" data-mention-name=\"ayadn\" itemprop=\"mention\">@Ayadn</span> - <a href=\"http://App.net\">App.net</a> command-line client. <a href=\"https://github.com/ericdke/na\">https://github.com/ericdke/na</a></span>",
|
106
106
|
"entities": {
|
107
107
|
"mentions": [
|
108
108
|
{
|
@@ -135,8 +135,8 @@
|
|
135
135
|
"len": 7
|
136
136
|
},
|
137
137
|
{
|
138
|
-
"url": "
|
139
|
-
"text": "
|
138
|
+
"url": "https://github.com/ericdke/na",
|
139
|
+
"text": "https://github.com/ericdke/na",
|
140
140
|
"pos": 152,
|
141
141
|
"len": 20
|
142
142
|
}
|
data/spec/mock/ayadn.sqlite
CHANGED
Binary file
|
data/spec/mock/files.json
CHANGED
@@ -32,7 +32,7 @@
|
|
32
32
|
"url_permanent": "https://files.app.net/1/1666772/ayHe_2ubbNI6vVW3tu_yIpt-NE21rrc3J0-g_lMRWZDdXuK-bD2mhqXU6ElNuMy4NVFEMKtyhwELrkqM3Izecv6XMfCMWOc1UnTo_JxC8UWFIKBOuLVNAX7oia1Q3D-YYMMZ-X_Sr_D-gMCrnYNHFipDwl8_0daeqPFaJ96vH55VxBRJdbVXvEmqAT7VeCTSJ",
|
33
33
|
"total_size": 244067,
|
34
34
|
"source": {
|
35
|
-
"link": "
|
35
|
+
"link": "https://github.com/ericdke/na",
|
36
36
|
"name": "Ayadn",
|
37
37
|
"client_id": "hFsCGArAjgJkYBHTHbZnUvzTmL4vaLHL"
|
38
38
|
},
|
@@ -152,7 +152,7 @@
|
|
152
152
|
"url_permanent": "https://files.app.net/1/1666771/aqZzo21CFvmCfY6APcKkeieE4wvId3C7KgQ7FBHfXzD0UlLkTrgBk1p_VG7uM0dwHMwFG_40i00boeSUXZFCWBFZ8brQJOfx0YWh-p1HqM9VwP2zhLRtMU9HjIEsf0niFtw86RuyRBUFD5vqvRN7UuOE3MuuyP1uv834hq1i-Eb9cOm0V8rw3wGmcWcL_tN1u",
|
153
153
|
"total_size": 180724,
|
154
154
|
"source": {
|
155
|
-
"link": "
|
155
|
+
"link": "https://github.com/ericdke/na",
|
156
156
|
"name": "Ayadn",
|
157
157
|
"client_id": "hFsCGArAjgJkYBHTHbZnUvzTmL4vaLHL"
|
158
158
|
},
|
data/spec/mock/fwr_@ayadn.json
CHANGED
@@ -2887,8 +2887,8 @@
|
|
2887
2887
|
"height": 1079
|
2888
2888
|
},
|
2889
2889
|
"description": {
|
2890
|
-
"text": "Sound engineer by day, coder by night.\n \nBlogs: http://aya.io\n\nCode: http://github.com/ericdke\n\nAyadn:
|
2891
|
-
"html": "<span itemscope=\"https://app.net/schemas/Post\">Sound engineer by day, coder by night.<br> <br>Blogs: <a href=\"http://aya.io\">http://aya.io</a><br><br>Code: <a href=\"http://github.com/ericdke\">http://github.com/ericdke</a><br><br>Ayadn: <a href=\"
|
2890
|
+
"text": "Sound engineer by day, coder by night.\n \nBlogs: http://aya.io\n\nCode: http://github.com/ericdke\n\nAyadn: https://github.com/ericdke/na\n\nADNPing: https://directory.app.net/app/366/adnping/\n \n#devADN 🔨 #coffee #tea #space #art #nerd #ruby #swift #music #movies #stuff",
|
2891
|
+
"html": "<span itemscope=\"https://app.net/schemas/Post\">Sound engineer by day, coder by night.<br> <br>Blogs: <a href=\"http://aya.io\">http://aya.io</a><br><br>Code: <a href=\"http://github.com/ericdke\">http://github.com/ericdke</a><br><br>Ayadn: <a href=\"https://github.com/ericdke/na\">https://github.com/ericdke/na</a><br><br>ADNPing: <a href=\"https://directory.app.net/app/366/adnping/\">https://directory.app.net/app/366/adnping/</a><br> <br><span data-hashtag-name=\"devadn\" itemprop=\"hashtag\">#devADN</span> 🔨 <span data-hashtag-name=\"coffee\" itemprop=\"hashtag\">#coffee</span> <span data-hashtag-name=\"tea\" itemprop=\"hashtag\">#tea</span> <span data-hashtag-name=\"space\" itemprop=\"hashtag\">#space</span> <span data-hashtag-name=\"art\" itemprop=\"hashtag\">#art</span> <span data-hashtag-name=\"nerd\" itemprop=\"hashtag\">#nerd</span> <span data-hashtag-name=\"ruby\" itemprop=\"hashtag\">#ruby</span> <span data-hashtag-name=\"swift\" itemprop=\"hashtag\">#swift</span> <span data-hashtag-name=\"music\" itemprop=\"hashtag\">#music</span> <span data-hashtag-name=\"movies\" itemprop=\"hashtag\">#movies</span> <span data-hashtag-name=\"stuff\" itemprop=\"hashtag\">#stuff</span></span>",
|
2892
2892
|
"entities": {
|
2893
2893
|
"mentions": [
|
2894
2894
|
|
@@ -2964,8 +2964,8 @@
|
|
2964
2964
|
"len": 25
|
2965
2965
|
},
|
2966
2966
|
{
|
2967
|
-
"url": "
|
2968
|
-
"text": "
|
2967
|
+
"url": "https://github.com/ericdke/na",
|
2968
|
+
"text": "https://github.com/ericdke/na",
|
2969
2969
|
"pos": 103,
|
2970
2970
|
"len": 20
|
2971
2971
|
},
|
data/spec/mock/int.json
CHANGED
@@ -65,8 +65,8 @@
|
|
65
65
|
"height": 256
|
66
66
|
},
|
67
67
|
"description": {
|
68
|
-
"text": "Ayadn is an App.net command-line client, written in Ruby.\r\n#Ayadn is open source (MIT license).\r\nIt's a Rubygem: `gem install ayadn`\r\nRepo: https://github.com/ericdke/na\r\nDocs:
|
69
|
-
"html": "<span itemscope=\"https://app.net/schemas/Post\">Ayadn is an <a href=\"http://App.net\">App.net</a> command-line client, written in Ruby. <br><span data-hashtag-name=\"ayadn\" itemprop=\"hashtag\">#Ayadn</span> is open source (MIT license). <br>It's a Rubygem: `gem install ayadn` <br>Repo: <a href=\"https://github.com/ericdke/na\">https://github.com/ericdke/na</a> <br>Docs: <a href=\"
|
68
|
+
"text": "Ayadn is an App.net command-line client, written in Ruby.\r\n#Ayadn is open source (MIT license).\r\nIt's a Rubygem: `gem install ayadn`\r\nRepo: https://github.com/ericdke/na\r\nDocs: https://github.com/ericdke/na\r\nMade by @ericd",
|
69
|
+
"html": "<span itemscope=\"https://app.net/schemas/Post\">Ayadn is an <a href=\"http://App.net\">App.net</a> command-line client, written in Ruby. <br><span data-hashtag-name=\"ayadn\" itemprop=\"hashtag\">#Ayadn</span> is open source (MIT license). <br>It's a Rubygem: `gem install ayadn` <br>Repo: <a href=\"https://github.com/ericdke/na\">https://github.com/ericdke/na</a> <br>Docs: <a href=\"https://github.com/ericdke/na\">https://github.com/ericdke/na</a> <br>Made by <span data-mention-id=\"69904\" data-mention-name=\"ericd\" itemprop=\"mention\">@ericd</span></span>",
|
70
70
|
"entities": {
|
71
71
|
"mentions": [
|
72
72
|
{
|
@@ -97,8 +97,8 @@
|
|
97
97
|
"len": 29
|
98
98
|
},
|
99
99
|
{
|
100
|
-
"url": "
|
101
|
-
"text": "
|
100
|
+
"url": "https://github.com/ericdke/na",
|
101
|
+
"text": "https://github.com/ericdke/na",
|
102
102
|
"pos": 177,
|
103
103
|
"len": 24
|
104
104
|
}
|
@@ -145,7 +145,7 @@
|
|
145
145
|
"num_stars": 0,
|
146
146
|
"num_replies": 2,
|
147
147
|
"source": {
|
148
|
-
"link": "
|
148
|
+
"link": "https://github.com/ericdke/na",
|
149
149
|
"name": "Ayadn",
|
150
150
|
"client_id": "hFsCGArAjgJkYBHTHbZnUvzTmL4vaLHL"
|
151
151
|
},
|
@@ -225,8 +225,8 @@
|
|
225
225
|
"height": 256
|
226
226
|
},
|
227
227
|
"description": {
|
228
|
-
"text": "Ayadn is an App.net command-line client, written in Ruby.\r\n#Ayadn is open source (MIT license).\r\nIt's a Rubygem: `gem install ayadn`\r\nRepo: https://github.com/ericdke/na\r\nDocs:
|
229
|
-
"html": "<span itemscope=\"https://app.net/schemas/Post\">Ayadn is an <a href=\"http://App.net\">App.net</a> command-line client, written in Ruby. <br><span data-hashtag-name=\"ayadn\" itemprop=\"hashtag\">#Ayadn</span> is open source (MIT license). <br>It's a Rubygem: `gem install ayadn` <br>Repo: <a href=\"https://github.com/ericdke/na\">https://github.com/ericdke/na</a> <br>Docs: <a href=\"
|
228
|
+
"text": "Ayadn is an App.net command-line client, written in Ruby.\r\n#Ayadn is open source (MIT license).\r\nIt's a Rubygem: `gem install ayadn`\r\nRepo: https://github.com/ericdke/na\r\nDocs: https://github.com/ericdke/na\r\nMade by @ericd",
|
229
|
+
"html": "<span itemscope=\"https://app.net/schemas/Post\">Ayadn is an <a href=\"http://App.net\">App.net</a> command-line client, written in Ruby. <br><span data-hashtag-name=\"ayadn\" itemprop=\"hashtag\">#Ayadn</span> is open source (MIT license). <br>It's a Rubygem: `gem install ayadn` <br>Repo: <a href=\"https://github.com/ericdke/na\">https://github.com/ericdke/na</a> <br>Docs: <a href=\"https://github.com/ericdke/na\">https://github.com/ericdke/na</a> <br>Made by <span data-mention-id=\"69904\" data-mention-name=\"ericd\" itemprop=\"mention\">@ericd</span></span>",
|
230
230
|
"entities": {
|
231
231
|
"mentions": [
|
232
232
|
{
|
@@ -257,8 +257,8 @@
|
|
257
257
|
"len": 29
|
258
258
|
},
|
259
259
|
{
|
260
|
-
"url": "
|
261
|
-
"text": "
|
260
|
+
"url": "https://github.com/ericdke/na",
|
261
|
+
"text": "https://github.com/ericdke/na",
|
262
262
|
"pos": 177,
|
263
263
|
"len": 24
|
264
264
|
}
|
@@ -609,8 +609,8 @@
|
|
609
609
|
"height": 1079
|
610
610
|
},
|
611
611
|
"description": {
|
612
|
-
"text": "Sound engineer by day (rec, edit, mix), coder by night. \n\r\nBlogs: http://aya.io \r\nCode: http://github.com/ericdke\r\n@ayadn ADN command-line client.
|
613
|
-
"html": "<span itemscope=\"https://app.net/schemas/Post\">Sound engineer by day (rec, edit, mix), coder by night. <br> <br>Blogs: <a href=\"http://aya.io\">http://aya.io</a> <br>Code: <a href=\"http://github.com/ericdke\">http://github.com/ericdke</a> <br><span data-mention-id=\"188367\" data-mention-name=\"ayadn\" itemprop=\"mention\">@ayadn</span> ADN command-line client. <a href=\"
|
612
|
+
"text": "Sound engineer by day (rec, edit, mix), coder by night. \n\r\nBlogs: http://aya.io \r\nCode: http://github.com/ericdke\r\n@ayadn ADN command-line client. https://github.com/ericdke/na\r\n\r\n#devADN 🔨 #coffee #tea #space #art #stuff",
|
613
|
+
"html": "<span itemscope=\"https://app.net/schemas/Post\">Sound engineer by day (rec, edit, mix), coder by night. <br> <br>Blogs: <a href=\"http://aya.io\">http://aya.io</a> <br>Code: <a href=\"http://github.com/ericdke\">http://github.com/ericdke</a> <br><span data-mention-id=\"188367\" data-mention-name=\"ayadn\" itemprop=\"mention\">@ayadn</span> ADN command-line client. <a href=\"https://github.com/ericdke/na\">https://github.com/ericdke/na</a> <br> <br><span data-hashtag-name=\"devadn\" itemprop=\"hashtag\">#devADN</span> 🔨 <span data-hashtag-name=\"coffee\" itemprop=\"hashtag\">#coffee</span> <span data-hashtag-name=\"tea\" itemprop=\"hashtag\">#tea</span> <span data-hashtag-name=\"space\" itemprop=\"hashtag\">#space</span> <span data-hashtag-name=\"art\" itemprop=\"hashtag\">#art</span> <span data-hashtag-name=\"stuff\" itemprop=\"hashtag\">#stuff</span></span>",
|
614
614
|
"entities": {
|
615
615
|
"mentions": [
|
616
616
|
{
|
@@ -666,8 +666,8 @@
|
|
666
666
|
"len": 25
|
667
667
|
},
|
668
668
|
{
|
669
|
-
"url": "
|
670
|
-
"text": "
|
669
|
+
"url": "https://github.com/ericdke/na",
|
670
|
+
"text": "https://github.com/ericdke/na",
|
671
671
|
"pos": 147,
|
672
672
|
"len": 20
|
673
673
|
}
|
data/spec/mock/mentions.json
CHANGED
@@ -144,7 +144,7 @@
|
|
144
144
|
{
|
145
145
|
"type": "com.ayadn.client",
|
146
146
|
"value": {
|
147
|
-
"url": "
|
147
|
+
"url": "https://github.com/ericdke/na",
|
148
148
|
"version": "2.0.beta",
|
149
149
|
"author": {
|
150
150
|
"username": "ericd",
|
@@ -159,7 +159,7 @@
|
|
159
159
|
"num_reposts": 0,
|
160
160
|
"num_replies": 0,
|
161
161
|
"source": {
|
162
|
-
"link": "
|
162
|
+
"link": "https://github.com/ericdke/na",
|
163
163
|
"name": "Ayadn",
|
164
164
|
"client_id": "hFsCGArAjgJkYBHTHbZnUvzTmL4vaLHL"
|
165
165
|
},
|
@@ -280,7 +280,7 @@
|
|
280
280
|
{
|
281
281
|
"type": "com.ayadn.client",
|
282
282
|
"value": {
|
283
|
-
"url": "
|
283
|
+
"url": "https://github.com/ericdke/na",
|
284
284
|
"version": "2.0.beta",
|
285
285
|
"author": {
|
286
286
|
"username": "ericd",
|
@@ -295,7 +295,7 @@
|
|
295
295
|
"num_reposts": 0,
|
296
296
|
"num_replies": 0,
|
297
297
|
"source": {
|
298
|
-
"link": "
|
298
|
+
"link": "https://github.com/ericdke/na",
|
299
299
|
"name": "Ayadn",
|
300
300
|
"client_id": "hFsCGArAjgJkYBHTHbZnUvzTmL4vaLHL"
|
301
301
|
},
|
data/spec/mock/nicerank.log
CHANGED
@@ -1 +1 @@
|
|
1
|
-
# Logfile created on
|
1
|
+
# Logfile created on 2015-10-18 01:12:51 +0200 by logger.rb/47272
|
data/spec/mock/posted.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"meta":{"code":200},"data":{"created_at":"2014-03-31T11:35:43Z","num_stars":0,"num_replies":0,"source":{"link":"
|
1
|
+
{"meta":{"code":200},"data":{"created_at":"2014-03-31T11:35:43Z","num_stars":0,"num_replies":0,"source":{"link":"https://github.com/ericdke/na","name":"Ayadn","client_id":"hFsCGArAjgJkYBHTHbZnUvzTmL4vaLHL"},"text":"TEST","num_reposts":0,"canonical_url":"https://alpha.app.net/aya_tests/post/27170863","entities":{"mentions":[],"hashtags":[],"links":[]},"html":"<span itemscope=\"https://app.net/schemas/Post\">TEST</span>","machine_only":false,"user":{"username":"aya_tests","avatar_image":{"url":"https://d2rfichhc2fb9n.cloudfront.net/image/5/wtcnGHTyeGX988iObjlCFHdHEM17InMiOiJzMyIsImIiOiJhZG4tdXNlci1hc3NldHMiLCJrIjoiYXNzZXRzL3VzZXIvMDcvMDEvODAvMDcwMTgwMDAwMDAwMDAwMC5qcGciLCJvIjoiIn0","width":322,"is_default":false,"height":322},"description":{"text":"Experimental account for running tests.","html":"<span itemscope=\"https://app.net/schemas/Post\">Experimental account for running tests.</span>","entities":{"mentions":[],"hashtags":[],"links":[]}},"locale":"fr_FR","created_at":"2013-11-02T17:06:51Z","id":"185581","canonical_url":"https://alpha.app.net/aya_tests","cover_image":{"url":"https://d2rfichhc2fb9n.cloudfront.net/image/5/kZ-JRmTbmd3WVPswTJ8Nwxzkf917InMiOiJzMyIsImIiOiJ0YXBwLWFzc2V0cyIsImsiOiJpL1UvaS9ZL1VpWW5xRFNvTUtyTEhLNXA0OHN2NkxmTmRVMC5qcGciLCJvIjoiIn0","width":960,"is_default":true,"height":260},"timezone":"Europe/Berlin","counts":{"following":15,"posts":673,"followers":13,"stars":5},"type":"human","annotations":[{"type":"net.chimpli.media","value":{"image":"29487","audio":"29489","video":"29488"}}],"name":"@ericd's tests account"},"you_reposted":false,"id":"27170863","you_starred":false,"thread_id":"27170863","annotations":[{"type":"com.ayadn.user","value":{"username":"aya_tests","avatar_image":{"url":"https://d2rfichhc2fb9n.cloudfront.net/image/5/wtcnGHTyeGX988iObjlCFHdHEM17InMiOiJzMyIsImIiOiJhZG4tdXNlci1hc3NldHMiLCJrIjoiYXNzZXRzL3VzZXIvMDcvMDEvODAvMDcwMTgwMDAwMDAwMDAwMC5qcGciLCJvIjoiIn0","width":322,"is_default":false,"height":322},"id":"185581","name":"@ericd's tests account"}},{"type":"com.ayadn.client","value":{"url":"https://github.com/ericdke/na","version":"1.0.0-alpha4","author":{"username":"ericd","id":"69904","email":"eric@aya.io","name":"Eric Dejonckheere"}}}]}}
|
data/spec/mock/regex.json
CHANGED
@@ -94,7 +94,7 @@
|
|
94
94
|
"num_reposts": 0,
|
95
95
|
"canonical_url": "https://alpha.app.net/aya_tests/post/27981025",
|
96
96
|
"source": {
|
97
|
-
"link": "
|
97
|
+
"link": "https://github.com/ericdke/na",
|
98
98
|
"name": "Ayadn",
|
99
99
|
"client_id": "hFsCGArAjgJkYBHTHbZnUvzTmL4vaLHL"
|
100
100
|
},
|
@@ -173,7 +173,7 @@
|
|
173
173
|
{
|
174
174
|
"type": "com.ayadn.client",
|
175
175
|
"value": {
|
176
|
-
"url": "
|
176
|
+
"url": "https://github.com/ericdke/na",
|
177
177
|
"version": "1.0.4",
|
178
178
|
"author": {
|
179
179
|
"username": "ericd",
|
@@ -100,7 +100,7 @@ describe Ayadn::Annotations do
|
|
100
100
|
describe "#base" do
|
101
101
|
it "creates basic annotations" do
|
102
102
|
ann = Ayadn::Annotations.new({})
|
103
|
-
expect(ann.content).to eq [{"type"=>"com.ayadn.user", "value"=>{"+net.app.core.user"=>{"user_id"=>"@test", "format"=>"basic"}, "env"=>{"platform"=>'shoes', "ruby"=>"0", "locale"=>"gibberish"}}}, {"type"=>"com.ayadn.client", "value"=>{"url"=>"
|
103
|
+
expect(ann.content).to eq [{"type"=>"com.ayadn.user", "value"=>{"+net.app.core.user"=>{"user_id"=>"@test", "format"=>"basic"}, "env"=>{"platform"=>'shoes', "ruby"=>"0", "locale"=>"gibberish"}}}, {"type"=>"com.ayadn.client", "value"=>{"url"=>"https://github.com/ericdke/na", "author"=>{"name"=>"Eric Dejonckheere", "username"=>"ericd", "id"=>"69904", "email"=>"eric@aya.io"}, "version"=>"wee"}}]
|
104
104
|
end
|
105
105
|
end
|
106
106
|
|
@@ -110,7 +110,7 @@ describe Ayadn::Annotations do
|
|
110
110
|
end
|
111
111
|
it "creates youtube annotations" do
|
112
112
|
ann = Ayadn::Annotations.new({title: 'WUT', source: 'tEsT', options: {youtube: ['http://yolo']}})
|
113
|
-
expect(ann.content).to eq [{"type"=>"com.ayadn.user", "value"=>{"+net.app.core.user"=>{"user_id"=>"@test", "format"=>"basic"}, "env"=>{"platform"=>"shoes", "ruby"=>"0", "locale"=>"gibberish"}}}, {"type"=>"com.ayadn.client", "value"=>{"url"=>"
|
113
|
+
expect(ann.content).to eq [{"type"=>"com.ayadn.user", "value"=>{"+net.app.core.user"=>{"user_id"=>"@test", "format"=>"basic"}, "env"=>{"platform"=>"shoes", "ruby"=>"0", "locale"=>"gibberish"}}}, {"type"=>"com.ayadn.client", "value"=>{"url"=>"https://github.com/ericdke/na", "author"=>{"name"=>"Eric Dejonckheere", "username"=>"ericd", "id"=>"69904", "email"=>"eric@aya.io"}, "version"=>"wee"}}, {"type"=>"net.app.core.oembed", "value"=>{"version"=>"1.0", "type"=>"video", "provider_name"=>"YouTube", "provider_url"=>"http://youtube.com/", "width"=>33, "height"=>12, "title"=>nil, "author_name"=>nil, "author_url"=>nil, "embeddable_url"=>"http://yolo", "html"=>nil, "thumbnail_url"=>nil, "thumbnail_height"=>nil, "thumbnail_width"=>nil}}, {"type"=>"com.ayadn.youtube", "value"=>{"title"=>nil, "link"=>"http://yolo"}}]
|
114
114
|
end
|
115
115
|
end
|
116
116
|
|
@@ -120,42 +120,42 @@ describe Ayadn::Annotations do
|
|
120
120
|
end
|
121
121
|
it "creates vimeo annotations" do
|
122
122
|
ann = Ayadn::Annotations.new({title: 'WUT', source: 'tEsT', options: {vimeo: ['http://yolo'],}})
|
123
|
-
expect(ann.content).to eq [{"type"=>"com.ayadn.user", "value"=>{"+net.app.core.user"=>{"user_id"=>"@test", "format"=>"basic"}, "env"=>{"platform"=>"shoes", "ruby"=>"0", "locale"=>"gibberish"}}}, {"type"=>"com.ayadn.client", "value"=>{"url"=>"
|
123
|
+
expect(ann.content).to eq [{"type"=>"com.ayadn.user", "value"=>{"+net.app.core.user"=>{"user_id"=>"@test", "format"=>"basic"}, "env"=>{"platform"=>"shoes", "ruby"=>"0", "locale"=>"gibberish"}}}, {"type"=>"com.ayadn.client", "value"=>{"url"=>"https://github.com/ericdke/na", "author"=>{"name"=>"Eric Dejonckheere", "username"=>"ericd", "id"=>"69904", "email"=>"eric@aya.io"}, "version"=>"wee"}}, {"type"=>"net.app.core.oembed", "value"=>{"version"=>"1.0", "type"=>"video", "provider_name"=>"Vimeo", "provider_url"=>"http://vimeo.com/", "width"=>nil, "height"=>nil, "title"=>"yolo", "author_name"=>nil, "author_url"=>nil, "embeddable_url"=>"http://yolo", "html"=>nil, "thumbnail_url"=>nil, "thumbnail_height"=>nil, "thumbnail_width"=>nil}}, {"type"=>"com.ayadn.vimeo", "value"=>{"title"=>"yolo", "link"=>"http://yolo"}}]
|
124
124
|
end
|
125
125
|
end
|
126
126
|
|
127
127
|
describe "#movie" do
|
128
128
|
it "creates movie annotations" do
|
129
129
|
ann = Ayadn::Annotations.new({title: 'WUT', source: 'tEsT', options: {movie: true}})
|
130
|
-
expect(ann.content).to eq [{"type"=>"com.ayadn.user", "value"=>{"+net.app.core.user"=>{"user_id"=>"@test", "format"=>"basic"}, "env"=>{"platform"=>'shoes', "ruby"=>"0", "locale"=>"gibberish"}}}, {"type"=>"com.ayadn.client", "value"=>{"url"=>"
|
130
|
+
expect(ann.content).to eq [{"type"=>"com.ayadn.user", "value"=>{"+net.app.core.user"=>{"user_id"=>"@test", "format"=>"basic"}, "env"=>{"platform"=>'shoes', "ruby"=>"0", "locale"=>"gibberish"}}}, {"type"=>"com.ayadn.client", "value"=>{"url"=>"https://github.com/ericdke/na", "author"=>{"name"=>"Eric Dejonckheere", "username"=>"ericd", "id"=>"69904", "email"=>"eric@aya.io"}, "version"=>"wee"}}, {"type"=>"com.ayadn.movie", "value"=>{"title"=>"WUT", "source"=>"tEsT"}}]
|
131
131
|
end
|
132
132
|
end
|
133
133
|
|
134
134
|
describe "#tvshow" do
|
135
135
|
it "creates tvshow annotations" do
|
136
136
|
ann = Ayadn::Annotations.new({title: 'WUT', source: 'tEsT', options: {tvshow: true}})
|
137
|
-
expect(ann.content).to eq [{"type"=>"com.ayadn.user", "value"=>{"+net.app.core.user"=>{"user_id"=>"@test", "format"=>"basic"}, "env"=>{"platform"=>'shoes', "ruby"=>"0", "locale"=>"gibberish"}}}, {"type"=>"com.ayadn.client", "value"=>{"url"=>"
|
137
|
+
expect(ann.content).to eq [{"type"=>"com.ayadn.user", "value"=>{"+net.app.core.user"=>{"user_id"=>"@test", "format"=>"basic"}, "env"=>{"platform"=>'shoes', "ruby"=>"0", "locale"=>"gibberish"}}}, {"type"=>"com.ayadn.client", "value"=>{"url"=>"https://github.com/ericdke/na", "author"=>{"name"=>"Eric Dejonckheere", "username"=>"ericd", "id"=>"69904", "email"=>"eric@aya.io"}, "version"=>"wee"}}, {"type"=>"com.ayadn.tvshow", "value"=>{"title"=>"WUT", "source"=>"tEsT"}}]
|
138
138
|
end
|
139
139
|
end
|
140
140
|
|
141
141
|
describe "#nowplaying --silent" do
|
142
142
|
it "creates nowplaying --silent annotations" do
|
143
143
|
ann = Ayadn::Annotations.new({source: 'wadawadawada', options: {nowplaying: true, no_url: true}})
|
144
|
-
expect(ann.content).to eq [{"type"=>"com.ayadn.user", "value"=>{"+net.app.core.user"=>{"user_id"=>"@test", "format"=>"basic"}, "env"=>{"platform"=>'shoes', "ruby"=>"0", "locale"=>"gibberish"}}}, {"type"=>"com.ayadn.client", "value"=>{"url"=>"
|
144
|
+
expect(ann.content).to eq [{"type"=>"com.ayadn.user", "value"=>{"+net.app.core.user"=>{"user_id"=>"@test", "format"=>"basic"}, "env"=>{"platform"=>'shoes', "ruby"=>"0", "locale"=>"gibberish"}}}, {"type"=>"com.ayadn.client", "value"=>{"url"=>"https://github.com/ericdke/na", "author"=>{"name"=>"Eric Dejonckheere", "username"=>"ericd", "id"=>"69904", "email"=>"eric@aya.io"}, "version"=>"wee"}}, {"type"=>"com.ayadn.nowplaying", "value"=>{"status"=>"no-url", "source"=>"wadawadawada"}}]
|
145
145
|
end
|
146
146
|
end
|
147
147
|
|
148
148
|
describe "#nowplaying" do
|
149
149
|
it "creates nowplaying annotations" do
|
150
150
|
ann = Ayadn::Annotations.new({title: 'ibelieveicanfly', artist: 'big jim', artwork: 'http://ahah', link: 'http://ohoh', source: 'fake', width: 9000, height: 30000, artwork_thumb: 'http://hihi', width_thumb: 9, height_thumb: 3, options: {nowplaying: true}})
|
151
|
-
expect(ann.content).to eq [{"type"=>"com.ayadn.user", "value"=>{"+net.app.core.user"=>{"user_id"=>"@test", "format"=>"basic"}, "env"=>{"platform"=>'shoes', "ruby"=>"0", "locale"=>"gibberish"}}}, {"type"=>"com.ayadn.client", "value"=>{"url"=>"
|
151
|
+
expect(ann.content).to eq [{"type"=>"com.ayadn.user", "value"=>{"+net.app.core.user"=>{"user_id"=>"@test", "format"=>"basic"}, "env"=>{"platform"=>'shoes', "ruby"=>"0", "locale"=>"gibberish"}}}, {"type"=>"com.ayadn.client", "value"=>{"url"=>"https://github.com/ericdke/na", "author"=>{"name"=>"Eric Dejonckheere", "username"=>"ericd", "id"=>"69904", "email"=>"eric@aya.io"}, "version"=>"wee"}}, {"type"=>"com.ayadn.nowplaying", "value"=>{"title"=>"ibelieveicanfly", "artist"=>"big jim", "artwork"=>"http://ahah", "link"=>"http://ohoh", "source"=>"fake"}}, {"type"=>"net.app.core.oembed", "value"=>{"version"=>"1.0", "type"=>"photo", "width"=>9000, "height"=>30000, "title"=>"ibelieveicanfly", "url"=>"http://ahah", "embeddable_url"=>"http://ahah", "provider_url"=>"https://itunes.apple.com", "provider_name"=>"iTunes", "thumbnail_url"=>"http://hihi", "thumbnail_width"=>9, "thumbnail_height"=>3}}]
|
152
152
|
end
|
153
153
|
end
|
154
154
|
|
155
155
|
describe "#files" do
|
156
156
|
it "creates files annotations" do
|
157
157
|
ann = Ayadn::Annotations.new({options: {embed: ['whatever.jpg', 'another.png']}}) # fake array, cf STUB1
|
158
|
-
expect(ann.content).to eq [{"type"=>"com.ayadn.user", "value"=>{"+net.app.core.user"=>{"user_id"=>"@test", "format"=>"basic"}, "env"=>{"platform"=>'shoes', "ruby"=>"0", "locale"=>"gibberish"}}}, {"type"=>"com.ayadn.client", "value"=>{"url"=>"
|
158
|
+
expect(ann.content).to eq [{"type"=>"com.ayadn.user", "value"=>{"+net.app.core.user"=>{"user_id"=>"@test", "format"=>"basic"}, "env"=>{"platform"=>'shoes', "ruby"=>"0", "locale"=>"gibberish"}}}, {"type"=>"com.ayadn.client", "value"=>{"url"=>"https://github.com/ericdke/na", "author"=>{"name"=>"Eric Dejonckheere", "username"=>"ericd", "id"=>"69904", "email"=>"eric@aya.io"}, "version"=>"wee"}}, {"type"=>"net.app.core.oembed", "value"=>{"+net.app.core.file"=>{"file_id"=>3312, "file_token"=>"0x3312-YOLO", "format"=>"oembed"}}}, {"type"=>"net.app.core.oembed", "value"=>{"+net.app.core.file"=>{"file_id"=>5550, "file_token"=>"0x5550-WOOT", "format"=>"oembed"}}}]
|
159
159
|
end
|
160
160
|
end
|
161
161
|
|
data/spec/unit/post_spec.rb
CHANGED
@@ -57,7 +57,7 @@ describe Ayadn::Post do
|
|
57
57
|
rest.stub(:post).and_return(File.read("spec/mock/posted.json"))
|
58
58
|
end
|
59
59
|
it "posts a post" do
|
60
|
-
expect(rest).to receive(:post).with("https://api.app.net/posts/?include_annotations=1&access_token=XYZ", {"text"=>"YOLO", "entities"=>{"parse_markdown_links"=>true, "parse_links"=>true}, "annotations"=>[{"type"=>"com.ayadn.user", "value"=>{"+net.app.core.user"=>{"user_id"=>"@test", "format"=>"basic"}, "env"=>{"platform"=>"shoes", "ruby"=>"0", "locale"=>"gibberish"}}}, {"type"=>"com.ayadn.client", "value"=>{"url"=>"
|
60
|
+
expect(rest).to receive(:post).with("https://api.app.net/posts/?include_annotations=1&access_token=XYZ", {"text"=>"YOLO", "entities"=>{"parse_markdown_links"=>true, "parse_links"=>true}, "annotations"=>[{"type"=>"com.ayadn.user", "value"=>{"+net.app.core.user"=>{"user_id"=>"@test", "format"=>"basic"}, "env"=>{"platform"=>"shoes", "ruby"=>"0", "locale"=>"gibberish"}}}, {"type"=>"com.ayadn.client", "value"=>{"url"=>"https://github.com/ericdke/na", "author"=>{"name"=>"Eric Dejonckheere", "username"=>"ericd", "id"=>"69904", "email"=>"eric@aya.io"}, "version"=>"wee"}}]})
|
61
61
|
x = post.post({text: 'YOLO'})
|
62
62
|
end
|
63
63
|
it "posts a post" do
|
@@ -71,13 +71,13 @@ describe Ayadn::Post do
|
|
71
71
|
|
72
72
|
describe "#markdown_extract" do
|
73
73
|
it "splits markdown" do
|
74
|
-
expect(post.markdown_extract("[ayadn](
|
74
|
+
expect(post.markdown_extract("[ayadn](https://github.com/ericdke/na)")).to eq ["ayadn", "https://github.com/ericdke/na"]
|
75
75
|
end
|
76
76
|
end
|
77
77
|
|
78
78
|
describe "#keep_text_from_markdown_links" do
|
79
79
|
it "extracts markdown text" do
|
80
|
-
expect(post.keep_text_from_markdown_links("[ayadn](
|
80
|
+
expect(post.keep_text_from_markdown_links("[ayadn](https://github.com/ericdke/na)")).to eq "ayadn"
|
81
81
|
end
|
82
82
|
end
|
83
83
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ayadn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '
|
4
|
+
version: '3.0'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Dejonckheere
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-11-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -66,20 +66,6 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '1.4'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: daybreak
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0.3'
|
76
|
-
type: :runtime
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0.3'
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: pinboard
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -235,7 +221,6 @@ files:
|
|
235
221
|
- ".travis.yml"
|
236
222
|
- CHANGELOG.md
|
237
223
|
- Gemfile
|
238
|
-
- Guardfile
|
239
224
|
- LICENSE.txt
|
240
225
|
- MANUAL.md
|
241
226
|
- README.md
|
@@ -274,13 +259,14 @@ files:
|
|
274
259
|
- lib/ayadn/databases.rb
|
275
260
|
- lib/ayadn/debug.rb
|
276
261
|
- lib/ayadn/descriptions.rb
|
262
|
+
- lib/ayadn/diagnostics.rb
|
277
263
|
- lib/ayadn/endpoints.rb
|
278
264
|
- lib/ayadn/errors.rb
|
279
265
|
- lib/ayadn/extend.rb
|
280
266
|
- lib/ayadn/fileops.rb
|
267
|
+
- lib/ayadn/ids.rb
|
281
268
|
- lib/ayadn/logs.rb
|
282
269
|
- lib/ayadn/mark.rb
|
283
|
-
- lib/ayadn/migration.rb
|
284
270
|
- lib/ayadn/nicerank.rb
|
285
271
|
- lib/ayadn/nowplaying.rb
|
286
272
|
- lib/ayadn/nowwatching.rb
|
@@ -328,8 +314,7 @@ files:
|
|
328
314
|
- spec/unit/set_spec.rb
|
329
315
|
- spec/unit/view_spec.rb
|
330
316
|
- spec/unit/workers_spec.rb
|
331
|
-
|
332
|
-
homepage: http://ayadn-app.net
|
317
|
+
homepage: https://github.com/ericdke/na
|
333
318
|
licenses:
|
334
319
|
- MIT
|
335
320
|
metadata:
|
data/Guardfile
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
# A sample Guardfile
|
2
|
-
# More info at https://github.com/guard/guard#readme
|
3
|
-
#guard init rspec
|
4
|
-
guard :rspec do
|
5
|
-
watch(%r{^spec/.+_spec\.rb$})
|
6
|
-
watch(%r{^lib/ayadn/(.+)\.rb$}) { |m| "spec/unit/#{m[1]}_spec.rb" }
|
7
|
-
watch('spec/spec_helper.rb') { "spec" }
|
8
|
-
watch('spec/helpers.rb')
|
9
|
-
watch('bin/ayadn')
|
10
|
-
|
11
|
-
# # Rails example
|
12
|
-
# watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
|
13
|
-
# watch(%r{^app/(.*)(\.erb|\.haml|\.slim)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
|
14
|
-
# watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
|
15
|
-
# watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
|
16
|
-
# watch('config/routes.rb') { "spec/routing" }
|
17
|
-
# watch('app/controllers/application_controller.rb') { "spec/controllers" }
|
18
|
-
|
19
|
-
# # Capybara features specs
|
20
|
-
# watch(%r{^app/views/(.+)/.*\.(erb|haml|slim)$}) { |m| "spec/features/#{m[1]}_spec.rb" }
|
21
|
-
|
22
|
-
# # Turnip features and steps
|
23
|
-
# watch(%r{^spec/acceptance/(.+)\.feature$})
|
24
|
-
# watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
|
25
|
-
end
|
26
|
-
|