ayadn 1.2.8 → 1.2.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,91 @@
1
+ # encoding: utf-8
2
+ module Ayadn
3
+ class Debug
4
+
5
+ def self.http response, url
6
+ if Settings.options[:timeline][:show_debug] == true
7
+ deb = ":::::\n"
8
+ deb << "Url:\t\t#{url}\n\n"
9
+ deb << "Headers:\t#{response.headers}\n"
10
+ deb << ":::::\n"
11
+ puts deb.color(Settings.options[:colors][:debug])
12
+ end
13
+ end
14
+
15
+ def self.db dbs
16
+ if Settings.options[:timeline][:show_debug] == true
17
+ puts "/////\nSETTINGS\n"
18
+ jj JSON.parse((Settings.config).to_json)
19
+ jj JSON.parse((Settings.options).to_json)
20
+ puts "/////\n\n"
21
+
22
+ puts ">>>>>\nDATABASES\n"
23
+ dbs.each do |db|
24
+ puts "Path:\t#{db.file}\nLength:\t#{db.size}\nSize:\t#{db.bytesize / 1024}KB"
25
+ end
26
+ puts ">>>>>\n\n"
27
+
28
+ puts "^^^^^\nTOKEN\n"
29
+ puts Settings.user_token
30
+ puts "^^^^^\n\n"
31
+ end
32
+ end
33
+
34
+ def self.err error
35
+ if Settings.options[:timeline][:show_debug] == true
36
+ puts "--*--\nTRACE:\n"
37
+ raise error
38
+ puts "\n--*--\n\n"
39
+ end
40
+ end
41
+
42
+ def self.how_many_ranks niceranks, get_these
43
+ if Settings.options[:timeline][:show_debug] == true
44
+ deb = "=====\n"
45
+ deb << "NR from DB:\t#{niceranks}\n\n"
46
+ deb << "NR to get:\t#{get_these}\n"
47
+ deb << "=====\n"
48
+ puts deb.color(Settings.options[:colors][:debug])
49
+ end
50
+ end
51
+
52
+ def self.ranks_pool niceranks
53
+ if Settings.options[:timeline][:show_debug] == true
54
+ deb = "=====\n"
55
+ deb << "NR in pool:\t#{niceranks}\n"
56
+ deb << "=====\n"
57
+ puts deb.color(Settings.options[:colors][:debug])
58
+ end
59
+ end
60
+
61
+ def self.niceranks_error resp
62
+ if Settings.options[:timeline][:show_debug] == true
63
+ deb = "=====\n"
64
+ deb << "NR Error:\t#{resp}\n"
65
+ deb << "=====\n"
66
+ puts deb.color(Settings.options[:colors][:debug])
67
+ end
68
+ end
69
+
70
+ def self.total_ranks niceranks
71
+ if Settings.options[:timeline][:show_debug] == true
72
+ deb = "=====\n"
73
+ deb << "NiceRanks:\t#{niceranks}\n\n"
74
+ deb << "DB size:\t#{Databases.nicerank.size}\n"
75
+ deb << "=====\n"
76
+ puts deb.color(Settings.options[:colors][:debug])
77
+ end
78
+ end
79
+
80
+ def self.stream stream, options, target
81
+ if Settings.options[:timeline][:show_debug] == true
82
+ deb = "+++++\nStream meta:\t#{stream['meta']}\n\n"
83
+ deb << "Options:\t#{options.inspect}\n\n"
84
+ deb << "Target:\t\t#{target.inspect}\n\n"
85
+ deb << "Posts:\t\t#{stream['data'].length}\n+++++\n"
86
+ puts deb.color(Settings.options[:colors][:debug])
87
+ end
88
+ end
89
+
90
+ end
91
+ end
@@ -33,82 +33,82 @@ module Ayadn
33
33
  end
34
34
 
35
35
  def unified(options)
36
- if options[:count] || options[:since_id]
37
- @options_list = API.build_query(options)
36
+ @options_list = if options[:count] || options[:since_id]
37
+ API.build_query(options)
38
38
  else
39
- @options_list = API.build_query({count: Settings.options[:counts][:unified]})
39
+ API.build_query({count: Settings.options[:counts][:unified]})
40
40
  end
41
41
  "#{@posts_url}stream/unified?access_token=#{Settings.user_token}#{@options_list}"
42
42
  end
43
43
 
44
44
  def checkins(options)
45
- if options[:count] || options[:since_id]
46
- @options_list = API.build_query(options)
45
+ @options_list = if options[:count] || options[:since_id]
46
+ API.build_query(options)
47
47
  else
48
- @options_list = API.build_query({count: Settings.options[:counts][:checkins]})
48
+ API.build_query({count: Settings.options[:counts][:checkins]})
49
49
  end
50
50
  "#{@posts_url}stream/explore/checkins?access_token=#{Settings.user_token}#{@options_list}"
51
51
  end
52
52
 
53
53
  def global(options)
54
- if options[:count] || options[:since_id]
55
- @options_list = API.build_query(options)
54
+ @options_list = if options[:count] || options[:since_id]
55
+ API.build_query(options)
56
56
  else
57
- @options_list = API.build_query({count: Settings.options[:counts][:global]})
57
+ API.build_query({count: Settings.options[:counts][:global]})
58
58
  end
59
59
  "#{@posts_url}stream/global?access_token=#{Settings.user_token}#{@options_list}"
60
60
  end
61
61
 
62
62
  def trending(options)
63
- if options[:count] || options[:since_id]
64
- @options_list = API.build_query(options)
63
+ @options_list = if options[:count] || options[:since_id]
64
+ API.build_query(options)
65
65
  else
66
- @options_list = API.build_query({count: Settings.options[:counts][:trending]})
66
+ API.build_query({count: Settings.options[:counts][:trending]})
67
67
  end
68
68
  "#{@posts_url}stream/explore/trending?access_token=#{Settings.user_token}#{@options_list}"
69
69
  end
70
70
 
71
71
  def photos(options)
72
- if options[:count] || options[:since_id]
73
- @options_list = API.build_query(options)
72
+ @options_list = if options[:count] || options[:since_id]
73
+ API.build_query(options)
74
74
  else
75
- @options_list = API.build_query({count: Settings.options[:counts][:photos]})
75
+ API.build_query({count: Settings.options[:counts][:photos]})
76
76
  end
77
77
  "#{@posts_url}stream/explore/photos?access_token=#{Settings.user_token}#{@options_list}"
78
78
  end
79
79
 
80
80
  def conversations(options)
81
- if options[:count] || options[:since_id]
82
- @options_list = API.build_query(options)
81
+ @options_list = if options[:count] || options[:since_id]
82
+ API.build_query(options)
83
83
  else
84
- @options_list = API.build_query({count: Settings.options[:counts][:conversations]})
84
+ API.build_query({count: Settings.options[:counts][:conversations]})
85
85
  end
86
86
  "#{@posts_url}stream/explore/conversations?access_token=#{Settings.user_token}#{@options_list}"
87
87
  end
88
88
 
89
89
  def mentions(username, options)
90
- if options[:count]
91
- @options_list = API.build_query(options)
90
+ @options_list = if options[:count]
91
+ API.build_query(options)
92
92
  else
93
- @options_list = API.build_query({count: Settings.options[:counts][:mentions]})
93
+ API.build_query({count: Settings.options[:counts][:mentions]})
94
94
  end
95
95
  "#{@users_url}#{username}/mentions/?access_token=#{Settings.user_token}#{@options_list}"
96
96
  end
97
97
 
98
98
  def posts(username, options)
99
- if options[:count]
100
- @options_list = API.build_query(options)
99
+ @options_list = if options[:count]
100
+ API.build_query(options)
101
101
  else
102
- @options_list = API.build_query({count: Settings.options[:counts][:posts]})
102
+ API.build_query({count: Settings.options[:counts][:posts]})
103
103
  end
104
104
  "#{@users_url}#{username}/posts/?access_token=#{Settings.user_token}#{@options_list}"
105
105
  end
106
106
 
107
107
  def whatstarred(username, options)
108
- if options[:count]
109
- @options_list = API.build_query(options)
108
+ @options_list = if options[:count]
109
+ API.build_query(options)
110
110
  else
111
- @options_list = API.build_query({count: Settings.options[:counts][:default]})
111
+ API.build_query({count: Settings.options[:counts][:default]})
112
112
  end
113
113
  "#{@users_url}#{username}/stars/?access_token=#{Settings.user_token}#{@options_list}"
114
114
  end
@@ -126,10 +126,10 @@ module Ayadn
126
126
  end
127
127
 
128
128
  def convo(post_id, options)
129
- if options[:count]
130
- @options_list = API.build_query(options)
129
+ @options_list = if options[:count]
130
+ API.build_query(options)
131
131
  else
132
- @options_list = API.build_query({count: Settings.options[:counts][:convo]})
132
+ API.build_query({count: Settings.options[:counts][:convo]})
133
133
  end
134
134
  "#{@posts_url}#{post_id}/replies/?access_token=#{Settings.user_token}#{@options_list}"
135
135
  end
@@ -155,37 +155,37 @@ module Ayadn
155
155
  end
156
156
 
157
157
  def search(words, options)
158
- if options[:count]
159
- @options_list = API.build_query(options)
158
+ @options_list = if options[:count]
159
+ API.build_query(options)
160
160
  else
161
- @options_list = API.build_query({count: Settings.options[:counts][:search]})
161
+ API.build_query({count: Settings.options[:counts][:search]})
162
162
  end
163
163
  "#{@posts_url}search?text=#{words}&access_token=#{Settings.user_token}#{@options_list}"
164
164
  end
165
165
 
166
166
  def search_users words, options
167
- if options[:count]
168
- @options_list = API.build_query(options)
167
+ @options_list = if options[:count]
168
+ API.build_query(options)
169
169
  else
170
- @options_list = API.build_query({count: Settings.options[:counts][:search]})
170
+ API.build_query({count: Settings.options[:counts][:search]})
171
171
  end
172
172
  "#{@users_url}search?q=#{words}&access_token=#{Settings.user_token}#{@options_list}"
173
173
  end
174
174
 
175
175
  def search_annotations anno, options
176
- if options[:count]
177
- @options_list = API.build_query(options)
176
+ @options_list = if options[:count]
177
+ API.build_query(options)
178
178
  else
179
- @options_list = API.build_query({count: Settings.options[:counts][:search]})
179
+ API.build_query({count: Settings.options[:counts][:search]})
180
180
  end
181
181
  "#{@posts_url}search?annotation_types=#{anno}&access_token=#{Settings.user_token}#{@options_list}"
182
182
  end
183
183
 
184
184
  def search_messages channel_id, words, options
185
- if options[:count]
186
- @options_list = API.build_query(options)
185
+ @options_list = if options[:count]
186
+ API.build_query(options)
187
187
  else
188
- @options_list = API.build_query({count: Settings.options[:counts][:search]})
188
+ API.build_query({count: Settings.options[:counts][:search]})
189
189
  end
190
190
  "#{@channels_url}messages/search?query=#{words}&channel_ids=#{channel_id}&access_token=#{Settings.user_token}#{@options_list}"
191
191
  end
@@ -200,15 +200,14 @@ module Ayadn
200
200
  end
201
201
 
202
202
  def single_post(post_id, options)
203
- @options_list = API.build_query(options)
204
- "#{@posts_url}#{post_id}?access_token=#{Settings.user_token}#{@options_list}"
203
+ "#{@posts_url}#{post_id}?access_token=#{Settings.user_token}#{API.build_query(options)}"
205
204
  end
206
205
 
207
206
  def files_list(options)
208
- if options[:count]
209
- @options_list = API.build_query(options)
207
+ @options_list = if options[:count]
208
+ API.build_query(options)
210
209
  else
211
- @options_list = API.build_query({count: Settings.options[:counts][:files]})
210
+ API.build_query({count: Settings.options[:counts][:files]})
212
211
  end
213
212
  "#{@users_url}me/files?access_token=#{Settings.user_token}#{@options_list}"
214
213
  end
data/lib/ayadn/errors.rb CHANGED
@@ -11,9 +11,7 @@ module Ayadn
11
11
  Logs.rec.debug "STACK: #{caller}"
12
12
  Logs.rec.error "--END--"
13
13
  puts "\n(error logged in #{Settings.config[:paths][:log]}/ayadn.log)\n".color(:blue)
14
- if Settings.options[:timeline][:show_debug] == true
15
- raise error
16
- end
14
+ Debug.err error
17
15
  exit
18
16
  end
19
17
  def self.error(status)
data/lib/ayadn/fileops.rb CHANGED
@@ -38,9 +38,7 @@ module Ayadn
38
38
 
39
39
  def get_users(list)
40
40
  h = {}
41
- list.each do |k,v|
42
- h[k] = { username: v[0], name: v[1] }
43
- end
41
+ list.each {|k,v| h[k] = { username: v[0], name: v[1] }}
44
42
  h
45
43
  end
46
44
 
data/lib/ayadn/mark.rb CHANGED
@@ -139,7 +139,7 @@ module Ayadn
139
139
  entry << "Beginning:".color(:cyan)
140
140
  text = content[:root_text].gsub(/[\r\n]/, ' ')
141
141
  if text.length <= 60
142
- entry << "\t#{text[0..60]}\n"
142
+ entry << "\t#{text}\n"
143
143
  else
144
144
  entry << "\t#{text[0..60]} [...]\n"
145
145
  end
@@ -4,7 +4,6 @@ module Ayadn
4
4
 
5
5
  def initialize
6
6
  @url = 'http://api.search-adn.net/user/nicerank?ids='
7
- @show_debug = Settings.options[:timeline][:show_debug]
8
7
  end
9
8
 
10
9
  def get_ranks stream
@@ -27,6 +26,7 @@ module Ayadn
27
26
  expire = Settings.options[:nicerank][:cache] * 3600
28
27
  end
29
28
  end
29
+
30
30
  db_ranks.each do |id, ranks|
31
31
  if ranks.nil? || (Time.now - ranks[:cached]) > expire
32
32
  get_these << id
@@ -40,17 +40,17 @@ module Ayadn
40
40
  end
41
41
  end
42
42
 
43
- how_many(niceranks, get_these) if @show_debug == true
43
+ Debug.how_many_ranks niceranks, get_these
44
44
 
45
45
  unless get_these.empty?
46
46
  resp = JSON.parse(CNX.get "#{@url}#{get_these.join(',')}")
47
47
 
48
48
  if resp['meta']['code'] != 200
49
- nr_error(resp) if @show_debug == true
49
+ Debug.niceranks_error resp
50
50
  Errors.nr "REQUESTED: #{get_these.join(' ')}"
51
51
  Errors.nr "RESPONSE: #{resp}"
52
52
  if niceranks
53
- in_pool(niceranks) if @show_debug == true
53
+ Debug.ranks_pool niceranks
54
54
  return niceranks
55
55
  else
56
56
  return {}
@@ -66,7 +66,7 @@ module Ayadn
66
66
  }
67
67
  end
68
68
 
69
- got(niceranks) if @show_debug == true
69
+ Debug.total_ranks niceranks
70
70
  end
71
71
 
72
72
  Databases.add_niceranks niceranks
@@ -74,36 +74,5 @@ module Ayadn
74
74
  niceranks
75
75
  end
76
76
 
77
- private
78
-
79
- def how_many niceranks, get_these
80
- deb = "=====\n"
81
- deb << "NR from DB:\t#{niceranks}\n\n"
82
- deb << "NR to get:\t#{get_these}\n"
83
- deb << "=====\n"
84
- puts deb.color(Settings.options[:colors][:debug])
85
- end
86
-
87
- def in_pool niceranks
88
- deb = "=====\n"
89
- deb << "NR in pool:\t#{niceranks}\n"
90
- deb << "=====\n"
91
- puts deb.color(Settings.options[:colors][:debug])
92
- end
93
-
94
- def nr_error resp
95
- deb = "=====\n"
96
- deb << "NR Error:\t#{resp['meta']}"
97
- deb << "=====\n"
98
- puts deb.color(Settings.options[:colors][:debug])
99
- end
100
-
101
- def got niceranks
102
- deb = "=====\n"
103
- deb << "NiceRanks:\t#{niceranks}\n\n"
104
- deb << "DB size:\t#{Databases.nicerank.size}\n"
105
- deb << "=====\n"
106
- puts deb.color(Settings.options[:colors][:debug])
107
- end
108
77
  end
109
78
  end
@@ -8,9 +8,9 @@ module Ayadn
8
8
 
9
9
  def ask_credentials
10
10
  begin
11
- puts "Please enter your Pinboard username (CTRL+C to cancel): ".color(:green)
11
+ puts Status.pin_username
12
12
  pin_username = STDIN.gets.chomp()
13
- puts "\nPlease enter your Pinboard password (invisible, CTRL+C to cancel): ".color(:green)
13
+ puts Status.pin_password
14
14
  pin_password = STDIN.noecho(&:gets).chomp()
15
15
  rescue Interrupt
16
16
  abort(Status.canceled)
data/lib/ayadn/post.rb CHANGED
@@ -56,8 +56,7 @@ module Ayadn
56
56
  post << buffer
57
57
  end
58
58
  rescue Interrupt
59
- #temp
60
- Errors.info "Write post: canceled."
59
+ #Errors.info "Write post: canceled."
61
60
  abort(Status.canceled)
62
61
  end
63
62
  post
@@ -93,10 +92,10 @@ module Ayadn
93
92
  send_content(url, payload_basic(text))
94
93
  end
95
94
 
96
- def send_log(data)
97
- url = Endpoints.new.ayadnlog
98
- send_content(url, payload_log(data))
99
- end
95
+ # def send_log(data)
96
+ # url = Endpoints.new.ayadnlog
97
+ # send_content(url, payload_log(data))
98
+ # end
100
99
 
101
100
  def send_post(text)
102
101
  url = Endpoints.new.posts_url
@@ -114,13 +113,11 @@ module Ayadn
114
113
  end
115
114
 
116
115
  def check_post_length(lines_array)
117
- max_size = Settings.config[:post_max_length]
118
- check_length(lines_array, max_size)
116
+ check_length(lines_array, Settings.config[:post_max_length])
119
117
  end
120
118
 
121
119
  def check_message_length(lines_array)
122
- max_size = Settings.config[:message_max_length]
123
- check_length(lines_array, max_size)
120
+ check_length(lines_array, Settings.config[:message_max_length])
124
121
  end
125
122
 
126
123
  def check_length(lines_array, max_size)
@@ -132,7 +129,7 @@ module Ayadn
132
129
  exit
133
130
  elsif size > max_size
134
131
  Errors.warn "Canceled: too long (#{size - max_size}chars)"
135
- abort("\n\nCanceled: too long. #{max_size} max, #{size - max_size} characters to remove.\n\n\n".color(:red))
132
+ abort(Status.too_long(size, max_size))
136
133
  end
137
134
  end
138
135
 
@@ -150,7 +147,7 @@ module Ayadn
150
147
  end
151
148
 
152
149
  def error_text_empty
153
- puts "\n\nYou should provide some text.\n\n".color(:red)
150
+ puts Status.no_text
154
151
  Errors.warn "-Post without text-"
155
152
  end
156
153
 
@@ -214,18 +211,18 @@ module Ayadn
214
211
  }
215
212
  end
216
213
 
217
- def payload_log(data)
218
- extended = annotations
219
- extended << {
220
- "type" => "com.ayadn.log",
221
- "value" => data
222
- }
223
- return {
224
- "text" => "#ayadnlog",
225
- "entities" => entities,
226
- "annotations" => extended
227
- }
228
- end
214
+ # def payload_log(data)
215
+ # extended = annotations
216
+ # extended << {
217
+ # "type" => "com.ayadn.log",
218
+ # "value" => data
219
+ # }
220
+ # return {
221
+ # "text" => "#ayadnlog",
222
+ # "entities" => entities,
223
+ # "annotations" => extended
224
+ # }
225
+ # end
229
226
 
230
227
  end
231
228
  end
data/lib/ayadn/scroll.rb CHANGED
@@ -6,7 +6,6 @@ module Ayadn
6
6
  @api = api
7
7
  @view = view
8
8
  @chars = %w{ | / - \\ }
9
- @show_debug = Settings.options[:timeline][:show_debug]
10
9
  end
11
10
 
12
11
  def method_missing(meth, options)
@@ -25,19 +24,8 @@ module Ayadn
25
24
  loop do
26
25
  begin
27
26
  stream = get(target, options)
28
-
29
- # if options[:filter] == true
30
- unless stream['data'].empty?
31
- niceranks = @nr.get_ranks stream
32
- else
33
- niceranks = {}
34
- end
35
- # else
36
- # niceranks = {}
37
- # end
38
-
39
- debug_stream(stream, options, target) if @show_debug == true
40
-
27
+ stream['data'].empty? ? niceranks = {} : niceranks = @nr.get_ranks(stream)
28
+ Debug.stream stream, options, target
41
29
  target = "explore:#{target}" if explore?(target)
42
30
  show_if_new(stream, options, target, niceranks)
43
31
  target = orig_target if target =~ /explore/
@@ -51,14 +39,11 @@ module Ayadn
51
39
 
52
40
  def mentions(username, options)
53
41
  options = check_raw(options)
54
- user = @api.get_user(username)
55
- id = user['data']['id']
42
+ id = @api.get_user(username)['data']['id']
56
43
  loop do
57
44
  begin
58
45
  stream = @api.get_mentions(username, options)
59
-
60
- debug_stream(stream, options, username) if @show_debug == true
61
-
46
+ Debug.stream stream, options, username
62
47
  show_if_new(stream, options, "mentions:#{id}")
63
48
  options = save_then_return(stream, options)
64
49
  countdown
@@ -70,14 +55,11 @@ module Ayadn
70
55
 
71
56
  def posts(username, options)
72
57
  options = check_raw(options)
73
- user = @api.get_user(username)
74
- id = user['data']['id']
58
+ id = @api.get_user(username)['data']['id']
75
59
  loop do
76
60
  begin
77
61
  stream = @api.get_posts(username, options)
78
-
79
- debug_stream(stream, options, username) if @show_debug == true
80
-
62
+ Debug.stream stream, options, username
81
63
  show_if_new(stream, options, "posts:#{id}")
82
64
  options = save_then_return(stream, options)
83
65
  countdown
@@ -92,9 +74,7 @@ module Ayadn
92
74
  loop do
93
75
  begin
94
76
  stream = @api.get_convo(post_id, options)
95
-
96
- debug_stream(stream, options, post_id) if @show_debug == true
97
-
77
+ Debug.stream stream, options, post_id
98
78
  show_if_new(stream, options, "replies:#{post_id}")
99
79
  options = save_then_return(stream, options)
100
80
  countdown
@@ -109,9 +89,7 @@ module Ayadn
109
89
  loop do
110
90
  begin
111
91
  stream = @api.get_messages(channel_id, options)
112
-
113
- debug_stream(stream, options, channel_id) if @show_debug == true
114
-
92
+ Debug.stream stream, options, channel_id
115
93
  show_if_new(stream, options, "channel:#{channel_id}")
116
94
  options = save_then_return(stream, options)
117
95
  countdown
@@ -123,20 +101,8 @@ module Ayadn
123
101
 
124
102
  private
125
103
 
126
- def debug_stream stream, options, target
127
- deb = "+++++\nStream meta:\t#{stream['meta']}\n\n"
128
- deb << "Options:\t#{options.inspect}\n\n"
129
- deb << "Target:\t\t#{target.inspect}\n\n"
130
- deb << "Posts:\t\t#{stream['data'].length}\n+++++\n"
131
- puts deb.color(Settings.options[:colors][:debug])
132
- end
133
-
134
104
  def countdown
135
- if Settings.options[:timeline][:show_spinner] == true
136
- waiting
137
- else
138
- pause
139
- end
105
+ Settings.options[:timeline][:show_spinner] == true ? waiting : pause
140
106
  end
141
107
 
142
108
  def clear
@@ -179,10 +145,7 @@ module Ayadn
179
145
  end
180
146
 
181
147
  def waiting
182
- interval = Settings.options[:scroll][:timer] * 10
183
- interval.times do
184
- spin
185
- end
148
+ (Settings.options[:scroll][:timer] * 10).times { spin }
186
149
  end
187
150
 
188
151
  def pause
@@ -226,10 +189,10 @@ module Ayadn
226
189
  end
227
190
 
228
191
  def show(stream, options, niceranks)
229
- unless options[:raw]
230
- @view.show_posts(stream['data'], options, niceranks)
231
- else
192
+ if options[:raw]
232
193
  jj stream
194
+ else
195
+ @view.show_posts(stream['data'], options, niceranks)
233
196
  end
234
197
  end
235
198
 
@@ -212,4 +212,5 @@ module Ayadn
212
212
  end
213
213
 
214
214
  end
215
+
215
216
  end
data/lib/ayadn/status.rb CHANGED
@@ -247,5 +247,32 @@ module Ayadn
247
247
  def self.cache_range
248
248
  "\nPlease enter a number of hours between 3 and 168.\n\n".color(:red)
249
249
  end
250
+ def self.must_be_in_index
251
+ "\nNumber must be in the range of the indexed posts.\n".color(:red)
252
+ end
253
+ def self.user_404 username
254
+ "\nUser #{username} doesn't exist. It could be a deleted account.\n".color(:red)
255
+ end
256
+ def self.post_404(post_id)
257
+ "\nImpossible to find #{post_id}. This post may have been deleted.\n".color(:red)
258
+ end
259
+ def self.no_alias
260
+ "\nThis alias doesn't exist.\n\n".color(:red)
261
+ end
262
+ def self.no_itunes
263
+ "\nCanceled: unable to get info from iTunes.\n".color(:red)
264
+ end
265
+ def self.pin_username
266
+ "Please enter your Pinboard username (CTRL+C to cancel): ".color(:green)
267
+ end
268
+ def self.pin_password
269
+ "\nPlease enter your Pinboard password (invisible, CTRL+C to cancel): ".color(:green)
270
+ end
271
+ def self.too_long size, max_size
272
+ "\n\nCanceled: too long. #{max_size} max, #{size - max_size} characters to remove.\n\n\n".color(:red)
273
+ end
274
+ def self.no_text
275
+ "\n\nYou should provide some text.\n\n".color(:red)
276
+ end
250
277
  end
251
278
  end