ayadn 3.0 → 4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -4
  3. data/CHANGELOG.md +12 -4
  4. data/README.md +2 -5
  5. data/ayadn.gemspec +0 -2
  6. data/doc/01-index.md +0 -3
  7. data/doc/02-install.md +0 -4
  8. data/doc/06-post.md +0 -16
  9. data/doc/{18-contact.md → 16-contact.md} +0 -0
  10. data/doc/{19-examples.md → 17-examples.md} +0 -0
  11. data/doc/18-develop.md +165 -0
  12. data/lib/ayadn/action.rb +206 -396
  13. data/lib/ayadn/alias.rb +1 -1
  14. data/lib/ayadn/annotations.rb +15 -27
  15. data/lib/ayadn/api.rb +39 -28
  16. data/lib/ayadn/app.rb +19 -29
  17. data/lib/ayadn/authorize.rb +22 -13
  18. data/lib/ayadn/blacklist.rb +6 -19
  19. data/lib/ayadn/channel_object.rb +75 -0
  20. data/lib/ayadn/check.rb +19 -11
  21. data/lib/ayadn/cnx.rb +9 -15
  22. data/lib/ayadn/databases.rb +15 -27
  23. data/lib/ayadn/debug.rb +9 -9
  24. data/lib/ayadn/descriptions.rb +1 -99
  25. data/lib/ayadn/diagnostics.rb +16 -15
  26. data/lib/ayadn/endpoints.rb +18 -22
  27. data/lib/ayadn/errors.rb +1 -1
  28. data/lib/ayadn/fileops.rb +12 -12
  29. data/lib/ayadn/filtered_post_object.rb +11 -0
  30. data/lib/ayadn/ids.rb +0 -3
  31. data/lib/ayadn/logs.rb +4 -4
  32. data/lib/ayadn/mark.rb +34 -30
  33. data/lib/ayadn/nicerank.rb +7 -7
  34. data/lib/ayadn/nowplaying.rb +8 -22
  35. data/lib/ayadn/pinboard.rb +8 -12
  36. data/lib/ayadn/post.rb +18 -18
  37. data/lib/ayadn/post_object.rb +118 -0
  38. data/lib/ayadn/preferences_object.rb +290 -0
  39. data/lib/ayadn/profile.rb +2 -2
  40. data/lib/ayadn/scroll.rb +58 -67
  41. data/lib/ayadn/search.rb +22 -15
  42. data/lib/ayadn/set.rb +93 -83
  43. data/lib/ayadn/settings.rb +25 -33
  44. data/lib/ayadn/status.rb +24 -26
  45. data/lib/ayadn/stream.rb +68 -66
  46. data/lib/ayadn/stream_object.rb +56 -0
  47. data/lib/ayadn/switch.rb +2 -2
  48. data/lib/ayadn/user_object.rb +116 -0
  49. data/lib/ayadn/version.rb +1 -1
  50. data/lib/ayadn/view.rb +255 -278
  51. data/lib/ayadn/workers.rb +172 -174
  52. data/spec/integration/action_spec.rb +55 -34
  53. data/spec/mock/ayadn.sqlite +0 -0
  54. data/spec/unit/annotations_spec.rb +54 -41
  55. data/spec/unit/api_spec.rb +78 -7
  56. data/spec/unit/blacklistworkers_spec.rb +92 -20
  57. data/spec/unit/databases_spec.rb +117 -36
  58. data/spec/unit/endpoints_spec.rb +82 -10
  59. data/spec/unit/nicerank_spec.rb +56 -27
  60. data/spec/unit/post_spec.rb +94 -21
  61. data/spec/unit/set_spec.rb +141 -210
  62. data/spec/unit/view_spec.rb +105 -32
  63. data/spec/unit/workers_spec.rb +143 -52
  64. metadata +12 -37
  65. data/doc/16-movie.md +0 -39
  66. data/doc/17-tvshow.md +0 -46
  67. data/lib/ayadn/nowwatching.rb +0 -118
  68. data/lib/ayadn/tvshow.rb +0 -162
@@ -6,43 +6,116 @@ require 'json'
6
6
  describe Ayadn::View do
7
7
 
8
8
  before do
9
- Ayadn::Settings.stub(:options).and_return({
9
+ Ayadn::Settings.stub(:options).and_return(
10
+ Ayadn::Preferences.new(
11
+ {
12
+ timeline: {
13
+ directed: true,
14
+ source: true,
15
+ symbols: true,
16
+ name: true,
17
+ date: true,
18
+ debug: false,
19
+ compact: false
20
+ },
21
+ marker: {
22
+ messages: true
23
+ },
24
+ counts: {
25
+ default: 50,
26
+ unified: 50,
27
+ global: 50,
28
+ checkins: 50,
29
+ conversations: 50,
30
+ photos: 50,
31
+ trending: 50,
32
+ mentions: 50,
33
+ convo: 50,
34
+ posts: 50,
35
+ messages: 20,
36
+ search: 200,
37
+ whoreposted: 20,
38
+ whostarred: 20,
39
+ whatstarred: 100,
40
+ files: 50
41
+ },
42
+ formats: {
43
+ table: {
44
+ width: 75,
45
+ borders: true
46
+ },
47
+ list: {
48
+ reverse: true
49
+ }
50
+ },
51
+ channels: {
52
+ links: true
53
+ },
10
54
  colors: {
55
+ id: :blue,
56
+ index: :red,
57
+ username: :green,
58
+ name: :magenta,
59
+ date: :cyan,
60
+ link: :yellow,
61
+ dots: :blue,
11
62
  hashtags: :cyan,
12
63
  mentions: :red,
13
- username: :green,
14
- id: :blue,
15
- name: :yellow,
16
- source: :blue,
64
+ source: :cyan,
17
65
  symbols: :green,
18
- index: :blue,
19
- date: :cyan,
20
- link: :magenta,
66
+ unread: :cyan,
67
+ debug: :red,
21
68
  excerpt: :green
22
69
  },
23
- timeline: {
24
- name: true,
25
- date: true,
26
- symbols: true,
27
- source: true
70
+ backup: {
71
+ posts: false,
72
+ messages: false,
73
+ lists: false
28
74
  },
29
- formats: {
30
- table: {width: 75},
31
- list: {reverse: true}
75
+ scroll: {
76
+ spinner: true,
77
+ timer: 3,
78
+ date: false
32
79
  },
33
- counts: {
34
- default: 33
80
+ nicerank: {
81
+ threshold: 2.1,
82
+ filter: true,
83
+ unranked: false
35
84
  },
36
- blacklist: {active: true}
37
- })
38
- Ayadn::Settings.stub(:config).and_return({
39
- identity: {
40
- username: 'test'
85
+ nowplaying: {},
86
+ blacklist: {
87
+ active: true
41
88
  }
42
- })
43
- Ayadn::Settings.stub(:global).and_return({
44
- scrolling: false
45
- })
89
+ }))
90
+ require 'json'
91
+ require 'ostruct'
92
+ obj =
93
+ {
94
+ identity: {
95
+ username: 'test',
96
+ handle: '@test'
97
+ },
98
+ post_max_length: 256,
99
+ message_max_length: 2048,
100
+ version: 'wee',
101
+ paths: {
102
+ db: 'spec/mock/',
103
+ log: 'spec/mock'
104
+ },
105
+ platform: 'shoes',
106
+ ruby: '0',
107
+ locale: 'gibberish'
108
+ }
109
+ Ayadn::Settings.stub(:config).and_return(
110
+ JSON.parse(obj.to_json, object_class: OpenStruct)
111
+ )
112
+ global_hash = {
113
+ scrolling: false,
114
+ force: false
115
+ }
116
+ Ayadn::Settings.stub(:global).and_return(
117
+ JSON.parse(global_hash.to_json, object_class: OpenStruct)
118
+ )
46
119
  Ayadn::Logs.stub(:rec).and_return("logged")
47
120
  Ayadn::Databases.stub(:blacklist).and_return("blacklist")
48
121
  Ayadn::Databases.stub(:save_indexed_posts).and_return("indexed")
@@ -166,7 +239,7 @@ describe Ayadn::View do
166
239
  describe "#show_posts" do
167
240
  it 'outputs the stream' do
168
241
  printed = capture_stdout do
169
- Ayadn::View.new.show_posts(stream['data'])
242
+ Ayadn::View.new.show_posts(Ayadn::StreamObject.new(stream))
170
243
  end
171
244
  expect(printed).to include "23184500"
172
245
  expect(printed).to include "Backer of the Day"
@@ -180,7 +253,7 @@ describe Ayadn::View do
180
253
  describe "#show_raw" do
181
254
  it 'outputs the raw stream' do
182
255
  printed = capture_stdout do
183
- Ayadn::View.new.show_raw(stream['data'][0])
256
+ Ayadn::View.new.show_raw(Ayadn::StreamObject.new(stream))
184
257
  end
185
258
  expect(printed).to include '"created_at": "2013-05-19T22:33:57Z"'
186
259
  end
@@ -189,7 +262,7 @@ describe Ayadn::View do
189
262
  describe "#show_simple_post" do
190
263
  it 'outputs one post' do
191
264
  printed = capture_stdout do
192
- Ayadn::View.new.show_simple_post([stream['data'][0]])
265
+ Ayadn::View.new.show_simple_post([Ayadn::StreamObject.new(stream).posts[0]])
193
266
  end
194
267
  expect(printed).to include "23187443"
195
268
  expect(printed).to include "Julia Cory"
@@ -199,7 +272,7 @@ describe Ayadn::View do
199
272
  describe "#show_posts_with_index" do
200
273
  it 'outputs the indexed stream' do
201
274
  printed = capture_stdout do
202
- Ayadn::View.new.show_posts_with_index(stream['data'])
275
+ Ayadn::View.new.show_posts_with_index(Ayadn::StreamObject.new(stream))
203
276
  end
204
277
  expect(printed).to include "001"
205
278
  expect(printed).to include "Backer of the Day"
@@ -212,7 +285,7 @@ describe Ayadn::View do
212
285
  end
213
286
  it "outputs user info" do
214
287
  printed = capture_stdout do
215
- Ayadn::View.new.show_userinfos(user_e['data'], "")
288
+ Ayadn::View.new.show_userinfos(Ayadn::UserObject.new(user_e), "")
216
289
  end
217
290
  expect(printed).to include "Sound engineer"
218
291
  expect(printed).to include "aya.io"
@@ -5,34 +5,116 @@ require 'json'
5
5
  describe Ayadn::Workers do
6
6
 
7
7
  before do
8
- Ayadn::Settings.stub(:options).and_return({
8
+ Ayadn::Settings.stub(:options).and_return(
9
+ Ayadn::Preferences.new(
10
+ {
11
+ timeline: {
12
+ directed: true,
13
+ source: true,
14
+ symbols: true,
15
+ name: true,
16
+ date: true,
17
+ debug: false,
18
+ compact: false
19
+ },
20
+ marker: {
21
+ messages: true
22
+ },
23
+ counts: {
24
+ default: 50,
25
+ unified: 50,
26
+ global: 50,
27
+ checkins: 50,
28
+ conversations: 50,
29
+ photos: 50,
30
+ trending: 50,
31
+ mentions: 50,
32
+ convo: 50,
33
+ posts: 50,
34
+ messages: 20,
35
+ search: 200,
36
+ whoreposted: 20,
37
+ whostarred: 20,
38
+ whatstarred: 100,
39
+ files: 50
40
+ },
41
+ formats: {
42
+ table: {
43
+ width: 75,
44
+ borders: true
45
+ },
46
+ list: {
47
+ reverse: true
48
+ }
49
+ },
50
+ channels: {
51
+ links: true
52
+ },
9
53
  colors: {
54
+ id: :blue,
55
+ index: :red,
56
+ username: :green,
57
+ name: :magenta,
58
+ date: :cyan,
59
+ link: :yellow,
60
+ dots: :blue,
10
61
  hashtags: :cyan,
11
62
  mentions: :red,
12
- username: :green,
63
+ source: :cyan,
64
+ symbols: :green,
65
+ unread: :cyan,
66
+ debug: :red,
13
67
  excerpt: :green
14
68
  },
15
- timeline: {compact: false},
16
- formats: {table: {width: 75}, list: {reverse: true}},
17
- blacklist: {active: true}
18
- })
19
- Ayadn::Settings.stub(:config).and_return({
20
- identity: {
21
- username: 'test',
22
- handle: '@test'
23
- },
24
- post_max_length: 256,
25
- message_max_length: 2048,
26
- version: 'wee',
27
- paths: {
28
- db: 'spec/mock/',
29
- log: 'spec/mock'
69
+ backup: {
70
+ posts: false,
71
+ messages: false,
72
+ lists: false
73
+ },
74
+ scroll: {
75
+ spinner: true,
76
+ timer: 3,
77
+ date: false
78
+ },
79
+ nicerank: {
80
+ threshold: 2.1,
81
+ filter: true,
82
+ unranked: false
83
+ },
84
+ nowplaying: {},
85
+ blacklist: {
86
+ active: true
87
+ }
88
+ }))
89
+ require 'json'
90
+ require 'ostruct'
91
+ obj =
92
+ {
93
+ identity: {
94
+ username: 'test',
95
+ handle: '@test'
96
+ },
97
+ post_max_length: 256,
98
+ message_max_length: 2048,
99
+ version: 'wee',
100
+ paths: {
101
+ db: 'spec/mock/',
102
+ log: 'spec/mock'
103
+ },
104
+ platform: 'shoes',
105
+ ruby: '0',
106
+ locale: 'gibberish'
30
107
  }
31
- })
32
- Ayadn::Settings.stub(:global).and_return({
108
+ Ayadn::Settings.stub(:config).and_return(
109
+ JSON.parse(obj.to_json, object_class: OpenStruct)
110
+ )
111
+ global_hash = {
33
112
  scrolling: false,
34
113
  force: false
35
- })
114
+ }
115
+ Ayadn::Settings.stub(:global).and_return(
116
+ JSON.parse(global_hash.to_json, object_class: OpenStruct)
117
+ )
36
118
  Ayadn::Logs.stub(:rec).and_return("logged")
37
119
  Ayadn::Databases.stub(:blacklist).and_return("blacklist")
38
120
  Ayadn::Databases.stub(:users).and_return("users")
@@ -54,28 +136,35 @@ describe Ayadn::Workers do
54
136
 
55
137
  describe "#build_posts" do
56
138
  it "builds posts hash from stream" do
57
- posts = @workers.build_posts(data['data'])
139
+ posts = @workers.build_posts(Ayadn::StreamObject.new(data).posts)
140
+ p1 = posts.select { |post| post.id == 23187363 }.first
141
+ p2 = posts.select { |post| post.id == 23184500 }.first
142
+ p3 = posts.select { |post| post.id == 23185033 }.first
143
+ p4 = posts.select { |post| post.id == 23187443 }.first
58
144
  expect(posts.length).to eq 10
59
- expect(posts[23187363][:name]).to eq 'App.net Staff'
60
- expect(posts[23184500][:username]).to eq 'wired'
61
- expect(posts[23185033][:handle]).to eq '@hackernews'
62
- expect(posts[23184500][:links]).to eq ['http://ift.tt/1mtTrU9']
63
- expect(posts[23187443][:source_name]).to eq 'IFTTT'
64
- expect(posts[23187443][:thread_id]).to eq '23187443'
65
- expect(posts[23187443][:text]).to include 'Jagulsan. by Julia Cory'
66
- expect(posts[23187443][:is_starred]).to be false
67
- expect(posts[23187443][:is_repost]).to be false
68
- expect(posts[23187443][:is_reply]).to be false
69
- expect(posts[23187443][:directed_to]).to be false
70
- expect(posts[23187443][:has_checkins]).to be false
71
- expect(posts[23187443][:mentions]).to eq []
72
- expect(posts[23187443][:checkins]).to be_empty
145
+ expect(p1.name).to eq 'App.net Staff'
146
+ expect(p2.username).to eq 'wired'
147
+ expect(p3.handle).to eq '@hackernews'
148
+ expect(p2.links).to eq ['http://ift.tt/1mtTrU9']
149
+ expect(p4.source_name).to eq 'IFTTT'
150
+ expect(p4.thread_id).to eq '23187443'
151
+ expect(p4.text).to include 'Jagulsan. by Julia Cory'
152
+ expect(p4.is_starred).to be false
153
+ expect(p4.is_repost).to be false
154
+ expect(p4.is_reply).to be false
155
+ expect(p4.directed_to).to be false
156
+ expect(p4.has_checkins).to be false
157
+ expect(p4.mentions).to eq []
158
+ expect(p4.checkins).to be_empty
73
159
  end
74
160
  it "gets oembed link from checkins post" do
75
- posts = @workers.build_posts(checkins['data'])
76
- expect(posts[27101186][:links]).to eq ["https://photos.app.net/27101186/1"]
77
- expect(posts[27080492][:links]).to eq ["http://sprintr.co/27080492"]
78
- expect(posts[27073989][:links]).to eq ["http://pic.favd.net/27073989", "https://photos.app.net/27073989/1"]
161
+ posts = @workers.build_posts(Ayadn::StreamObject.new(checkins).posts)
162
+ p1 = posts.select { |post| post.id == 27101186 }.first
163
+ p2 = posts.select { |post| post.id == 27080492 }.first
164
+ p3 = posts.select { |post| post.id == 27073989 }.first
165
+ expect(p1.links).to eq ["https://photos.app.net/27101186/1"]
166
+ expect(p2.links).to eq ["http://sprintr.co/27080492"]
167
+ expect(p3.links).to eq ["http://pic.favd.net/27073989", "https://photos.app.net/27073989/1"]
79
168
  end
80
169
  end
81
170
 
@@ -94,21 +183,21 @@ describe Ayadn::Workers do
94
183
 
95
184
  describe "#links_from_posts" do
96
185
  it "extract links" do
97
- links = @workers.links_from_posts(data)
186
+ links = @workers.links_from_posts(Ayadn::StreamObject.new(data))
98
187
  expect(links).to eq ["http://feed.500px.com/~r/500px-best/~3/c2tMPEJVf6I/61517259", "https://app.net/b/m6bk3", "http://bit.ly/1cr16vM", "http://feed.500px.com/~r/500px-best/~3/i4uhLN-4rd4/61484745", "http://www.newscientist.com/article/dn25068-wikipediasize-maths-proof-too-big-for-humans-to-check.html#.UwTuA3gRq8M", "http://news.ycombinator.com/item?id=7264886", "http://ift.tt/1d0TA7I", "http://feed.500px.com/~r/500px-best/~3/hFi3AUnh_u8/61493427", "http://Experiment.com", "http://priceonomics.com/how-microryza-acquired-the-domain-experimentcom/", "http://news.ycombinator.com/item?id=7265540", "http://feeds.popsci.com/c/34567/f/632419/s/374c6496/sc/38/l/0L0Spopsci0N0Carticle0Cscience0Ccat0Ebites0Eare0Elinked0Edepression/story01.htm?utm_medium=App.net&utm_source=PourOver", "http://ift.tt/1mtTrU9"]
99
188
  end
100
189
  end
101
190
 
102
191
  describe "#extract_hashtags" do
103
192
  it "extracts hashtags" do
104
- tags = @workers.extract_hashtags(data['data'][0])
193
+ tags = @workers.extract_hashtags(Ayadn::StreamObject.new(data).posts[0])
105
194
  expect(tags).to eq ['photography']
106
195
  end
107
196
  end
108
197
 
109
198
  describe "#extract_links" do
110
199
  it "extracts links" do
111
- links = @workers.extract_links(data['data'][0])
200
+ links = @workers.extract_links(Ayadn::StreamObject.new(data).posts[0])
112
201
  expect(links).to eq ['http://feed.500px.com/~r/500px-best/~3/c2tMPEJVf6I/61517259']
113
202
  end
114
203
  end
@@ -124,17 +213,19 @@ describe Ayadn::Workers do
124
213
 
125
214
  describe "#extract_checkins" do
126
215
  it "extracts checkins" do
127
- posts = @workers.build_posts(checkins['data'])
216
+ posts = @workers.build_posts(Ayadn::StreamObject.new(checkins).posts)
217
+ p1 = posts.select { |post| post.id == 27101186 }.first
218
+ p2 = posts.select { |post| post.id == 26947690 }.first
128
219
  expect(posts.length).to eq 10
129
- expect(posts[27101186][:has_checkins]).to be true
130
- expect(posts[27101186][:checkins][:name]).to eq "Hobbs State Park"
131
- expect(posts[27101186][:checkins][:address]).to eq "21392 E Highway 12"
132
- expect(posts[27101186][:checkins][:address_extended]).to be nil
133
- expect(posts[27101186][:checkins][:locality]).to eq "Rogers"
134
- expect(posts[26947690][:has_checkins]).to be true
135
- expect(posts[26947690][:checkins][:categories]).to eq "Landmarks"
136
- expect(posts[26947690][:checkins][:country_code]).to eq "us"
137
- expect(posts[26947690][:mentions]).to eq ["tuaw"]
220
+ expect(p1.has_checkins).to be true
221
+ expect(p1.checkins[:name]).to eq "Hobbs State Park"
222
+ expect(p1.checkins[:address]).to eq "21392 E Highway 12"
223
+ expect(p1.checkins[:address_extended]).to be nil
224
+ expect(p1.checkins[:locality]).to eq "Rogers"
225
+ expect(p2.has_checkins).to be true
226
+ expect(p2.checkins[:categories]).to eq "Landmarks"
227
+ expect(p2.checkins[:country_code]).to eq "us"
228
+ expect(p2.mentions).to eq ["tuaw"]
138
229
  end
139
230
  end
140
231
 
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: '3.0'
4
+ version: '4.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-06 00:00:00.000000000 Z
11
+ date: 2016-05-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -94,34 +94,6 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '1.4'
97
- - !ruby/object:Gem::Dependency
98
- name: spotlite
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: '0.8'
104
- type: :runtime
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: '0.8'
111
- - !ruby/object:Gem::Dependency
112
- name: tvdb_party
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: '0.7'
118
- type: :runtime
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "~>"
123
- - !ruby/object:Gem::Version
124
- version: '0.7'
125
97
  - !ruby/object:Gem::Dependency
126
98
  name: amalgalite
127
99
  requirement: !ruby/object:Gem::Requirement
@@ -242,10 +214,9 @@ files:
242
214
  - doc/13-bookmark.md
243
215
  - doc/14-set.md
244
216
  - doc/15-nowplaying.md
245
- - doc/16-movie.md
246
- - doc/17-tvshow.md
247
- - doc/18-contact.md
248
- - doc/19-examples.md
217
+ - doc/16-contact.md
218
+ - doc/17-examples.md
219
+ - doc/18-develop.md
249
220
  - lib/ayadn.rb
250
221
  - lib/ayadn/action.rb
251
222
  - lib/ayadn/alias.rb
@@ -254,6 +225,7 @@ files:
254
225
  - lib/ayadn/app.rb
255
226
  - lib/ayadn/authorize.rb
256
227
  - lib/ayadn/blacklist.rb
228
+ - lib/ayadn/channel_object.rb
257
229
  - lib/ayadn/check.rb
258
230
  - lib/ayadn/cnx.rb
259
231
  - lib/ayadn/databases.rb
@@ -264,14 +236,16 @@ files:
264
236
  - lib/ayadn/errors.rb
265
237
  - lib/ayadn/extend.rb
266
238
  - lib/ayadn/fileops.rb
239
+ - lib/ayadn/filtered_post_object.rb
267
240
  - lib/ayadn/ids.rb
268
241
  - lib/ayadn/logs.rb
269
242
  - lib/ayadn/mark.rb
270
243
  - lib/ayadn/nicerank.rb
271
244
  - lib/ayadn/nowplaying.rb
272
- - lib/ayadn/nowwatching.rb
273
245
  - lib/ayadn/pinboard.rb
274
246
  - lib/ayadn/post.rb
247
+ - lib/ayadn/post_object.rb
248
+ - lib/ayadn/preferences_object.rb
275
249
  - lib/ayadn/profile.rb
276
250
  - lib/ayadn/scroll.rb
277
251
  - lib/ayadn/search.rb
@@ -279,8 +253,9 @@ files:
279
253
  - lib/ayadn/settings.rb
280
254
  - lib/ayadn/status.rb
281
255
  - lib/ayadn/stream.rb
256
+ - lib/ayadn/stream_object.rb
282
257
  - lib/ayadn/switch.rb
283
- - lib/ayadn/tvshow.rb
258
+ - lib/ayadn/user_object.rb
284
259
  - lib/ayadn/version.rb
285
260
  - lib/ayadn/view.rb
286
261
  - lib/ayadn/workers.rb
@@ -335,7 +310,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
335
310
  version: '0'
336
311
  requirements: []
337
312
  rubyforge_project:
338
- rubygems_version: 2.4.5
313
+ rubygems_version: 2.5.1
339
314
  signing_key:
340
315
  specification_version: 4
341
316
  summary: App.net command-line client.