usaidwat 1.4.1 → 1.4.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 109f7714eb054decf6d7c307f071c5590af3a0e1
4
- data.tar.gz: dd67a99e77fee4b8c931d0c0e37090be2e165711
3
+ metadata.gz: f60bbafb7dc38ce3ba607557393b5be840110def
4
+ data.tar.gz: 265fc8c863875b82178991a44f3e11cb040e00e7
5
5
  SHA512:
6
- metadata.gz: 8b415cfb6cb5b8be767bcf0bed60f72448681512356ad3964310cb95e2d88d2169da679f0d5fcc79ae0d9ee1e86d5601701cfb7712a028102d68c506c6dbed09
7
- data.tar.gz: 74378fa1d498786439eb61cc9100bb5f8552761ab14fcc9e0c9eefe02baac235017ee902c432bd831bdde60fe5449032c1d00cf60677377d8ecabe0162788140
6
+ metadata.gz: 0601d41a7aefeda88672eba637015ad703de34618cf41535938d4f8d83e72a077bbebfef0317938be94d88498acc95395ee2f46244d6a91fc301fc5a49d4d0d9
7
+ data.tar.gz: b20001b8c0a9fee51df926b464d90b51922a244028d9124119f2803e573de2935ba22551c338ffb71e13c177348bd89fb68c2574c688d0e4fb853dfc7dfb8cb7
data/features/log.feature CHANGED
@@ -65,7 +65,7 @@ Feature: Browse comments
65
65
  wikipedia
66
66
  http://www.reddit.com/r/wikipedia/comments/142t4w/z/c79peed
67
67
  Heisenbug: a software bug that seems to disappear or alter its behavior when one
68
- 1 Dec 2012 12:14 PM • +1
68
+ Sat, 1 Dec 2012, 12:14 PM • +1
69
69
 
70
70
  Yep. My first experience with a Heisenbug occurred in a C++ program, and disappeared when I tried to print a variable with printf (only to reappear when that call was removed).
71
71
 
@@ -73,7 +73,7 @@ Feature: Browse comments
73
73
  nyc
74
74
  http://www.reddit.com/r/nyc/comments/141zqc/z/c79dxg6
75
75
  NYC taxi roof lights get overhaul - A light simply will mean the cab is availab
76
- 30 Nov 2012 4:44 PM • +2
76
+ Fri, 30 Nov 2012, 4:44 PM • +2
77
77
 
78
78
  It has a fare when the lights are off.
79
79
 
@@ -81,7 +81,7 @@ Feature: Browse comments
81
81
  worldnews
82
82
  http://www.reddit.com/r/worldnews/comments/140mra/z/c797jq4
83
83
  Palestinians win upgraded UN status by wide margin
84
- 30 Nov 2012 10:09 AM • +1
84
+ Fri, 30 Nov 2012, 10:09 AM • +1
85
85
 
86
86
  The Judgment of Solomon Accords.
87
87
  """
@@ -184,6 +184,38 @@ Feature: Show posts
184
184
  http://www.infoq.com/news/2014/05/facebook-mvc-flux
185
185
  """
186
186
 
187
+ Scenario: List posts in a compact form
188
+ Given the Reddit service returns posts for the user "mipadi"
189
+ When I run `usaidwat posts log --oneline mipadi`
190
+ Then it should pass with:
191
+ """
192
+ short Science Says Being Short Makes You Depressed
193
+ Games The Xbox One Is Garbage And The Future Is Bullshit
194
+ technology Mozilla lays out a proposed set of rules for content blockers
195
+ apple Mozilla lays out a set of proposed rules for content blocking
196
+ vim Vim setup for Markdown
197
+ django Deploy Django projects using git push
198
+ webdev The Future of Web Design is Hidden in the History of Architecture
199
+ swift Does Swift make native app development easier?
200
+ webdev Microservices in Clojure
201
+ movies Interstellar's true black hole would have been too confusing for audience
202
+ webdev Major security alert as 40,000 MongoDB databases left unsecured on the in
203
+ vim Why does my shell prompt disappear when I install and use vim 7.4 (on CentOS
204
+ swift Swift for CLI tools
205
+ Games Chief Executive of Rovio, Maker of Angry Birds Game, to Step Down
206
+ webdev You have ruined HTML
207
+ swift A few thoughts on Swift
208
+ webdev Sick of Ruby, dynamic typing, side effects, and basically object-oriented
209
+ webdev Vim for people who think things like Vim are weird and hard
210
+ webdev The emperor’s new clothes were built with Node.js
211
+ webdev Clojure, or how to put the spark back into your relationship with program
212
+ Clojure Clojure: A Retrospective
213
+ programming Fresh perspectives: Learning new languages after you know (quite) a
214
+ webdev I created a tool for sampling Reddit users' karma (link and comment)
215
+ programming Erlang and code style: Musings on mostly defensive programming style
216
+ webdev Facebook: MVC Does Not Scale, Use Flux Instead
217
+ """
218
+
187
219
  Scenario: List posts when user has no submissions
