usaidwat 1.4.1 → 1.4.2

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 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: