usaidwat 1.3.0 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitattributes +1 -0
- data/README.textile +7 -2
- data/bin/usaidwat +2 -1
- data/features/fixtures/submissions_blank.json +1 -0
- data/features/fixtures/submissions_mipadi.json +1 -0
- data/features/fixtures/submissions_testuser.json +1 -0
- data/features/help.feature +5 -2
- data/features/log.feature +2 -1
- data/features/posts.feature +349 -0
- data/features/step_definitions/time_steps.rb +1 -1
- data/features/tally.feature +12 -6
- data/features/user.feature +2 -1
- data/lib/usaidwat.rb +1 -2
- data/lib/usaidwat/application.rb +87 -61
- data/lib/usaidwat/client.rb +8 -0
- data/lib/usaidwat/count.rb +27 -0
- data/lib/usaidwat/ext/array.rb +5 -0
- data/lib/usaidwat/ext/mercenary.rb +16 -0
- data/lib/usaidwat/filter.rb +40 -0
- data/lib/usaidwat/formatter.rb +42 -1
- data/lib/usaidwat/service.rb +17 -0
- data/lib/usaidwat/version.rb +1 -1
- data/spec/usaidwat/array_spec.rb +36 -0
- data/spec/usaidwat/client_spec.rb +24 -0
- data/spec/usaidwat/count_spec.rb +61 -0
- data/spec/usaidwat/filter_spec.rb +76 -0
- data/spec/usaidwat/formatter_spec.rb +92 -0
- data/usaidwat.gemspec +2 -2
- metadata +40 -26
- data/features/support/time.rb +0 -5
- data/lib/usaidwat/terminal.rb +0 -19
- data/spec/usaidwat/terminal_spec.rb +0 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4ea17e3c87e6fd43b7db8331da055a68c107c031
|
4
|
+
data.tar.gz: 9a542511c2add4dc3ab9096f3d1ce438f0898cae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 523c1c2fd50fc83f9c1c9c6f5e9fea234b8ed585c454e28d7f9982696a23b9f94cb1e8daa015b5ce9bcae0208df8620c8a9b98c72984150e70caf85b0e495332
|
7
|
+
data.tar.gz: fdd7d85341325af2a2e17c9e91a3225278a2b3d4717c599e6af7fe8bd87748bb678b3ea280189cdc4fe74eef3332c96d2825cccc011749e58dc04cc6553f9c3d
|
data/.gitattributes
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
*.json diff=json
|
data/README.textile
CHANGED
@@ -16,8 +16,7 @@ To list a Redditor's comments, use the @log@ subcommand:
|
|
16
16
|
|
17
17
|
bc. $ usaidwat log mipadi
|
18
18
|
|
19
|
-
To list a count of subreddits in which a user has posted, use the @tally@
|
20
|
-
subcommand:
|
19
|
+
To list a count of subreddits in which a user has posted, use the @tally@ subcommand:
|
21
20
|
|
22
21
|
bc. $ usaidwat tally mipadi
|
23
22
|
|
@@ -48,3 +47,9 @@ All the comments for the given subreddit will be printed.
|
|
48
47
|
h2(#testing). Testing
|
49
48
|
|
50
49
|
Test suites can be run with RSpec and Cucumber.
|
50
|
+
|
51
|
+
h2(#development). Development
|
52
|
+
|
53
|
+
The repository has been configured to use "jq":https://stedolan.github.io/jq/ to generate pretty diffs for the @.json@ files in @fixtures/features@. To use these prettier diffs, install jq, then run this:
|
54
|
+
|
55
|
+
bc. $ git config diff.json.textconv "jq '.'"
|
data/bin/usaidwat
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
{"kind": "Listing", "data": {"modhash": "", "children": [], "after": null, "before": null}}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"kind": "Listing", "data": {"modhash": "", "children": [{"kind": "t3", "data": {"domain": "vice.com", "banned_by": null, "media_embed": {}, "subreddit": "short", "selftext_html": null, "selftext": "", "likes": null, "suggested_sort": null, "user_reports": [], "secure_media": null, "link_flair_text": "'Science'", "id": "3pj7rx", "from_kind": null, "gilded": 0, "archived": false, "clicked": false, "report_reasons": null, "author": "mipadi", "media": null, "score": 12, "approved_by": null, "over_18": false, "hidden": false, "num_comments": 65, "thumbnail": "", "subreddit_id": "t5_2sgvi", "hide_score": false, "edited": false, "link_flair_css_class": "neutral", "author_flair_css_class": "blue", "downs": 0, "secure_media_embed": {}, "saved": false, "removal_reason": null, "stickied": false, "from": null, "is_self": false, "from_id": null, "permalink": "/r/short/comments/3pj7rx/science_says_being_short_makes_you_depressed/", "locked": false, "name": "t3_3pj7rx", "created": 1445398597.0, "url": "http://www.vice.com/read/it-sucks-to-be-a-short-guy-511", "author_flair_text": "5'2\" | 157 cm", "quarantine": false, "title": "Science Says Being Short Makes You Depressed", "created_utc": 1445369797.0, "distinguished": null, "mod_reports": [], "visited": false, "num_reports": null, "ups": 12}}, {"kind": "t3", "data": {"domain": "adequateman.deadspin.com", "banned_by": null, "media_embed": {}, "subreddit": "Games", "selftext_html": null, "selftext": "", "likes": null, "suggested_sort": null, "user_reports": [], "secure_media": null, "link_flair_text": null, "id": "3ovldc", "from_kind": null, "gilded": 0, "archived": false, "clicked": false, "report_reasons": null, "author": "mipadi", "media": null, "score": 0, "approved_by": null, "over_18": false, "hidden": false, "num_comments": 19, "thumbnail": "", "subreddit_id": "t5_2qhwp", "hide_score": false, "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 0, "secure_media_embed": {}, "saved": false, "removal_reason": null, "stickied": false, "from": null, "is_self": false, "from_id": null, "permalink": "/r/Games/comments/3ovldc/the_xbox_one_is_garbage_and_the_future_is_bullshit/", "locked": false, "name": "t3_3ovldc", "created": 1444956864.0, "url": "http://adequateman.deadspin.com/the-xbox-one-is-garbage-and-the-future-is-bullshit-1736054579", "author_flair_text": null, "quarantine": false, "title": "The Xbox One Is Garbage And The Future Is Bullshit", "created_utc": 1444928064.0, "distinguished": null, "mod_reports": [], "visited": false, "num_reports": null, "ups": 0}}, {"kind": "t3", "data": {"domain": "blog.mozilla.org", "banned_by": null, "media_embed": {}, "subreddit": "technology", "selftext_html": null, "selftext": "", "likes": null, "suggested_sort": null, "user_reports": [], "secure_media": null, "link_flair_text": null, "id": "3o0vrh", "from_kind": null, "gilded": 0, "archived": false, "clicked": false, "report_reasons": null, "author": "mipadi", "media": null, "score": 1, "approved_by": null, "over_18": false, "hidden": false, "num_comments": 1, "thumbnail": "", "subreddit_id": "t5_2qh16", "hide_score": false, "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 0, "secure_media_embed": {}, "saved": false, "removal_reason": null, "stickied": false, "from": null, "is_self": false, "from_id": null, "permalink": "/r/technology/comments/3o0vrh/mozilla_lays_out_a_proposed_set_of_rules_for/", "locked": false, "name": "t3_3o0vrh", "created": 1444369078.0, "url": "https://blog.mozilla.org/blog/2015/10/07/proposed-principles-for-content-blocking/", "author_flair_text": null, "quarantine": false, "title": "Mozilla lays out a proposed set of rules for content blockers", "created_utc": 1444340278.0, "distinguished": null, "mod_reports": [], "visited": false, "num_reports": null, "ups": 1}}, {"kind": "t3", "data": {"domain": "blog.mozilla.org", "banned_by": null, "media_embed": {}, "subreddit": "apple", "selftext_html": null, "selftext": "", "likes": null, "suggested_sort": null, "user_reports": [], "secure_media": null, "link_flair_text": null, "id": "3o0vp9", "from_kind": null, "gilded": 0, "archived": false, "clicked": false, "report_reasons": null, "author": "mipadi", "media": null, "score": 1, "approved_by": null, "over_18": false, "hidden": false, "num_comments": 1, "thumbnail": "", "subreddit_id": "t5_2qh1f", "hide_score": false, "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 0, "secure_media_embed": {}, "saved": false, "removal_reason": null, "stickied": false, "from": null, "is_self": false, "from_id": null, "permalink": "/r/apple/comments/3o0vp9/mozilla_lays_out_a_set_of_proposed_rules_for/", "locked": false, "name": "t3_3o0vp9", "created": 1444369048.0, "url": "https://blog.mozilla.org/blog/2015/10/07/proposed-principles-for-content-blocking/", "author_flair_text": null, "quarantine": false, "title": "Mozilla lays out a set of proposed rules for content blocking", "created_utc": 1444340248.0, "distinguished": null, "mod_reports": [], "visited": false, "num_reports": null, "ups": 1}}, {"kind": "t3", "data": {"domain": "swamphogg.com", "banned_by": null, "media_embed": {}, "subreddit": "vim", "selftext_html": null, "selftext": "", "likes": null, "suggested_sort": null, "user_reports": [], "secure_media": null, "link_flair_text": null, "id": "3m83kp", "from_kind": null, "gilded": 0, "archived": false, "clicked": false, "report_reasons": null, "author": "mipadi", "media": null, "score": 34, "approved_by": null, "over_18": false, "hidden": false, "num_comments": 11, "thumbnail": "", "subreddit_id": "t5_2qhqx", "hide_score": false, "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 0, "secure_media_embed": {}, "saved": false, "removal_reason": null, "stickied": false, "from": null, "is_self": false, "from_id": null, "permalink": "/r/vim/comments/3m83kp/vim_setup_for_markdown/", "locked": false, "name": "t3_3m83kp", "created": 1443145077.0, "url": "http://www.swamphogg.com/2015/vim-setup/", "author_flair_text": null, "quarantine": false, "title": "Vim setup for Markdown", "created_utc": 1443116277.0, "distinguished": null, "mod_reports": [], "visited": false, "num_reports": null, "ups": 34}}, {"kind": "t3", "data": {"domain": "blog.mathieu-leplatre.info", "banned_by": null, "media_embed": {}, "subreddit": "django", "selftext_html": null, "selftext": "", "likes": null, "suggested_sort": null, "user_reports": [], "secure_media": null, "link_flair_text": null, "id": "35rzlx", "from_kind": null, "gilded": 0, "archived": true, "clicked": false, "report_reasons": null, "author": "mipadi", "media": null, "score": 13, "approved_by": null, "over_18": false, "hidden": false, "num_comments": 18, "thumbnail": "", "subreddit_id": "t5_2qh4v", "hide_score": false, "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 0, "secure_media_embed": {}, "saved": false, "removal_reason": null, "stickied": false, "from": null, "is_self": false, "from_id": null, "permalink": "/r/django/comments/35rzlx/deploy_django_projects_using_git_push/", "locked": false, "name": "t3_35rzlx", "created": 1431506719.0, "url": "http://blog.mathieu-leplatre.info/deploy-django-projects-using-git-push.html", "author_flair_text": null, "quarantine": false, "title": "Deploy Django projects using git push", "created_utc": 1431477919.0, "distinguished": null, "mod_reports": [], "visited": false, "num_reports": null, "ups": 13}}, {"kind": "t3", "data": {"domain": "medium.com", "banned_by": null, "media_embed": {}, "subreddit": "webdev", "selftext_html": null, "selftext": "", "likes": null, "suggested_sort": null, "user_reports": [], "secure_media": null, "link_flair_text": null, "id": "35rtkx", "from_kind": null, "gilded": 0, "archived": true, "clicked": false, "report_reasons": null, "author": "mipadi", "media": null, "score": 1, "approved_by": null, "over_18": false, "hidden": false, "preview": {"images": [{"source": {"url": "https://i.redditmedia.com/xy7pLW0C3Bq59GA3K-AhcDld0Rdb6A5ydNaK-gKIRqY.jpg?s=3a7371c6aa1c112df55cfe644cb94225", "width": 800, "height": 533}, "resolutions": [{"url": "https://i.redditmedia.com/xy7pLW0C3Bq59GA3K-AhcDld0Rdb6A5ydNaK-gKIRqY.jpg?fit=crop&crop=faces%2Centropy&arh=2&w=108&s=76c5c510b52457dd45326e816f989acd", "width": 108, "height": 71}, {"url": "https://i.redditmedia.com/xy7pLW0C3Bq59GA3K-AhcDld0Rdb6A5ydNaK-gKIRqY.jpg?fit=crop&crop=faces%2Centropy&arh=2&w=216&s=717e8204d7934dd957370a81e12a0cd1", "width": 216, "height": 143}, {"url": "https://i.redditmedia.com/xy7pLW0C3Bq59GA3K-AhcDld0Rdb6A5ydNaK-gKIRqY.jpg?fit=crop&crop=faces%2Centropy&arh=2&w=320&s=139c417a45755ca9100c31ff36dd8066", "width": 320, "height": 213}, {"url": "https://i.redditmedia.com/xy7pLW0C3Bq59GA3K-AhcDld0Rdb6A5ydNaK-gKIRqY.jpg?fit=crop&crop=faces%2Centropy&arh=2&w=640&s=d7562fc9182d4f06a919babbceed525e", "width": 640, "height": 426}], "variants": {}, "id": "qQP2S2RkBvhH0rMlZI3JgSAxyCGvXtJb0G4V8Q8hWnY"}]}, "num_comments": 0, "thumbnail": "http://a.thumbs.redditmedia.com/HOrROAD8x26m-VgLufhA8YOFW6h5nk0oTobPeRcV-D8.jpg", "subreddit_id": "t5_2qs0q", "hide_score": false, "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 0, "secure_media_embed": {}, "saved": false, "removal_reason": null, "post_hint": "link", "stickied": false, "from": null, "is_self": false, "from_id": null, "permalink": "/r/webdev/comments/35rtkx/the_future_of_web_design_is_hidden_in_the_history/", "locked": false, "name": "t3_35rtkx", "created": 1431503730.0, "url": "https://medium.com/@sall/the-future-of-web-design-is-hidden-in-the-history-of-architecture-1cc93ea854d0", "author_flair_text": null, "quarantine": false, "title": "The Future of Web Design is Hidden in the History of Architecture", "created_utc": 1431474930.0, "distinguished": null, "mod_reports": [], "visited": false, "num_reports": null, "ups": 1}}, {"kind": "t3", "data": {"domain": "monkey-robot.com", "banned_by": null, "media_embed": {}, "subreddit": "swift", "selftext_html": null, "selftext": "", "likes": null, "suggested_sort": null, "user_reports": [], "secure_media": null, "link_flair_text": null, "id": "33kjrn", "from_kind": null, "gilded": 0, "archived": true, "clicked": false, "report_reasons": null, "author": "mipadi", "media": null, "score": 1, "approved_by": null, "over_18": false, "hidden": false, "num_comments": 0, "thumbnail": "default", "subreddit_id": "t5_2z6zi", "hide_score": false, "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 0, "secure_media_embed": {}, "saved": false, "removal_reason": null, "stickied": false, "from": null, "is_self": false, "from_id": null, "permalink": "/r/swift/comments/33kjrn/does_swift_make_native_app_development_easier/", "locked": false, "name": "t3_33kjrn", "created": 1429801621.0, "url": "http://monkey-robot.com/2015/04/swift-makes-programming-easy/?utm_source=reddit&utm_medium=social&utm_campaign=Post%3A%2022%20Apr%202015", "author_flair_text": null, "quarantine": false, "title": "Does Swift make native app development easier?", "created_utc": 1429772821.0, "distinguished": null, "mod_reports": [], "visited": false, "num_reports": null, "ups": 1}}, {"kind": "t3", "data": {"domain": "speakerdeck.com", "banned_by": null, "media_embed": {"content": "<iframe class=\"embedly-embed\" src=\"//cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fspeakerdeck.com%2Fplayer%2F8f589ed03d854877b6f9e3ade178957e&url=https%3A%2F%2Fspeakerdeck.com%2Fkachayev%2Fmicroservices-in-clojure&image=https%3A%2F%2Fspeakerd.s3.amazonaws.com%2Fpresentations%2F8f589ed03d854877b6f9e3ade178957e%2Fslide_0.jpg&key=2aa3c4d5f3de4f5b9120b660ad850dc9&type=text%2Fhtml&schema=speakerdeck\" width=\"600\" height=\"513\" scrolling=\"no\" frameborder=\"0\" allowfullscreen></iframe>", "width": 600, "scrolling": false, "height": 513}, "subreddit": "webdev", "selftext_html": null, "selftext": "", "likes": null, "suggested_sort": null, "user_reports": [], "secure_media": null, "link_flair_text": null, "id": "32y92q", "from_kind": null, "gilded": 0, "archived": true, "clicked": false, "report_reasons": null, "author": "mipadi", "media": {"type": "speakerdeck.com", "oembed": {"provider_url": "https://speakerdeck.com/", "description": "Lessons learned after 1.5+ years of developing/evolving microservices at Attendify. Ideas, problems, pitfalls, plans.", "title": "Microservices in Clojure", "thumbnail_width": 1024, "height": 513, "width": 600, "html": "<iframe class=\"embedly-embed\" src=\"//cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fspeakerdeck.com%2Fplayer%2F8f589ed03d854877b6f9e3ade178957e&url=https%3A%2F%2Fspeakerdeck.com%2Fkachayev%2Fmicroservices-in-clojure&image=https%3A%2F%2Fspeakerd.s3.amazonaws.com%2Fpresentations%2F8f589ed03d854877b6f9e3ade178957e%2Fslide_0.jpg&key=2aa3c4d5f3de4f5b9120b660ad850dc9&type=text%2Fhtml&schema=speakerdeck\" width=\"600\" height=\"513\" scrolling=\"no\" frameborder=\"0\" allowfullscreen></iframe>", "author_name": "Alexey Kachayev", "version": "1.0", "provider_name": "Speaker Deck", "thumbnail_url": "https://speakerd.s3.amazonaws.com/presentations/8f589ed03d854877b6f9e3ade178957e/slide_0.jpg", "type": "rich", "thumbnail_height": 768, "author_url": "https://speakerdeck.com/kachayev"}}, "score": 2, "approved_by": null, "over_18": false, "hidden": false, "preview": {"images": [{"source": {"url": "https://i.redditmedia.com/t-BSh5Mugmzek7wlhSVECTP2o2IJrYK2QOdTFp0vei0.jpg?s=8775c8b18c2cd3db78c9085f653a039d", "width": 1024, "height": 768}, "resolutions": [{"url": "https://i.redditmedia.com/t-BSh5Mugmzek7wlhSVECTP2o2IJrYK2QOdTFp0vei0.jpg?fit=crop&crop=faces%2Centropy&arh=2&w=108&s=428d6845bdcaf456e60c9b26de90d53d", "width": 108, "height": 81}, {"url": "https://i.redditmedia.com/t-BSh5Mugmzek7wlhSVECTP2o2IJrYK2QOdTFp0vei0.jpg?fit=crop&crop=faces%2Centropy&arh=2&w=216&s=ecc33b2fb5d76858932172d60f7a3c07", "width": 216, "height": 162}, {"url": "https://i.redditmedia.com/t-BSh5Mugmzek7wlhSVECTP2o2IJrYK2QOdTFp0vei0.jpg?fit=crop&crop=faces%2Centropy&arh=2&w=320&s=e601d9ffc80dd2570d552a181ac11136", "width": 320, "height": 240}, {"url": "https://i.redditmedia.com/t-BSh5Mugmzek7wlhSVECTP2o2IJrYK2QOdTFp0vei0.jpg?fit=crop&crop=faces%2Centropy&arh=2&w=640&s=37a127cd98900a86d9b4271fedc5f7c8", "width": 640, "height": 480}, {"url": "https://i.redditmedia.com/t-BSh5Mugmzek7wlhSVECTP2o2IJrYK2QOdTFp0vei0.jpg?fit=crop&crop=faces%2Centropy&arh=2&w=960&s=f446afe2e92913095caa6498cb6c6657", "width": 960, "height": 720}], "variants": {}, "id": "kREnqx5CF-eBuubcnqEZqGQ_sTRDhIm63DKVRwfGBYk"}]}, "num_comments": 0, "thumbnail": "http://a.thumbs.redditmedia.com/S8G-gCM3U1W1qeK6OlRtT-WZMJqwjZSohJTiE23CGW8.jpg", "subreddit_id": "t5_2qs0q", "hide_score": false, "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 0, "secure_media_embed": {}, "saved": false, "removal_reason": null, "post_hint": "link", "stickied": false, "from": null, "is_self": false, "from_id": null, "permalink": "/r/webdev/comments/32y92q/microservices_in_clojure/", "locked": false, "name": "t3_32y92q", "created": 1429324320.0, "url": "https://speakerdeck.com/kachayev/microservices-in-clojure", "author_flair_text": null, "quarantine": false, "title": "Microservices in Clojure", "created_utc": 1429295520.0, "distinguished": null, "mod_reports": [], "visited": false, "num_reports": null, "ups": 2}}, {"kind": "t3", "data": {"domain": "newscientist.com", "banned_by": null, "media_embed": {}, "subreddit": "movies", "selftext_html": null, "selftext": "", "likes": null, "suggested_sort": null, "user_reports": [], "secure_media": null, "link_flair_text": null, "id": "2vt5h0", "from_kind": null, "gilded": 0, "archived": true, "clicked": false, "report_reasons": null, "author": "mipadi", "media": null, "score": 5, "approved_by": null, "over_18": false, "hidden": false, "num_comments": 3, "thumbnail": "default", "subreddit_id": "t5_2qh3s", "hide_score": false, "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 0, "secure_media_embed": {}, "saved": false, "removal_reason": null, "stickied": false, "from": null, "is_self": false, "from_id": null, "permalink": "/r/movies/comments/2vt5h0/interstellars_true_black_hole_would_have_been_too/", "locked": false, "name": "t3_2vt5h0", "created": 1423892568.0, "url": "http://www.newscientist.com/article/dn26966-interstellars-true-black-hole-too-confusing.html#.VN3dJ_msXPo", "author_flair_text": null, "quarantine": false, "title": "Interstellar's true black hole would have been too confusing for audiences", "created_utc": 1423863768.0, "distinguished": null, "mod_reports": [], "visited": false, "num_reports": null, "ups": 5}}, {"kind": "t3", "data": {"domain": "news.hitb.org", "banned_by": null, "media_embed": {}, "subreddit": "webdev", "selftext_html": null, "selftext": "", "likes": null, "suggested_sort": null, "user_reports": [], "secure_media": null, "link_flair_text": null, "id": "2vo5zs", "from_kind": null, "gilded": 0, "archived": true, "clicked": false, "report_reasons": null, "author": "mipadi", "media": null, "score": 154, "approved_by": null, "over_18": false, "hidden": false, "num_comments": 80, "thumbnail": "default", "subreddit_id": "t5_2qs0q", "hide_score": false, "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 0, "secure_media_embed": {}, "saved": false, "removal_reason": null, "stickied": false, "from": null, "is_self": false, "from_id": null, "permalink": "/r/webdev/comments/2vo5zs/major_security_alert_as_40000_mongodb_databases/", "locked": false, "name": "t3_2vo5zs", "created": 1423791350.0, "url": "http://news.hitb.org/content/major-security-alert-40000-mongodb-databases-left-unsecured-internet", "author_flair_text": null, "quarantine": false, "title": "Major security alert as 40,000 MongoDB databases left unsecured on the internet", "created_utc": 1423762550.0, "distinguished": null, "mod_reports": [], "visited": false, "num_reports": null, "ups": 154}}, {"kind": "t3", "data": {"domain": "stackoverflow.com", "banned_by": null, "media_embed": {}, "subreddit": "vim", "selftext_html": null, "selftext": "", "likes": null, "suggested_sort": null, "user_reports": [], "secure_media": null, "link_flair_text": null, "id": "2tvq8u", "from_kind": null, "gilded": 0, "archived": true, "clicked": false, "report_reasons": null, "author": "mipadi", "media": null, "score": 2, "approved_by": null, "over_18": false, "hidden": false, "num_comments": 2, "thumbnail": "", "subreddit_id": "t5_2qhqx", "hide_score": false, "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 0, "secure_media_embed": {}, "saved": false, "removal_reason": null, "stickied": false, "from": null, "is_self": false, "from_id": null, "permalink": "/r/vim/comments/2tvq8u/why_does_my_shell_prompt_disappear_when_i_install/", "locked": false, "name": "t3_2tvq8u", "created": 1422420159.0, "url": "http://stackoverflow.com/q/28179589/28804", "author_flair_text": null, "quarantine": false, "title": "Why does my shell prompt disappear when I install and use vim 7.4 (on CentOS 6)?", "created_utc": 1422391359.0, "distinguished": null, "mod_reports": [], "visited": false, "num_reports": null, "ups": 2}}, {"kind": "t3", "data": {"domain": "speakerdeck.com", "banned_by": null, "media_embed": {"content": "<iframe class=\"embedly-embed\" src=\"//cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fspeakerdeck.com%2Fplayer%2F6d92eb603ace013274bd1297e85160ca&url=https%3A%2F%2Fspeakerdeck.com%2Fsupermarin%2Fswift-for-cli-tools&image=https%3A%2F%2Fspeakerd.s3.amazonaws.com%2Fpresentations%2F6d92eb603ace013274bd1297e85160ca%2Fslide_0.jpg&key=2aa3c4d5f3de4f5b9120b660ad850dc9&type=text%2Fhtml&schema=speakerdeck\" width=\"600\" height=\"401\" scrolling=\"no\" frameborder=\"0\" allowfullscreen></iframe>", "width": 600, "scrolling": false, "height": 401}, "subreddit": "swift", "selftext_html": null, "selftext": "", "likes": null, "suggested_sort": null, "user_reports": [], "secure_media": null, "link_flair_text": null, "id": "2t55vj", "from_kind": null, "gilded": 0, "archived": true, "clicked": false, "report_reasons": null, "author": "mipadi", "media": {"oembed": {"provider_url": "https://speakerdeck.com/", "description": "A short talk on building CLI tools with Swift. Covers the current state of the language, CLI basics, and what needs to be done. tl;dr; The language is still very new and not as easy to use as some mature folks like Ruby or Python.", "title": "Swift for CLI tools", "type": "rich", "thumbnail_width": 1024, "height": 401, "width": 600, "html": "<iframe class=\"embedly-embed\" src=\"//cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fspeakerdeck.com%2Fplayer%2F6d92eb603ace013274bd1297e85160ca&url=https%3A%2F%2Fspeakerdeck.com%2Fsupermarin%2Fswift-for-cli-tools&image=https%3A%2F%2Fspeakerd.s3.amazonaws.com%2Fpresentations%2F6d92eb603ace013274bd1297e85160ca%2Fslide_0.jpg&key=2aa3c4d5f3de4f5b9120b660ad850dc9&type=text%2Fhtml&schema=speakerdeck\" width=\"600\" height=\"401\" scrolling=\"no\" frameborder=\"0\" allowfullscreen></iframe>", "author_name": "Marin Usalj", "version": "1.0", "provider_name": "Speaker Deck", "thumbnail_url": "https://speakerd.s3.amazonaws.com/presentations/6d92eb603ace013274bd1297e85160ca/slide_0.jpg", "thumbnail_height": 576, "author_url": "https://speakerdeck.com/supermarin"}, "type": "speakerdeck.com"}, "score": 1, "approved_by": null, "over_18": false, "hidden": false, "num_comments": 0, "thumbnail": "default", "subreddit_id": "t5_2z6zi", "hide_score": false, "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 0, "secure_media_embed": {}, "saved": false, "removal_reason": null, "stickied": false, "from": null, "is_self": false, "from_id": null, "permalink": "/r/swift/comments/2t55vj/swift_for_cli_tools/", "locked": false, "name": "t3_2t55vj", "created": 1421847978.0, "url": "https://speakerdeck.com/supermarin/swift-for-cli-tools", "author_flair_text": null, "quarantine": false, "title": "Swift for CLI tools", "created_utc": 1421819178.0, "distinguished": null, "mod_reports": [], "visited": false, "num_reports": null, "ups": 1}}, {"kind": "t3", "data": {"domain": "nytimes.com", "banned_by": null, "media_embed": {}, "subreddit": "Games", "selftext_html": null, "selftext": "", "likes": null, "suggested_sort": null, "user_reports": [], "secure_media": null, "link_flair_text": null, "id": "2expgr", "from_kind": null, "gilded": 0, "archived": true, "clicked": false, "report_reasons": null, "author": "mipadi", "media": null, "score": 7, "approved_by": null, "over_18": false, "hidden": false, "num_comments": 5, "thumbnail": "", "subreddit_id": "t5_2qhwp", "hide_score": false, "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 0, "secure_media_embed": {}, "saved": false, "removal_reason": null, "stickied": false, "from": null, "is_self": false, "from_id": null, "permalink": "/r/Games/comments/2expgr/chief_executive_of_rovio_maker_of_angry_birds/", "locked": false, "name": "t3_2expgr", "created": 1409362598.0, "url": "http://www.nytimes.com/2014/08/30/technology/mikael-hed-chief-executive-of-angry-birds-maker-to-step-down.html", "author_flair_text": null, "quarantine": false, "title": "Chief Executive of Rovio, Maker of Angry Birds Game, to Step Down", "created_utc": 1409333798.0, "distinguished": null, "mod_reports": [], "visited": false, "num_reports": null, "ups": 7}}, {"kind": "t3", "data": {"domain": "blog.dantup.com", "banned_by": null, "media_embed": {}, "subreddit": "webdev", "selftext_html": null, "selftext": "", "likes": null, "suggested_sort": null, "user_reports": [], "secure_media": null, "link_flair_text": null, "id": "2ejsyv", "from_kind": null, "gilded": 0, "archived": true, "clicked": false, "report_reasons": null, "author": "mipadi", "media": null, "score": 2, "approved_by": null, "over_18": false, "hidden": false, "num_comments": 14, "thumbnail": "default", "subreddit_id": "t5_2qs0q", "hide_score": false, "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 0, "secure_media_embed": {}, "saved": false, "removal_reason": null, "stickied": false, "from": null, "is_self": false, "from_id": null, "permalink": "/r/webdev/comments/2ejsyv/you_have_ruined_html/", "locked": false, "name": "t3_2ejsyv", "created": 1409018787.0, "url": "http://blog.dantup.com/2014/08/you-have-ruined-html/", "author_flair_text": null, "quarantine": false, "title": "You have ruined HTML", "created_utc": 1408989987.0, "distinguished": null, "mod_reports": [], "visited": false, "num_reports": null, "ups": 2}}, {"kind": "t3", "data": {"domain": "monkey-robot.com", "banned_by": null, "media_embed": {}, "subreddit": "swift", "selftext_html": null, "selftext": "", "likes": null, "suggested_sort": null, "user_reports": [], "secure_media": null, "link_flair_text": null, "id": "2au1ki", "from_kind": null, "gilded": 0, "archived": true, "clicked": false, "report_reasons": null, "author": "mipadi", "media": null, "score": 0, "approved_by": null, "over_18": false, "hidden": false, "num_comments": 11, "thumbnail": "http://b.thumbs.redditmedia.com/DkTKqanuN04GJdzI.jpg", "subreddit_id": "t5_2z6zi", "hide_score": false, "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 0, "secure_media_embed": {}, "saved": false, "removal_reason": null, "stickied": false, "from": null, "is_self": false, "from_id": null, "permalink": "/r/swift/comments/2au1ki/a_few_thoughts_on_swift/", "locked": false, "name": "t3_2au1ki", "created": 1405516616.0, "url": "http://monkey-robot.com/2014/07/thoughts-on-swift/?utm_source=reddit&utm_medium=social&utm_campaign=Post%3A%2015%20July%202014", "author_flair_text": null, "quarantine": false, "title": "A few thoughts on Swift", "created_utc": 1405487816.0, "distinguished": null, "mod_reports": [], "visited": false, "num_reports": null, "ups": 0}}, {"kind": "t3", "data": {"domain": "blog.abevoelker.com", "banned_by": null, "media_embed": {}, "subreddit": "webdev", "selftext_html": null, "selftext": "", "likes": null, "suggested_sort": null, "user_reports": [], "secure_media": null, "link_flair_text": null, "id": "29og3m", "from_kind": null, "gilded": 0, "archived": true, "clicked": false, "report_reasons": null, "author": "mipadi", "media": null, "score": 1, "approved_by": null, "over_18": false, "hidden": false, "num_comments": 1, "thumbnail": "http://b.thumbs.redditmedia.com/rYvY97pNxz4KHQgE.jpg", "subreddit_id": "t5_2qs0q", "hide_score": false, "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 0, "secure_media_embed": {}, "saved": false, "removal_reason": null, "stickied": false, "from": null, "is_self": false, "from_id": null, "permalink": "/r/webdev/comments/29og3m/sick_of_ruby_dynamic_typing_side_effects_and/", "locked": false, "name": "t3_29og3m", "created": 1404360470.0, "url": "https://blog.abevoelker.com/sick-of-ruby-dynamic-typing-side-effects-object-oriented-programming/", "author_flair_text": null, "quarantine": false, "title": "Sick of Ruby, dynamic typing, side effects, and basically object-oriented programming", "created_utc": 1404331670.0, "distinguished": null, "mod_reports": [], "visited": false, "num_reports": null, "ups": 1}}, {"kind": "t3", "data": {"domain": "csswizardry.com", "banned_by": null, "media_embed": {}, "subreddit": "webdev", "selftext_html": null, "selftext": "", "likes": null, "suggested_sort": null, "user_reports": [], "secure_media": null, "link_flair_text": null, "id": "28ziwz", "from_kind": null, "gilded": 0, "archived": true, "clicked": false, "report_reasons": null, "author": "mipadi", "media": null, "score": 263, "approved_by": null, "over_18": false, "hidden": false, "num_comments": 194, "thumbnail": "http://a.thumbs.redditmedia.com/KOdjCkLNf17fimf4.jpg", "subreddit_id": "t5_2qs0q", "hide_score": false, "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 0, "secure_media_embed": {}, "saved": false, "removal_reason": null, "stickied": false, "from": null, "is_self": false, "from_id": null, "permalink": "/r/webdev/comments/28ziwz/vim_for_people_who_think_things_like_vim_are/", "locked": false, "name": "t3_28ziwz", "created": 1403663199.0, "url": "http://csswizardry.com/2014/06/vim-for-people-who-think-things-like-vim-are-weird-and-hard/", "author_flair_text": null, "quarantine": false, "title": "Vim for people who think things like Vim are weird and hard", "created_utc": 1403634399.0, "distinguished": null, "mod_reports": [], "visited": false, "num_reports": null, "ups": 263}}, {"kind": "t3", "data": {"domain": "notes.ericjiang.com", "banned_by": null, "media_embed": {}, "subreddit": "webdev", "selftext_html": null, "selftext": "", "likes": null, "suggested_sort": null, "user_reports": [], "secure_media": null, "link_flair_text": null, "id": "27h6za", "from_kind": null, "gilded": 0, "archived": true, "clicked": false, "report_reasons": null, "author": "mipadi", "media": null, "score": 6, "approved_by": null, "over_18": false, "hidden": false, "num_comments": 7, "thumbnail": "default", "subreddit_id": "t5_2qs0q", "hide_score": false, "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 0, "secure_media_embed": {}, "saved": false, "removal_reason": null, "stickied": false, "from": null, "is_self": false, "from_id": null, "permalink": "/r/webdev/comments/27h6za/the_emperors_new_clothes_were_built_with_nodejs/", "locked": false, "name": "t3_27h6za", "created": 1402098436.0, "url": "http://notes.ericjiang.com/posts/751", "author_flair_text": null, "quarantine": false, "title": "The emperor\u2019s new clothes were built with Node.js", "created_utc": 1402069636.0, "distinguished": null, "mod_reports": [], "visited": false, "num_reports": null, "ups": 6}}, {"kind": "t3", "data": {"domain": "monkey-robot.com", "banned_by": null, "media_embed": {}, "subreddit": "webdev", "selftext_html": null, "selftext": "", "likes": null, "suggested_sort": null, "user_reports": [], "secure_media": null, "link_flair_text": null, "id": "26hm0m", "from_kind": null, "gilded": 0, "archived": true, "clicked": false, "report_reasons": null, "author": "mipadi", "media": null, "score": 0, "approved_by": null, "over_18": false, "hidden": false, "num_comments": 17, "thumbnail": "http://b.thumbs.redditmedia.com/DkTKqanuN04GJdzI.jpg", "subreddit_id": "t5_2qs0q", "hide_score": false, "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 0, "secure_media_embed": {}, "saved": false, "removal_reason": null, "stickied": false, "from": null, "is_self": false, "from_id": null, "permalink": "/r/webdev/comments/26hm0m/clojure_or_how_to_put_the_spark_back_into_your/", "locked": false, "name": "t3_26hm0m", "created": 1401098299.0, "url": "http://monkey-robot.com/2014/05/clojure-a-retrospective/?utm_source=reddit&utm_medium=social&utm_campaign=Post%3A%2025%20May%202014", "author_flair_text": null, "quarantine": false, "title": "Clojure, or how to put the spark back into your relationship with programming", "created_utc": 1401069499.0, "distinguished": null, "mod_reports": [], "visited": false, "num_reports": null, "ups": 0}}, {"kind": "t3", "data": {"domain": "monkey-robot.com", "banned_by": null, "media_embed": {}, "subreddit": "Clojure", "selftext_html": null, "selftext": "", "likes": null, "suggested_sort": null, "user_reports": [], "secure_media": null, "link_flair_text": null, "id": "26hlxb", "from_kind": null, "gilded": 0, "archived": true, "clicked": false, "report_reasons": null, "author": "mipadi", "media": null, "score": 47, "approved_by": null, "over_18": false, "hidden": false, "num_comments": 0, "thumbnail": "", "subreddit_id": "t5_2qkej", "hide_score": false, "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 0, "secure_media_embed": {}, "saved": false, "removal_reason": null, "stickied": false, "from": null, "is_self": false, "from_id": null, "permalink": "/r/Clojure/comments/26hlxb/clojure_a_retrospective/", "locked": false, "name": "t3_26hlxb", "created": 1401098231.0, "url": "http://monkey-robot.com/2014/05/clojure-a-retrospective/?utm_source=reddit&utm_medium=social&utm_campaign=Post%3A%2025%20May%202014", "author_flair_text": null, "quarantine": false, "title": "Clojure: A Retrospective", "created_utc": 1401069431.0, "distinguished": null, "mod_reports": [], "visited": false, "num_reports": null, "ups": 47}}, {"kind": "t3", "data": {"domain": "monkey-robot.com", "banned_by": null, "media_embed": {}, "subreddit": "programming", "selftext_html": null, "selftext": "", "likes": null, "suggested_sort": null, "user_reports": [], "secure_media": null, "link_flair_text": null, "id": "26hlvt", "from_kind": null, "gilded": 0, "archived": true, "clicked": false, "report_reasons": null, "author": "mipadi", "media": null, "score": 51, "approved_by": null, "over_18": false, "hidden": false, "num_comments": 37, "thumbnail": "", "subreddit_id": "t5_2fwo", "hide_score": false, "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 0, "secure_media_embed": {}, "saved": false, "removal_reason": null, "stickied": false, "from": null, "is_self": false, "from_id": null, "permalink": "/r/programming/comments/26hlvt/fresh_perspectives_learning_new_languages_after/", "locked": false, "name": "t3_26hlvt", "created": 1401098192.0, "url": "http://monkey-robot.com/2014/05/clojure-a-retrospective/?utm_source=reddit&utm_medium=social&utm_campaign=Post%3A%2025%20May%202014", "author_flair_text": null, "quarantine": false, "title": "Fresh perspectives: Learning new languages after you know (quite) a few", "created_utc": 1401069392.0, "distinguished": null, "mod_reports": [], "visited": false, "num_reports": null, "ups": 51}}, {"kind": "t3", "data": {"domain": "self.webdev", "banned_by": null, "media_embed": {}, "subreddit": "webdev", "selftext_html": "<!-- SC_OFF --><div class=\"md\"><p>It&#39;s called <a href=\"https://github.com/mdippery/karmanaut\">Karmanaut</a>, and it&#39;s written in Clojure and uses MongoDB as a data store. It&#39;s pretty simple to set up. It&#39;s best run as a cronjob ever <em>x</em> hours. Requires only Java and MongoDB (plus Leiningen to build it).</p>\n\n<p>Eventually I plan to wire it up to a web frontend. The idea is to make it easy to chart your karma growth (or decline!) over time, and derive interesting statistics and other data from it (such as average karma gained per day, rate of change, etc.).</p>\n</div><!-- SC_ON -->", "selftext": "It's called [Karmanaut](https://github.com/mdippery/karmanaut), and it's written in Clojure and uses MongoDB as a data store. It's pretty simple to set up. It's best run as a cronjob ever *x* hours. Requires only Java and MongoDB (plus Leiningen to build it).\n\nEventually I plan to wire it up to a web frontend. The idea is to make it easy to chart your karma growth (or decline!) over time, and derive interesting statistics and other data from it (such as average karma gained per day, rate of change, etc.).", "likes": null, "suggested_sort": null, "user_reports": [], "secure_media": null, "link_flair_text": null, "id": "26e9x6", "from_kind": null, "gilded": 0, "archived": true, "clicked": false, "report_reasons": null, "author": "mipadi", "media": null, "score": 6, "approved_by": null, "over_18": false, "hidden": false, "num_comments": 9, "thumbnail": "self", "subreddit_id": "t5_2qs0q", "hide_score": false, "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 0, "secure_media_embed": {}, "saved": false, "removal_reason": null, "stickied": false, "from": null, "is_self": true, "from_id": null, "permalink": "/r/webdev/comments/26e9x6/i_created_a_tool_for_sampling_reddit_users_karma/", "locked": false, "name": "t3_26e9x6", "created": 1400989595.0, "url": "https://www.reddit.com/r/webdev/comments/26e9x6/i_created_a_tool_for_sampling_reddit_users_karma/", "author_flair_text": null, "quarantine": false, "title": "I created a tool for sampling Reddit users' karma (link and comment)", "created_utc": 1400960795.0, "distinguished": null, "mod_reports": [], "visited": false, "num_reports": null, "ups": 6}}, {"kind": "t3", "data": {"domain": "medium.com", "banned_by": null, "media_embed": {}, "subreddit": "programming", "selftext_html": null, "selftext": "", "likes": null, "suggested_sort": null, "user_reports": [], "secure_media": null, "link_flair_text": null, "id": "26562t", "from_kind": null, "gilded": 0, "archived": true, "clicked": false, "report_reasons": null, "author": "mipadi", "media": null, "score": 16, "approved_by": null, "over_18": false, "hidden": false, "num_comments": 0, "thumbnail": "", "subreddit_id": "t5_2fwo", "hide_score": false, "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 0, "secure_media_embed": {}, "saved": false, "removal_reason": null, "stickied": false, "from": null, "is_self": false, "from_id": null, "permalink": "/r/programming/comments/26562t/erlang_and_code_style_musings_on_mostly_defensive/", "locked": false, "name": "t3_26562t", "created": 1400728153.0, "url": "https://medium.com/p/b5936dceb5e4", "author_flair_text": null, "quarantine": false, "title": "Erlang and code style: Musings on mostly defensive programming styles", "created_utc": 1400699353.0, "distinguished": null, "mod_reports": [], "visited": false, "num_reports": null, "ups": 16}}, {"kind": "t3", "data": {"domain": "infoq.com", "banned_by": null, "media_embed": {}, "subreddit": "webdev", "selftext_html": null, "selftext": "", "likes": null, "suggested_sort": null, "user_reports": [], "secure_media": null, "link_flair_text": null, "id": "25p2d8", "from_kind": null, "gilded": 0, "archived": true, "clicked": false, "report_reasons": null, "author": "mipadi", "media": null, "score": 69, "approved_by": null, "over_18": false, "hidden": false, "num_comments": 18, "thumbnail": "http://c.thumbs.redditmedia.com/O-bW833n-AkTSwk2.jpg", "subreddit_id": "t5_2qs0q", "hide_score": false, "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 0, "secure_media_embed": {}, "saved": false, "removal_reason": null, "stickied": false, "from": null, "is_self": false, "from_id": null, "permalink": "/r/webdev/comments/25p2d8/facebook_mvc_does_not_scale_use_flux_instead/", "locked": false, "name": "t3_25p2d8", "created": 1400253592.0, "url": "http://www.infoq.com/news/2014/05/facebook-mvc-flux", "author_flair_text": null, "quarantine": false, "title": "Facebook: MVC Does Not Scale, Use Flux Instead", "created_utc": 1400224792.0, "distinguished": null, "mod_reports": [], "visited": false, "num_reports": null, "ups": 69}}], "after": "t3_25p2d8", "before": null}}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"error": 404}
|
data/features/help.feature
CHANGED
@@ -7,7 +7,8 @@ Feature: Get help
|
|
7
7
|
Scenario: Pass no arguments
|
8
8
|
Given the Reddit service returns comments for the user "mipadi"
|
9
9
|
When I run `usaidwat`
|
10
|
-
Then
|
10
|
+
Then the exit status should be 0
|
11
|
+
And stdout should contain:
|
11
12
|
"""
|
12
13
|
Usage:
|
13
14
|
|
@@ -16,7 +17,8 @@ Feature: Get help
|
|
16
17
|
|
17
18
|
Scenario: List usage details
|
18
19
|
When I run `usaidwat --help`
|
19
|
-
Then
|
20
|
+
Then the exit status should be 0
|
21
|
+
And stdout should contain:
|
20
22
|
"""
|
21
23
|
Usage:
|
22
24
|
|
@@ -26,6 +28,7 @@ Feature: Get help
|
|
26
28
|
Scenario: Get version
|
27
29
|
When I run `usaidwat --version`
|
28
30
|
Then the exit status should be 0
|
31
|
+
And stderr should not contain anything
|
29
32
|
And the output should match:
|
30
33
|
"""
|
31
34
|
usaidwat [0-9]+\.[0-9]+\.[0-9]+
|
data/features/log.feature
CHANGED
@@ -560,7 +560,8 @@ Feature: Browse comments
|
|
560
560
|
Scenario: Pass no arguments when searching
|
561
561
|
Given the Reddit service returns comments for the user "mipadi"
|
562
562
|
When I run `usaidwat log --grep mipadi`
|
563
|
-
Then
|
563
|
+
Then the exit status should not be 0
|
564
|
+
And stderr should contain exactly:
|
564
565
|
"""
|
565
566
|
You must specify a username
|
566
567
|
"""
|
@@ -0,0 +1,349 @@
|
|
1
|
+
Feature: Show posts
|
2
|
+
|
3
|
+
As a Redditor
|
4
|
+
I want to quickly be able to list another Redditor's posts
|
5
|
+
In order to see what they like to talk about
|
6
|
+
|
7
|
+
Scenario: List posts
|
8
|
+
Given the Reddit service returns posts for the user "mipadi"
|
9
|
+
And time is frozen at Nov 19, 2015 11:22 AM
|
10
|
+
When I run `usaidwat posts log mipadi`
|
11
|
+
Then it should pass with:
|
12
|
+
"""
|
13
|
+
short
|
14
|
+
https://www.reddit.com/r/short/comments/3pj7rx
|
15
|
+
Science Says Being Short Makes You Depressed
|
16
|
+
about 4 weeks ago
|
17
|
+
|
18
|
+
|
19
|
+
Games
|
20
|
+
https://www.reddit.com/r/Games/comments/3ovldc
|
21
|
+
The Xbox One Is Garbage And The Future Is Bullshit
|
22
|
+
about 1 month ago
|
23
|
+
|
24
|
+
|
25
|
+
technology
|
26
|
+
https://www.reddit.com/r/technology/comments/3o0vrh
|
27
|
+
Mozilla lays out a proposed set of rules for content blockers
|
28
|
+
about 1 month ago
|
29
|
+
|
30
|
+
|
31
|
+
apple
|
32
|
+
https://www.reddit.com/r/apple/comments/3o0vp9
|
33
|
+
Mozilla lays out a set of proposed rules for content blocking
|
34
|
+
about 1 month ago
|
35
|
+
|
36
|
+
|
37
|
+
vim
|
38
|
+
https://www.reddit.com/r/vim/comments/3m83kp
|
39
|
+
Vim setup for Markdown
|
40
|
+
about 2 months ago
|
41
|
+
|
42
|
+
|
43
|
+
django
|
44
|
+
https://www.reddit.com/r/django/comments/35rzlx
|
45
|
+
Deploy Django projects using git push
|
46
|
+
about 6 months ago
|
47
|
+
|
48
|
+
|
49
|
+
webdev
|
50
|
+
https://www.reddit.com/r/webdev/comments/35rtkx
|
51
|
+
The Future of Web Design is Hidden in the History of Architecture
|
52
|
+
about 6 months ago
|
53
|
+
|
54
|
+
|
55
|
+
swift
|
56
|
+
https://www.reddit.com/r/swift/comments/33kjrn
|
57
|
+
Does Swift make native app development easier?
|
58
|
+
about 7 months ago
|
59
|
+
|
60
|
+
|
61
|
+
webdev
|
62
|
+
https://www.reddit.com/r/webdev/comments/32y92q
|
63
|
+
Microservices in Clojure
|
64
|
+
about 7 months ago
|
65
|
+
|
66
|
+
|
67
|
+
movies
|
68
|
+
https://www.reddit.com/r/movies/comments/2vt5h0
|
69
|
+
Interstellar's true black hole would have been too confusing for audiences
|
70
|
+
about 9 months ago
|
71
|
+
|
72
|
+
|
73
|
+
webdev
|
74
|
+
https://www.reddit.com/r/webdev/comments/2vo5zs
|
75
|
+
Major security alert as 40,000 MongoDB databases left unsecured on the internet
|
76
|
+
about 9 months ago
|
77
|
+
|
78
|
+
|
79
|
+
vim
|
80
|
+
https://www.reddit.com/r/vim/comments/2tvq8u
|
81
|
+
Why does my shell prompt disappear when I install and use vim 7.4 (on CentOS 6)?
|
82
|
+
about 10 months ago
|
83
|
+
|
84
|
+
|
85
|
+
swift
|
86
|
+
https://www.reddit.com/r/swift/comments/2t55vj
|
87
|
+
Swift for CLI tools
|
88
|
+
about 10 months ago
|
89
|
+
|
90
|
+
|
91
|
+
Games
|
92
|
+
https://www.reddit.com/r/Games/comments/2expgr
|
93
|
+
Chief Executive of Rovio, Maker of Angry Birds Game, to Step Down
|
94
|
+
about a year ago
|
95
|
+
|
96
|
+
|
97
|
+
webdev
|
98
|
+
https://www.reddit.com/r/webdev/comments/2ejsyv
|
99
|
+
You have ruined HTML
|
100
|
+
about a year ago
|
101
|
+
|
102
|
+
|
103
|
+
swift
|
104
|
+
https://www.reddit.com/r/swift/comments/2au1ki
|
105
|
+
A few thoughts on Swift
|
106
|
+
about a year ago
|
107
|
+
|
108
|
+
|
109
|
+
webdev
|
110
|
+
https://www.reddit.com/r/webdev/comments/29og3m
|
111
|
+
Sick of Ruby, dynamic typing, side effects, and basically object-oriented progra
|
112
|
+
about a year ago
|
113
|
+
|
114
|
+
|
115
|
+
webdev
|
116
|
+
https://www.reddit.com/r/webdev/comments/28ziwz
|
117
|
+
Vim for people who think things like Vim are weird and hard
|
118
|
+
about a year ago
|
119
|
+
|
120
|
+
|
121
|
+
webdev
|
122
|
+
https://www.reddit.com/r/webdev/comments/27h6za
|
123
|
+
The emperor’s new clothes were built with Node.js
|
124
|
+
about a year ago
|
125
|
+
|
126
|
+
|
127
|
+
webdev
|
128
|
+
https://www.reddit.com/r/webdev/comments/26hm0m
|
129
|
+
Clojure, or how to put the spark back into your relationship with programming
|
130
|
+
about a year ago
|
131
|
+
|
132
|
+
|
133
|
+
Clojure
|
134
|
+
https://www.reddit.com/r/Clojure/comments/26hlxb
|
135
|
+
Clojure: A Retrospective
|
136
|
+
about a year ago
|
137
|
+
|
138
|
+
|
139
|
+
programming
|
140
|
+
https://www.reddit.com/r/programming/comments/26hlvt
|
141
|
+
Fresh perspectives: Learning new languages after you know (quite) a few
|
142
|
+
about a year ago
|
143
|
+
|
144
|
+
|
145
|
+
webdev
|
146
|
+
https://www.reddit.com/r/webdev/comments/26e9x6
|
147
|
+
I created a tool for sampling Reddit users' karma (link and comment)
|
148
|
+
about a year ago
|
149
|
+
|
150
|
+
|
151
|
+
programming
|
152
|
+
https://www.reddit.com/r/programming/comments/26562t
|
153
|
+
Erlang and code style: Musings on mostly defensive programming styles
|
154
|
+
about a year ago
|
155
|
+
|
156
|
+
|
157
|
+
webdev
|
158
|
+
https://www.reddit.com/r/webdev/comments/25p2d8
|
159
|
+
Facebook: MVC Does Not Scale, Use Flux Instead
|
160
|
+
about a year ago
|
161
|
+
"""
|
162
|
+
|
163
|
+
Scenario: List posts when user has no submissions
|
164
|
+
Given the Reddit service returns posts for the user "blank"
|
165
|
+
And time is frozen at Nov 19, 2015 11:22 AM
|
166
|
+
When I run `usaidwat posts log blank`
|
167
|
+
Then it should pass with:
|
168
|
+
"""
|
169
|
+
blank has no posts.
|
170
|
+
"""
|
171
|
+
|
172
|
+
Scenario: Filter posts by subreddit
|
173
|
+
Given the Reddit service returns posts for the user "mipadi"
|
174
|
+
And time is frozen at Nov 19, 2015 11:22 AM
|
175
|
+
When I run `usaidwat posts log mipadi webdev`
|
176
|
+
Then it should pass with:
|
177
|
+
"""
|
178
|
+
webdev
|
179
|
+
https://www.reddit.com/r/webdev/comments/35rtkx
|
180
|
+
The Future of Web Design is Hidden in the History of Architecture
|
181
|
+
about 6 months ago
|
182
|
+
|
183
|
+
|
184
|
+
webdev
|
185
|
+
https://www.reddit.com/r/webdev/comments/32y92q
|
186
|
+
Microservices in Clojure
|
187
|
+
about 7 months ago
|
188
|
+
|
189
|
+
|
190
|
+
webdev
|
191
|
+
https://www.reddit.com/r/webdev/comments/2vo5zs
|
192
|
+
Major security alert as 40,000 MongoDB databases left unsecured on the internet
|
193
|
+
about 9 months ago
|
194
|
+
|
195
|
+
|
196
|
+
webdev
|
197
|
+
https://www.reddit.com/r/webdev/comments/2ejsyv
|
198
|
+
You have ruined HTML
|
199
|
+
about a year ago
|
200
|
+
|
201
|
+
|
202
|
+
webdev
|
203
|
+
https://www.reddit.com/r/webdev/comments/29og3m
|
204
|
+
Sick of Ruby, dynamic typing, side effects, and basically object-oriented progra
|
205
|
+
about a year ago
|
206
|
+
|
207
|
+
|
208
|
+
webdev
|
209
|
+
https://www.reddit.com/r/webdev/comments/28ziwz
|
210
|
+
Vim for people who think things like Vim are weird and hard
|
211
|
+
about a year ago
|
212
|
+
|
213
|
+
|
214
|
+
webdev
|
215
|
+
https://www.reddit.com/r/webdev/comments/27h6za
|
216
|
+
The emperor’s new clothes were built with Node.js
|
217
|
+
about a year ago
|
218
|
+
|
219
|
+
|
220
|
+
webdev
|
221
|
+
https://www.reddit.com/r/webdev/comments/26hm0m
|
222
|
+
Clojure, or how to put the spark back into your relationship with programming
|
223
|
+
about a year ago
|
224
|
+
|
225
|
+
|
226
|
+
webdev
|
227
|
+
https://www.reddit.com/r/webdev/comments/26e9x6
|
228
|
+
I created a tool for sampling Reddit users' karma (link and comment)
|
229
|
+
about a year ago
|
230
|
+
|
231
|
+
|
232
|
+
webdev
|
233
|
+
https://www.reddit.com/r/webdev/comments/25p2d8
|
234
|
+
Facebook: MVC Does Not Scale, Use Flux Instead
|
235
|
+
about a year ago
|
236
|
+
"""
|
237
|
+
|
238
|
+
Scenario: Filter posts by subreddit when user has no submissions to that subreddit
|
239
|
+
Given the Reddit service returns posts for the user "mipadi"
|
240
|
+
And time is frozen at Nov 19, 2015 11:22 AM
|
241
|
+
When I run `usaidwat posts log mipadi nsfw`
|
242
|
+
Then it should pass with:
|
243
|
+
"""
|
244
|
+
No posts by mipadi for nsfw.
|
245
|
+
"""
|
246
|
+
|
247
|
+
Scenario: Tally posts
|
248
|
+
Given the Reddit service returns posts for the user "mipadi"
|
249
|
+
And time is frozen at Nov 19, 2015 11:22 AM
|
250
|
+
When I run `usaidwat posts tally mipadi`
|
251
|
+
Then it should pass with:
|
252
|
+
"""
|
253
|
+
apple 1
|
254
|
+
Clojure 1
|
255
|
+
django 1
|
256
|
+
Games 2
|
257
|
+
movies 1
|
258
|
+
programming 2
|
259
|
+
short 1
|
260
|
+
swift 3
|
261
|
+
technology 1
|
262
|
+
vim 2
|
263
|
+
webdev 10
|
264
|
+
"""
|
265
|
+
|
266
|
+
Scenario: Sort posts
|
267
|
+
Given the Reddit service returns posts for the user "mipadi"
|
268
|
+
And time is frozen at Nov 19, 2015 11:22 AM
|
269
|
+
When I run `usaidwat posts tally -c mipadi`
|
270
|
+
Then it should pass with:
|
271
|
+
"""
|
272
|
+
webdev 10
|
273
|
+
swift 3
|
274
|
+
Games 2
|
275
|
+
programming 2
|
276
|
+
vim 2
|
277
|
+
apple 1
|
278
|
+
Clojure 1
|
279
|
+
django 1
|
280
|
+
movies 1
|
281
|
+
short 1
|
282
|
+
technology 1
|
283
|
+
"""
|
284
|
+
|
285
|
+
Scenario: Tally posts when user has no submissions
|
286
|
+
Given the Reddit service returns posts for the user "blank"
|
287
|
+
And time is frozen at Nov 19, 2015 11:22 AM
|
288
|
+
When I run `usaidwat posts tally blank`
|
289
|
+
Then it should pass with:
|
290
|
+
"""
|
291
|
+
blank has no posts.
|
292
|
+
"""
|
293
|
+
|
294
|
+
Scenario: Sort posts when user has no submissions
|
295
|
+
Given the Reddit service returns posts for the user "blank"
|
296
|
+
And time is frozen at Nov 19, 2015 11:22 AM
|
297
|
+
When I run `usaidwat posts tally -c blank`
|
298
|
+
Then it should pass with:
|
299
|
+
"""
|
300
|
+
blank has no posts.
|
301
|
+
"""
|
302
|
+
|
303
|
+
Scenario: Tally posts when user does not exist
|
304
|
+
Given the Reddit service does not have a user "testuser"
|
305
|
+
And time is frozen at Nov 19, 2015 11:22 AM
|
306
|
+
When I run `usaidwat posts tally testuser`
|
307
|
+
Then it should fail with:
|
308
|
+
"""
|
309
|
+
No such user: testuser
|
310
|
+
"""
|
311
|
+
|
312
|
+
Scenario: Sort posts when user does not exist
|
313
|
+
Given the Reddit service does not have a user "testuser"
|
314
|
+
And time is frozen at Nov 19, 2015 11:22 AM
|
315
|
+
When I run `usaidwat posts tally -c testuser`
|
316
|
+
Then it should fail with:
|
317
|
+
"""
|
318
|
+
No such user: testuser
|
319
|
+
"""
|
320
|
+
|
321
|
+
Scenario: Pass no arguments when listing posts
|
322
|
+
Given the Reddit service returns posts for the user "mipadi"
|
323
|
+
And time is frozen at Nov 19, 2015 11:22 AM
|
324
|
+
When I run `usaidwat posts log`
|
325
|
+
Then the exit status should not be 0
|
326
|
+
And the stderr should contain exactly:
|
327
|
+
"""
|
328
|
+
You must specify a username
|
329
|
+
"""
|
330
|
+
|
331
|
+
Scenario: Pass no arguments when tallying
|
332
|
+
Given the Reddit service returns posts for the user "mipadi"
|
333
|
+
And time is frozen at Nov 19, 2015 11:22 AM
|
334
|
+
When I run `usaidwat posts tally`
|
335
|
+
Then the exit status should not be 0
|
336
|
+
And the stderr should contain exactly:
|
337
|
+
"""
|
338
|
+
You must specify a username
|
339
|
+
"""
|
340
|
+
|
341
|
+
Scenario: Pass no arguments to command
|
342
|
+
Given the Reddit service returns posts for the user "mipadi"
|
343
|
+
And time is frozen at Nov 19, 2015 11:22 AM
|
344
|
+
When I run `usaidwat posts`
|
345
|
+
Then the exit status should not be 0
|
346
|
+
And the stderr should contain exactly:
|
347
|
+
"""
|
348
|
+
Do you want to tally or log posts?
|
349
|
+
"""
|