ayadn 1.5.1 → 1.6.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -0
- data/MANUAL.md +1 -1
- data/README.md +3 -1
- data/ayadn.gemspec +2 -0
- data/doc/16-movie.md +46 -0
- data/doc/17-tvshow.md +44 -0
- data/doc/{16-contact.md → 18-contact.md} +0 -0
- data/doc/{18-examples.md → 19-examples.md} +0 -0
- data/doc/{17-shortcuts.md → shortcuts.md} +0 -0
- data/lib/ayadn/action.rb +139 -848
- data/lib/ayadn/alias.rb +3 -3
- data/lib/ayadn/api.rb +5 -1
- data/lib/ayadn/app.rb +22 -3
- data/lib/ayadn/blacklist.rb +7 -6
- data/lib/ayadn/check.rb +187 -0
- data/lib/ayadn/descriptions.rb +86 -0
- data/lib/ayadn/errors.rb +17 -0
- data/lib/ayadn/fileops.rb +1 -1
- data/lib/ayadn/mark.rb +5 -4
- data/lib/ayadn/nowplaying.rb +184 -0
- data/lib/ayadn/nowwatching.rb +76 -0
- data/lib/ayadn/post.rb +40 -0
- data/lib/ayadn/search.rb +77 -0
- data/lib/ayadn/set.rb +66 -0
- data/lib/ayadn/settings.rb +9 -1
- data/lib/ayadn/status.rb +18 -2
- data/lib/ayadn/stream.rb +254 -0
- data/lib/ayadn/switch.rb +1 -1
- data/lib/ayadn/tvshow.rb +123 -0
- data/lib/ayadn/version.rb +1 -1
- data/lib/ayadn/view.rb +86 -1
- data/lib/ayadn/workers.rb +70 -14
- data/spec/unit/view_spec.rb +0 -16
- data/spec/unit/workers_spec.rb +17 -16
- metadata +41 -5
data/lib/ayadn/version.rb
CHANGED
data/lib/ayadn/view.rb
CHANGED
@@ -17,6 +17,13 @@ module Ayadn
|
|
17
17
|
puts resp unless resp == ""
|
18
18
|
end
|
19
19
|
|
20
|
+
def if_raw what, options
|
21
|
+
if options[:raw]
|
22
|
+
show_raw(what, options)
|
23
|
+
exit
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
20
27
|
def show_raw(stream, options = {})
|
21
28
|
#puts stream.to_json
|
22
29
|
jj stream
|
@@ -259,7 +266,7 @@ module Ayadn
|
|
259
266
|
end
|
260
267
|
unless ch.recent_message.nil?
|
261
268
|
unless ch.recent_message['text'].nil?
|
262
|
-
view << "Most recent message (#{
|
269
|
+
view << "Most recent message (#{@workers.parsed_time(ch.recent_message['created_at'])}): ".color(:cyan)
|
263
270
|
view << "\n"
|
264
271
|
view << "---\n#{ch.recent_message['text']}\n---"
|
265
272
|
end
|
@@ -276,6 +283,28 @@ module Ayadn
|
|
276
283
|
puts view
|
277
284
|
end
|
278
285
|
|
286
|
+
def render(stream, options = {}, niceranks = {})
|
287
|
+
unless options[:raw]
|
288
|
+
get(stream['data'], options, niceranks)
|
289
|
+
else
|
290
|
+
show_raw(stream)
|
291
|
+
end
|
292
|
+
end
|
293
|
+
|
294
|
+
def get(stream, options = {}, niceranks = {})
|
295
|
+
clear_screen()
|
296
|
+
if options[:index]
|
297
|
+
show_posts_with_index(stream, options, niceranks)
|
298
|
+
else
|
299
|
+
show_posts(stream, options, niceranks)
|
300
|
+
end
|
301
|
+
end
|
302
|
+
|
303
|
+
def get_simple_view(stream)
|
304
|
+
clear_screen()
|
305
|
+
show_simple_stream(stream)
|
306
|
+
end
|
307
|
+
|
279
308
|
def clear_screen
|
280
309
|
puts "\e[H\e[2J"
|
281
310
|
end
|
@@ -286,6 +315,62 @@ module Ayadn
|
|
286
315
|
puts "\n"
|
287
316
|
end
|
288
317
|
|
318
|
+
def winsize
|
319
|
+
IO.console.winsize
|
320
|
+
end
|
321
|
+
|
322
|
+
def show_links(links)
|
323
|
+
links.each {|l| puts "#{l}\n".color(Settings.options[:colors][:link])}
|
324
|
+
end
|
325
|
+
|
326
|
+
def all_hashtag_links(stream, hashtag)
|
327
|
+
clear_screen()
|
328
|
+
puts "Links from posts containing hashtag '##{hashtag}': \n".color(:cyan)
|
329
|
+
show_links(@workers.links_from_posts(stream))
|
330
|
+
end
|
331
|
+
|
332
|
+
def all_search_links(stream, words)
|
333
|
+
clear_screen()
|
334
|
+
puts "Links from posts containing word(s) '#{words}': \n".color(:cyan)
|
335
|
+
show_links(@workers.links_from_posts(stream))
|
336
|
+
end
|
337
|
+
|
338
|
+
def all_stars_links(stream)
|
339
|
+
clear_screen()
|
340
|
+
puts "Links from your starred posts: \n".color(:cyan)
|
341
|
+
show_links(@workers.links_from_posts(stream))
|
342
|
+
end
|
343
|
+
|
344
|
+
def infos(stream, token)
|
345
|
+
clear_screen()
|
346
|
+
show_userinfos(stream, token, true)
|
347
|
+
end
|
348
|
+
|
349
|
+
def downloading(options = {})
|
350
|
+
unless options[:raw]
|
351
|
+
clear_screen()
|
352
|
+
print Status.downloading
|
353
|
+
end
|
354
|
+
end
|
355
|
+
|
356
|
+
def list(what, list, target)
|
357
|
+
clear_screen()
|
358
|
+
case what
|
359
|
+
when :whoreposted
|
360
|
+
show_list_reposted(list, target)
|
361
|
+
when :whostarred
|
362
|
+
show_list_starred(list, target)
|
363
|
+
when :followings
|
364
|
+
show_list_followings(list, target)
|
365
|
+
when :followers
|
366
|
+
show_list_followers(list, target)
|
367
|
+
when :muted
|
368
|
+
show_list_muted(list)
|
369
|
+
when :blocked
|
370
|
+
show_list_blocked(list)
|
371
|
+
end
|
372
|
+
end
|
373
|
+
|
289
374
|
def big_separator
|
290
375
|
"----------\n\n\n"
|
291
376
|
end
|
data/lib/ayadn/workers.rb
CHANGED
@@ -81,7 +81,7 @@ module Ayadn
|
|
81
81
|
end
|
82
82
|
|
83
83
|
def build_users_list(list, table)
|
84
|
-
users =
|
84
|
+
users = at(list.map {|obj| obj[:username]})
|
85
85
|
ids = list.map {|obj| obj[:id].to_i}
|
86
86
|
ranks = NiceRank.new.from_ids(ids)
|
87
87
|
indexed_ranks = {}
|
@@ -302,7 +302,7 @@ module Ayadn
|
|
302
302
|
"#{string[0...10]} #{string[11...19]}"
|
303
303
|
end
|
304
304
|
|
305
|
-
def
|
305
|
+
def at usernames #TODO: consolidate
|
306
306
|
usernames.map do |user|
|
307
307
|
if user == 'me'
|
308
308
|
'me'
|
@@ -314,7 +314,52 @@ module Ayadn
|
|
314
314
|
end
|
315
315
|
end
|
316
316
|
|
317
|
-
def
|
317
|
+
def get_original_id(post_id, resp)
|
318
|
+
if resp['data']['repost_of']
|
319
|
+
puts Status.redirecting
|
320
|
+
id = resp['data']['repost_of']['id']
|
321
|
+
Errors.repost(post_id, id)
|
322
|
+
return id
|
323
|
+
else
|
324
|
+
return post_id
|
325
|
+
end
|
326
|
+
end
|
327
|
+
|
328
|
+
def get_channel_id_from_alias(channel_id)
|
329
|
+
unless channel_id.is_integer?
|
330
|
+
orig = channel_id
|
331
|
+
channel_id = Databases.get_channel_id(orig)
|
332
|
+
if channel_id.nil?
|
333
|
+
Errors.warn("Alias '#{orig}' doesn't exist.")
|
334
|
+
puts Status.no_alias
|
335
|
+
exit
|
336
|
+
end
|
337
|
+
end
|
338
|
+
channel_id
|
339
|
+
end
|
340
|
+
|
341
|
+
def length_of_index
|
342
|
+
Databases.get_index_length
|
343
|
+
end
|
344
|
+
|
345
|
+
def get_post_from_index id
|
346
|
+
Databases.get_post_from_index id
|
347
|
+
end
|
348
|
+
|
349
|
+
def get_real_post_id post_id
|
350
|
+
id = post_id.to_i
|
351
|
+
if id > 0 && id <= length_of_index
|
352
|
+
resp = get_post_from_index(id)
|
353
|
+
post_id = resp[:id]
|
354
|
+
end
|
355
|
+
post_id
|
356
|
+
end
|
357
|
+
|
358
|
+
def add_arobase username
|
359
|
+
add_arobase_if_missing(username)
|
360
|
+
end
|
361
|
+
|
362
|
+
def add_arobase_if_missing(username) # expects an array of username(s), works on the first one and outputs a string
|
318
363
|
unless username.first == "me"
|
319
364
|
username = username.first.chars
|
320
365
|
username.unshift("@") unless username.first == "@"
|
@@ -324,26 +369,25 @@ module Ayadn
|
|
324
369
|
username.join
|
325
370
|
end
|
326
371
|
|
327
|
-
def
|
328
|
-
args.map
|
372
|
+
def add_arobases_to_usernames args #TODO: replace
|
373
|
+
args.map do |username|
|
329
374
|
if username == 'me'
|
330
|
-
|
375
|
+
who_am_i
|
331
376
|
else
|
332
377
|
temp = username.chars
|
333
378
|
temp.unshift("@") unless temp.first == "@"
|
334
379
|
temp.join
|
335
380
|
end
|
336
381
|
end
|
337
|
-
args
|
338
382
|
end
|
339
383
|
|
340
|
-
def
|
384
|
+
def who_am_i
|
341
385
|
db = Databases.init(Dir.home + "/ayadn/accounts.db")
|
342
386
|
active = db['ACTIVE']
|
343
387
|
db[active][:handle]
|
344
388
|
end
|
345
389
|
|
346
|
-
def
|
390
|
+
def remove_arobase_if_present args
|
347
391
|
args.map! do |username|
|
348
392
|
temp = username.chars
|
349
393
|
temp.shift if temp.first == "@"
|
@@ -352,7 +396,7 @@ module Ayadn
|
|
352
396
|
args
|
353
397
|
end
|
354
398
|
|
355
|
-
def
|
399
|
+
def extract_users(resp)
|
356
400
|
users_hash = {}
|
357
401
|
resp['data'].each do |item|
|
358
402
|
users_hash[item['id']] = [item['username'], item['name'], item['you_follow'], item['follows_you']]
|
@@ -424,6 +468,20 @@ module Ayadn
|
|
424
468
|
sentences.join("\n")
|
425
469
|
end
|
426
470
|
|
471
|
+
def links_from_posts(stream)
|
472
|
+
links = []
|
473
|
+
stream['data'].each do |post|
|
474
|
+
extract_links(post).each {|l| links << l}
|
475
|
+
end
|
476
|
+
links.uniq!
|
477
|
+
links
|
478
|
+
end
|
479
|
+
|
480
|
+
def all_but_me usernames
|
481
|
+
arr = usernames.select {|user| user != 'me'}
|
482
|
+
at(arr)
|
483
|
+
end
|
484
|
+
|
427
485
|
private
|
428
486
|
|
429
487
|
def def_str(word, reg_split)
|
@@ -444,11 +502,9 @@ module Ayadn
|
|
444
502
|
end
|
445
503
|
|
446
504
|
def build_users_array(list)
|
447
|
-
|
448
|
-
|
449
|
-
users_list << {:username => value[0], :name => value[1], :you_follow => value[2], :follows_you => value[3], :id => key}
|
505
|
+
list.map do |key, value|
|
506
|
+
{:username => value[0], :name => value[1], :you_follow => value[2], :follows_you => value[3], :id => key}
|
450
507
|
end
|
451
|
-
users_list
|
452
508
|
end
|
453
509
|
|
454
510
|
def extract_checkins(post)
|
data/spec/unit/view_spec.rb
CHANGED
@@ -100,20 +100,4 @@ describe Ayadn::View do
|
|
100
100
|
end
|
101
101
|
end
|
102
102
|
|
103
|
-
# let(:followers) { JSON.parse(File.read("spec/mock/fwr_@ayadn.json")) }
|
104
|
-
|
105
|
-
# describe "#show_list_followers" do
|
106
|
-
# it "outputs the list of followers" do
|
107
|
-
# list = Ayadn::Workers.extract_users(followers[0])
|
108
|
-
# printed = capture_stdout do
|
109
|
-
# Ayadn::View.new.show_list_followers(list, '@ayadn')
|
110
|
-
# end
|
111
|
-
# expect(printed).to include "@ericd"
|
112
|
-
# expect(printed).to include "Nicolas Maumont"
|
113
|
-
# end
|
114
|
-
# end
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
103
|
end
|
data/spec/unit/workers_spec.rb
CHANGED
@@ -17,6 +17,7 @@ describe Ayadn::Workers do
|
|
17
17
|
Ayadn::Logs.stub(:rec).and_return("logged")
|
18
18
|
Ayadn::Databases.stub(:blacklist).and_return("blacklist")
|
19
19
|
Ayadn::Databases.stub(:users).and_return("users")
|
20
|
+
@workers = Ayadn::Workers.new
|
20
21
|
end
|
21
22
|
|
22
23
|
let(:data) { JSON.parse(File.read("spec/mock/stream.json")) }
|
@@ -25,7 +26,7 @@ describe Ayadn::Workers do
|
|
25
26
|
|
26
27
|
describe "#build_posts" do
|
27
28
|
it "builds posts hash from stream" do
|
28
|
-
posts =
|
29
|
+
posts = @workers.build_posts(data['data'])
|
29
30
|
expect(posts.length).to eq 10
|
30
31
|
expect(posts[23187363][:name]).to eq 'App.net Staff'
|
31
32
|
expect(posts[23184500][:username]).to eq 'wired'
|
@@ -44,7 +45,7 @@ describe Ayadn::Workers do
|
|
44
45
|
expect(posts[23187443].length).to eq 33
|
45
46
|
end
|
46
47
|
it "gets oembed link from checkins post" do
|
47
|
-
posts =
|
48
|
+
posts = @workers.build_posts(checkins['data'])
|
48
49
|
expect(posts[27101186][:links]).to eq ["https://photos.app.net/27101186/1"]
|
49
50
|
expect(posts[27080492][:links]).to eq ["http://sprintr.co/27080492"]
|
50
51
|
expect(posts[27073989][:links]).to eq ["http://pic.favd.net/27073989", "https://photos.app.net/27073989/1"]
|
@@ -53,21 +54,21 @@ describe Ayadn::Workers do
|
|
53
54
|
|
54
55
|
describe "#extract_hashtags" do
|
55
56
|
it "extracts hashtags" do
|
56
|
-
tags =
|
57
|
+
tags = @workers.extract_hashtags(data['data'][0])
|
57
58
|
expect(tags).to eq ['photography']
|
58
59
|
end
|
59
60
|
end
|
60
61
|
|
61
62
|
describe "#extract_links" do
|
62
63
|
it "extracts links" do
|
63
|
-
links =
|
64
|
+
links = @workers.extract_links(data['data'][0])
|
64
65
|
expect(links).to eq ['http://feed.500px.com/~r/500px-best/~3/c2tMPEJVf6I/61517259']
|
65
66
|
end
|
66
67
|
end
|
67
68
|
|
68
69
|
describe "#extract_checkins" do
|
69
70
|
it "extracts checkins" do
|
70
|
-
posts =
|
71
|
+
posts = @workers.build_posts(checkins['data'])
|
71
72
|
expect(posts.length).to eq 10
|
72
73
|
expect(posts[27101186][:has_checkins]).to be true
|
73
74
|
expect(posts[27101186][:checkins][:name]).to eq "Hobbs State Park"
|
@@ -86,7 +87,7 @@ describe Ayadn::Workers do
|
|
86
87
|
# describe "#build_followers_list" do
|
87
88
|
# it 'builds the followers table list' do
|
88
89
|
# printed = capture_stdout do
|
89
|
-
# puts
|
90
|
+
# puts @workers.build_followers_list(list, "@test")
|
90
91
|
# end
|
91
92
|
# expect(printed).to include "@test"
|
92
93
|
# expect(printed).to include "@bond"
|
@@ -97,7 +98,7 @@ describe Ayadn::Workers do
|
|
97
98
|
# describe "#build_followings_list" do
|
98
99
|
# it 'builds the followings table list' do
|
99
100
|
# printed = capture_stdout do
|
100
|
-
# puts
|
101
|
+
# puts @workers.build_followings_list(list, "@test")
|
101
102
|
# end
|
102
103
|
# #expect(printed).to include "+~~~~"
|
103
104
|
# expect(printed).to include "@test"
|
@@ -109,7 +110,7 @@ describe Ayadn::Workers do
|
|
109
110
|
# describe "#build_muted_list" do
|
110
111
|
# it 'builds the muted table list' do
|
111
112
|
# printed = capture_stdout do
|
112
|
-
# puts
|
113
|
+
# puts @workers.build_muted_list(list)
|
113
114
|
# end
|
114
115
|
# #expect(printed).to include "+----"
|
115
116
|
# expect(printed).to include "@bond"
|
@@ -120,7 +121,7 @@ describe Ayadn::Workers do
|
|
120
121
|
# describe "#build_blocked_list" do
|
121
122
|
# it 'builds the blocked table list' do
|
122
123
|
# printed = capture_stdout do
|
123
|
-
# puts
|
124
|
+
# puts @workers.build_blocked_list(list)
|
124
125
|
# end
|
125
126
|
# #expect(printed).to include "+----"
|
126
127
|
# expect(printed).to include "@bond"
|
@@ -128,19 +129,19 @@ describe Ayadn::Workers do
|
|
128
129
|
# end
|
129
130
|
# end
|
130
131
|
|
131
|
-
describe "
|
132
|
+
describe "#add_arobase_if_missing" do
|
132
133
|
it 'adds @ to username' do
|
133
|
-
expect(
|
134
|
+
expect(@workers.add_arobase_if_missing(["user"])).to eq "@user"
|
134
135
|
end
|
135
136
|
it 'does nothing to @username' do
|
136
|
-
expect(
|
137
|
+
expect(@workers.add_arobase_if_missing(["@user"])).to eq "@user"
|
137
138
|
end
|
138
139
|
end
|
139
140
|
|
140
|
-
describe "
|
141
|
+
describe "#remove_arobase_if_present" do
|
141
142
|
it "removes @ from username" do
|
142
|
-
expect(
|
143
|
-
expect(
|
143
|
+
expect(@workers.remove_arobase_if_present(["@user"])).to eq ["user"]
|
144
|
+
expect(@workers.remove_arobase_if_present(["user"])).to eq ["user"]
|
144
145
|
end
|
145
146
|
end
|
146
147
|
|
@@ -148,7 +149,7 @@ describe Ayadn::Workers do
|
|
148
149
|
it "colorizes mentions and hashtags" do
|
149
150
|
text = regex_post['data']['text']
|
150
151
|
mentions = regex_post['data']['entities']['mentions']
|
151
|
-
expect(
|
152
|
+
expect(@workers.colorize_text(text, mentions, ['false', 'true', 'test', 'regex'])).to eq "\e[36m#test\e[0m \e[36m#regex\e[0m\n@aya_tests's \e[36m#true\e[0m\n(@aya_tests) \e[36m#true\e[0m\n@AyA_TeSts \e[36m#true\e[0m\n@aya_test \e[36m#false\e[0m\naya@aya_tests.yolo \e[36m#false\e[0m\n-@aya_tests:ohai! \e[36m#true\e[0m\ntext,@aya_tests,txt \e[36m#true\e[0m"
|
152
153
|
end
|
153
154
|
end
|
154
155
|
|
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: 1.
|
4
|
+
version: 1.6.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: 2014-
|
11
|
+
date: 2014-08-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -108,6 +108,34 @@ dependencies:
|
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '1.4'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: spotlite
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0.8'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0.8'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: tvdb_party
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0.7'
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0.7'
|
111
139
|
- !ruby/object:Gem::Dependency
|
112
140
|
name: bundler
|
113
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -229,9 +257,11 @@ files:
|
|
229
257
|
- doc/13-bookmark.md
|
230
258
|
- doc/14-set.md
|
231
259
|
- doc/15-nowplaying.md
|
232
|
-
- doc/16-
|
233
|
-
- doc/17-
|
234
|
-
- doc/18-
|
260
|
+
- doc/16-movie.md
|
261
|
+
- doc/17-tvshow.md
|
262
|
+
- doc/18-contact.md
|
263
|
+
- doc/19-examples.md
|
264
|
+
- doc/shortcuts.md
|
235
265
|
- lib/ayadn.rb
|
236
266
|
- lib/ayadn/action.rb
|
237
267
|
- lib/ayadn/alias.rb
|
@@ -239,6 +269,7 @@ files:
|
|
239
269
|
- lib/ayadn/app.rb
|
240
270
|
- lib/ayadn/authorize.rb
|
241
271
|
- lib/ayadn/blacklist.rb
|
272
|
+
- lib/ayadn/check.rb
|
242
273
|
- lib/ayadn/cnx.rb
|
243
274
|
- lib/ayadn/databases.rb
|
244
275
|
- lib/ayadn/debug.rb
|
@@ -250,13 +281,18 @@ files:
|
|
250
281
|
- lib/ayadn/logs.rb
|
251
282
|
- lib/ayadn/mark.rb
|
252
283
|
- lib/ayadn/nicerank.rb
|
284
|
+
- lib/ayadn/nowplaying.rb
|
285
|
+
- lib/ayadn/nowwatching.rb
|
253
286
|
- lib/ayadn/pinboard.rb
|
254
287
|
- lib/ayadn/post.rb
|
255
288
|
- lib/ayadn/scroll.rb
|
289
|
+
- lib/ayadn/search.rb
|
256
290
|
- lib/ayadn/set.rb
|
257
291
|
- lib/ayadn/settings.rb
|
258
292
|
- lib/ayadn/status.rb
|
293
|
+
- lib/ayadn/stream.rb
|
259
294
|
- lib/ayadn/switch.rb
|
295
|
+
- lib/ayadn/tvshow.rb
|
260
296
|
- lib/ayadn/version.rb
|
261
297
|
- lib/ayadn/view.rb
|
262
298
|
- lib/ayadn/workers.rb
|