188
220
  Given the Reddit service returns posts for the user "blank"
189
221
  And time is frozen at Nov 19, 2015 11:22 AM
@@ -140,6 +140,7 @@ module USaidWat
140
140
 
141
141
  c.command(:log) do |s|
142
142
  s.description "Show a user's submitted posts"
143
+ s.option 'oneline', '--oneline', 'Output log in a more compact form'
143
144
  s.action do |args, options|
144
145
  process_log(options, args)
145
146
  end
@@ -162,6 +163,7 @@ module USaidWat
162
163
 
163
164
  def process_log(options, args)
164
165
  raise ArgumentError.new('You must specify a username') if args.empty?
166
+ oneline = !!options['oneline']
165
167
  username = args.shift
166
168
  subreddits = args.subreddits
167
169
 
@@ -174,7 +176,7 @@ module USaidWat
174
176
  quit res.value if res.left?
175
177
  posts = res.value
176
178
 
177
- formatter = USaidWat::CLI::PostFormatter.new
179
+ formatter = (oneline ? USaidWat::CLI::CompactPostFormatter : USaidWat::CLI::PostFormatter).new
178
180
  page
179
181
  posts.each { |p| print formatter.format(p) }
180
182
  end
@@ -67,6 +67,20 @@ module USaidWat
67
67
  end
68
68
  end
69
69
 
70
+ class CompactPostFormatter < BaseFormatter
71
+ def format(post)
72
+ cols = tty.width
73
+ out = StringIO.new
74
+ subreddit = post.subreddit
75
+ cols -= subreddit.length + 1
76
+ title = post.title.strip.transform_html_entities.truncate(cols)
77
+ out.write(subreddit.color(:green))
78
+ out.write(" #{title}\n")
79
+ out.rewind
80
+ out.read
81
+ end
82
+ end
83
+
70
84
  class CommentFormatter < BaseFormatter
71
85
  def format(comment)
72
86
  cols = tty.width
@@ -112,9 +126,9 @@ module USaidWat
112
126
  if relative_dates?
113
127
  d.ago
114
128
  else
115
- d_part = d.strftime("%-d %b %Y")
129
+ d_part = d.strftime("%a, %-d %b %Y")
116
130
  t_part = d.strftime("%l:%M %p").strip
117
- "#{d_part} #{t_part}"
131
+ "#{d_part}, #{t_part}"
118
132
  end
119
133
  end
120
134
 
@@ -1,3 +1,3 @@
1
1
  module USaidWat
2
- VERSION = "1.4.1"
2
+ VERSION = "1.4.2"
3
3
  end
@@ -318,6 +318,21 @@ EXPECTED
318
318
  end
319
319
  end
320
320
 
321
+ describe CompactPostFormatter do
322
+ let (:formatter) { CompactPostFormatter.new }
323
+
324
+ describe '#format' do
325
+ it 'should return a string containing the formatted comment' do
326
+ post = double('post')
327
+ expect(post).to receive(:subreddit).and_return('programming')
328
+ expect(post).to receive(:title).and_return('Why Brit Ruby 2013 was cancelled and why this is not ok - Gist')
329
+ expected = "programming Why Brit Ruby 2013 was cancelled and why this is not ok - Gist\n"
330
+ actual = formatter.format(post).delete_ansi_color_codes
331
+ expect(actual).to eq(expected)
332
+ end
333
+ end
334
+ end
335
+
321
336
  describe TallyFormatter do
322
337
  before(:all) do
323
338
  Struct.new('PartitionData', :longest, :counts)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: usaidwat
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.1
4
+ version: 1.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Dippery
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-18 00:00:00.000000000 Z
11
+ date: 2016-04-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: downterm
@@ -226,9 +226,9 @@ homepage: https://github.com/mdippery/usaidwat
226
226
  licenses:
227
227
  - MIT
228
228
  metadata:
229
- build_date: 2016-02-17 21:16:59 PST
230
- commit: v1.4.1
231
- commit_hash: 0dc8b829187f42a68619a70fbca57b2130f8099f
229
+ build_date: 2016-04-06 19:24:55 PDT
230
+ commit: v1.4.2
231
+ commit_hash: babb216c8e4a29a58fa00518a9cf164ab827fc73
232
232
  post_install_message:
233
233
  rdoc_options: []
234
234
  require_paths: