reddit_listings 1.0.1

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.
Files changed (43) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +82 -0
  4. data/Rakefile +32 -0
  5. data/lib/reddit_listings.rb +47 -0
  6. data/lib/tasks/reddit_listings_tasks.rake +4 -0
  7. data/test/dummy/README.rdoc +28 -0
  8. data/test/dummy/Rakefile +6 -0
  9. data/test/dummy/app/assets/javascripts/application.js +13 -0
  10. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  11. data/test/dummy/app/controllers/application_controller.rb +5 -0
  12. data/test/dummy/app/helpers/application_helper.rb +2 -0
  13. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  14. data/test/dummy/bin/bundle +3 -0
  15. data/test/dummy/bin/rails +4 -0
  16. data/test/dummy/bin/rake +4 -0
  17. data/test/dummy/config.ru +4 -0
  18. data/test/dummy/config/application.rb +23 -0
  19. data/test/dummy/config/boot.rb +5 -0
  20. data/test/dummy/config/database.yml +25 -0
  21. data/test/dummy/config/environment.rb +5 -0
  22. data/test/dummy/config/environments/development.rb +29 -0
  23. data/test/dummy/config/environments/production.rb +80 -0
  24. data/test/dummy/config/environments/test.rb +36 -0
  25. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  26. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  27. data/test/dummy/config/initializers/inflections.rb +16 -0
  28. data/test/dummy/config/initializers/mime_types.rb +5 -0
  29. data/test/dummy/config/initializers/secret_token.rb +12 -0
  30. data/test/dummy/config/initializers/session_store.rb +3 -0
  31. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  32. data/test/dummy/config/locales/en.yml +23 -0
  33. data/test/dummy/config/routes.rb +56 -0
  34. data/test/dummy/db/test.sqlite3 +0 -0
  35. data/test/dummy/log/development.log +0 -0
  36. data/test/dummy/log/test.log +390 -0
  37. data/test/dummy/public/404.html +58 -0
  38. data/test/dummy/public/422.html +58 -0
  39. data/test/dummy/public/500.html +57 -0
  40. data/test/dummy/public/favicon.ico +0 -0
  41. data/test/reddit_listings_test.rb +27 -0
  42. data/test/test_helper.rb +15 -0
  43. metadata +149 -0
@@ -0,0 +1,58 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <style>
6
+ body {
7
+ background-color: #EFEFEF;
8
+ color: #2E2F30;
9
+ text-align: center;
10
+ font-family: arial, sans-serif;
11
+ }
12
+
13
+ div.dialog {
14
+ width: 25em;
15
+ margin: 4em auto 0 auto;
16
+ border: 1px solid #CCC;
17
+ border-right-color: #999;
18
+ border-left-color: #999;
19
+ border-bottom-color: #BBB;
20
+ border-top: #B00100 solid 4px;
21
+ border-top-left-radius: 9px;
22
+ border-top-right-radius: 9px;
23
+ background-color: white;
24
+ padding: 7px 4em 0 4em;
25
+ }
26
+
27
+ h1 {
28
+ font-size: 100%;
29
+ color: #730E15;
30
+ line-height: 1.5em;
31
+ }
32
+
33
+ body > p {
34
+ width: 33em;
35
+ margin: 0 auto 1em;
36
+ padding: 1em 0;
37
+ background-color: #F7F7F7;
38
+ border: 1px solid #CCC;
39
+ border-right-color: #999;
40
+ border-bottom-color: #999;
41
+ border-bottom-left-radius: 4px;
42
+ border-bottom-right-radius: 4px;
43
+ border-top-color: #DADADA;
44
+ color: #666;
45
+ box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);
46
+ }
47
+ </style>
48
+ </head>
49
+
50
+ <body>
51
+ <!-- This file lives in public/404.html -->
52
+ <div class="dialog">
53
+ <h1>The page you were looking for doesn't exist.</h1>
54
+ <p>You may have mistyped the address or the page may have moved.</p>
55
+ </div>
56
+ <p>If you are the application owner check the logs for more information.</p>
57
+ </body>
58
+ </html>
@@ -0,0 +1,58 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <style>
6
+ body {
7
+ background-color: #EFEFEF;
8
+ color: #2E2F30;
9
+ text-align: center;
10
+ font-family: arial, sans-serif;
11
+ }
12
+
13
+ div.dialog {
14
+ width: 25em;
15
+ margin: 4em auto 0 auto;
16
+ border: 1px solid #CCC;
17
+ border-right-color: #999;
18
+ border-left-color: #999;
19
+ border-bottom-color: #BBB;
20
+ border-top: #B00100 solid 4px;
21
+ border-top-left-radius: 9px;
22
+ border-top-right-radius: 9px;
23
+ background-color: white;
24
+ padding: 7px 4em 0 4em;
25
+ }
26
+
27
+ h1 {
28
+ font-size: 100%;
29
+ color: #730E15;
30
+ line-height: 1.5em;
31
+ }
32
+
33
+ body > p {
34
+ width: 33em;
35
+ margin: 0 auto 1em;
36
+ padding: 1em 0;
37
+ background-color: #F7F7F7;
38
+ border: 1px solid #CCC;
39
+ border-right-color: #999;
40
+ border-bottom-color: #999;
41
+ border-bottom-left-radius: 4px;
42
+ border-bottom-right-radius: 4px;
43
+ border-top-color: #DADADA;
44
+ color: #666;
45
+ box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);
46
+ }
47
+ </style>
48
+ </head>
49
+
50
+ <body>
51
+ <!-- This file lives in public/422.html -->
52
+ <div class="dialog">
53
+ <h1>The change you wanted was rejected.</h1>
54
+ <p>Maybe you tried to change something you didn't have access to.</p>
55
+ </div>
56
+ <p>If you are the application owner check the logs for more information.</p>
57
+ </body>
58
+ </html>
@@ -0,0 +1,57 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <style>
6
+ body {
7
+ background-color: #EFEFEF;
8
+ color: #2E2F30;
9
+ text-align: center;
10
+ font-family: arial, sans-serif;
11
+ }
12
+
13
+ div.dialog {
14
+ width: 25em;
15
+ margin: 4em auto 0 auto;
16
+ border: 1px solid #CCC;
17
+ border-right-color: #999;
18
+ border-left-color: #999;
19
+ border-bottom-color: #BBB;
20
+ border-top: #B00100 solid 4px;
21
+ border-top-left-radius: 9px;
22
+ border-top-right-radius: 9px;
23
+ background-color: white;
24
+ padding: 7px 4em 0 4em;
25
+ }
26
+
27
+ h1 {
28
+ font-size: 100%;
29
+ color: #730E15;
30
+ line-height: 1.5em;
31
+ }
32
+
33
+ body > p {
34
+ width: 33em;
35
+ margin: 0 auto 1em;
36
+ padding: 1em 0;
37
+ background-color: #F7F7F7;
38
+ border: 1px solid #CCC;
39
+ border-right-color: #999;
40
+ border-bottom-color: #999;
41
+ border-bottom-left-radius: 4px;
42
+ border-bottom-right-radius: 4px;
43
+ border-top-color: #DADADA;
44
+ color: #666;
45
+ box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);
46
+ }
47
+ </style>
48
+ </head>
49
+
50
+ <body>
51
+ <!-- This file lives in public/500.html -->
52
+ <div class="dialog">
53
+ <h1>We're sorry, but something went wrong.</h1>
54
+ </div>
55
+ <p>If you are the application owner check the logs for more information.</p>
56
+ </body>
57
+ </html>
File without changes
@@ -0,0 +1,27 @@
1
+ require 'test_helper'
2
+ require 'fakeweb'
3
+
4
+ class RedditListingsTest < ActiveSupport::TestCase
5
+
6
+ test "truth" do
7
+ assert_kind_of Module, RedditListings
8
+ end
9
+
10
+ setup do
11
+ FakeWeb.register_uri(:get, "http://www.reddit.com/r/ruby+rails/top/.json?limit=2&t=all", :body => '{"kind": "Listing", "data": {"modhash": "34do8o0hwy873bef4969f21cd7e210392db614967aef5b73f3", "children": [{"kind": "t3", "data": {"domain": "twitter.com", "banned_by": null, "media_embed": {}, "subreddit": "ruby", "selftext_html": null, "selftext": "", "likes": null, "secure_media": null, "link_flair_text": null, "id": "1yfeb7", "gilded": 0, "secure_media_embed": {}, "clicked": false, "stickied": false, "author": "micketic", "media": null, "score": 293, "approved_by": null, "over_18": false, "hidden": false, "thumbnail": "", "subreddit_id": "t5_2qh21", "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 44, "saved": false, "is_self": false, "permalink": "/r/ruby/comments/1yfeb7/jim_weirich_creator_of_rake_passed_away_today/", "name": "t3_1yfeb7", "created": 1392886180.0, "url": "https://twitter.com/evanphx/status/436408348968120320", "author_flair_text": null, "title": "Jim Weirich, creator of \"rake\" passed away today", "created_utc": 1392886180.0, "ups": 337, "num_comments": 38, "visited": false, "num_reports": null, "distinguished": null}}, {"kind": "t3", "data": {"domain": "imgur.com", "banned_by": null, "media_embed": {}, "subreddit": "ruby", "selftext_html": null, "selftext": "", "likes": null, "secure_media": null, "link_flair_text": null, "id": "l67pa", "gilded": 0, "secure_media_embed": {}, "clicked": false, "stickied": false, "author": "seriouslyawesome", "media": null, "score": 212, "approved_by": null, "over_18": false, "hidden": false, "thumbnail": "", "subreddit_id": "t5_2qh21", "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 27, "saved": false, "is_self": false, "permalink": "/r/ruby/comments/l67pa/how_i_feel_about_ryan_bates/", "name": "t3_l67pa", "created": 1318189328.0, "url": "http://imgur.com/lMwLj", "author_flair_text": null, "title": "This test passes!", "created_utc": 1318185728.0, "ups": 239, "num_comments": 23, "visited": false, "num_reports": null, "distinguished": null}}], "after": "t3_l67pa", "before": null}}') #fakes the response from the URI
12
+ FakeWeb.register_uri(:get, "http://www.reddit.com/r/ruby+rails/hot/.json?limit=2", :body => '{"kind": "Listing", "data": {"modhash": "dsf8dwmjs9dd7e3e556e620cde7cc0bd9bc6a818f119085831", "children": [{"kind": "t3", "data": {"domain": "blog.sharetribe.com", "banned_by": null, "media_embed": {}, "subreddit": "ruby", "selftext_html": null, "selftext": "", "likes": null, "secure_media": null, "link_flair_text": null, "id": "273szt", "gilded": 0, "secure_media_embed": {}, "clicked": false, "stickied": false, "author": "rap1ds", "media": null, "score": 17, "approved_by": null, "over_18": false, "hidden": false, "thumbnail": "", "subreddit_id": "t5_2qh21", "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 5, "saved": false, "is_self": false, "permalink": "/r/ruby/comments/273szt/option_pattern_maybe_monad_in_ruby/", "name": "t3_273szt", "created": 1401740235.0, "url": "http://blog.sharetribe.com/2014/06/02/option-pattern-maybe-monad-in-ruby/", "author_flair_text": null, "title": "Option pattern (Maybe monad) in Ruby", "created_utc": 1401711435.0, "ups": 22, "num_comments": 3, "visited": false, "num_reports": null, "distinguished": null}}, {"kind": "t3", "data": {"domain": "railsware.com", "banned_by": null, "media_embed": {}, "subreddit": "ruby", "selftext_html": null, "selftext": "", "likes": null, "secure_media": null, "link_flair_text": null, "id": "274b3v", "gilded": 0, "secure_media_embed": {}, "clicked": false, "stickied": false, "author": "gregolsen", "media": null, "score": 1, "approved_by": null, "over_18": false, "hidden": false, "thumbnail": "", "subreddit_id": "t5_2qh21", "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 0, "saved": false, "is_self": false, "permalink": "/r/ruby/comments/274b3v/chainflow_refactor_your_data_processing/", "name": "t3_274b3v", "created": 1401753242.0, "url": "http://railsware.com/blog/2014/06/02/chainflow-refactor-your-data-processing/", "author_flair_text": null, "title": "ChainFlow \u2013 refactor your data processing", "created_utc": 1401724442.0, "ups": 1, "num_comments": 0, "visited": false, "num_reports": null, "distinguished": null}}], "after": "t3_274b3v", "before": null}}')
13
+ end
14
+
15
+ test "should be able to retrieve the title of the second post of r/ruby and r/rails in top" do
16
+ @listing = RedditListings.get("ruby+rails", timeframe: "all", total: "2", sort_by: "top")
17
+ assert_match "This test passes!", @listing[1][:title]
18
+ end
19
+
20
+ test "should be able to retrieve the title of the first post in r/ruby and r/rails in hot" do
21
+ @listing = RedditListings.get("ruby+rails", total: "2", sort_by: "hot")
22
+ assert_match "Option pattern (Maybe monad) in Ruby", @listing[0][:title]
23
+ end
24
+
25
+ end
26
+
27
+
@@ -0,0 +1,15 @@
1
+ # Configure Rails Environment
2
+ ENV["RAILS_ENV"] = "test"
3
+
4
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
5
+ require "rails/test_help"
6
+
7
+ Rails.backtrace_cleaner.remove_silencers!
8
+
9
+ # Load support files
10
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
11
+
12
+ # Load fixtures from the engine
13
+ if ActiveSupport::TestCase.method_defined?(:fixture_path=)
14
+ ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__)
15
+ end
metadata ADDED
@@ -0,0 +1,149 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: reddit_listings
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Marc Burt
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-06-03 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '4.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '4.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: sqlite3
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description: This gem returns an array of up to 100 listings (content posts and self
42
+ posts) from any subreddit(s) and sorting methods possible.
43
+ email:
44
+ - marc.burt@gmail.com
45
+ executables: []
46
+ extensions: []
47
+ extra_rdoc_files: []
48
+ files:
49
+ - MIT-LICENSE
50
+ - README.rdoc
51
+ - Rakefile
52
+ - lib/reddit_listings.rb
53
+ - lib/tasks/reddit_listings_tasks.rake
54
+ - test/dummy/README.rdoc
55
+ - test/dummy/Rakefile
56
+ - test/dummy/app/assets/javascripts/application.js
57
+ - test/dummy/app/assets/stylesheets/application.css
58
+ - test/dummy/app/controllers/application_controller.rb
59
+ - test/dummy/app/helpers/application_helper.rb
60
+ - test/dummy/app/views/layouts/application.html.erb
61
+ - test/dummy/bin/bundle
62
+ - test/dummy/bin/rails
63
+ - test/dummy/bin/rake
64
+ - test/dummy/config.ru
65
+ - test/dummy/config/application.rb
66
+ - test/dummy/config/boot.rb
67
+ - test/dummy/config/database.yml
68
+ - test/dummy/config/environment.rb
69
+ - test/dummy/config/environments/development.rb
70
+ - test/dummy/config/environments/production.rb
71
+ - test/dummy/config/environments/test.rb
72
+ - test/dummy/config/initializers/backtrace_silencers.rb
73
+ - test/dummy/config/initializers/filter_parameter_logging.rb
74
+ - test/dummy/config/initializers/inflections.rb
75
+ - test/dummy/config/initializers/mime_types.rb
76
+ - test/dummy/config/initializers/secret_token.rb
77
+ - test/dummy/config/initializers/session_store.rb
78
+ - test/dummy/config/initializers/wrap_parameters.rb
79
+ - test/dummy/config/locales/en.yml
80
+ - test/dummy/config/routes.rb
81
+ - test/dummy/db/test.sqlite3
82
+ - test/dummy/log/development.log
83
+ - test/dummy/log/test.log
84
+ - test/dummy/public/404.html
85
+ - test/dummy/public/422.html
86
+ - test/dummy/public/500.html
87
+ - test/dummy/public/favicon.ico
88
+ - test/reddit_listings_test.rb
89
+ - test/test_helper.rb
90
+ homepage: https://github.com/MarcBurt/Reddit_Listings
91
+ licenses: []
92
+ metadata: {}
93
+ post_install_message:
94
+ rdoc_options: []
95
+ require_paths:
96
+ - lib
97
+ required_ruby_version: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ required_rubygems_version: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - '>='
105
+ - !ruby/object:Gem::Version
106
+ version: '0'
107
+ requirements: []
108
+ rubyforge_project:
109
+ rubygems_version: 2.2.2
110
+ signing_key:
111
+ specification_version: 4
112
+ summary: A gem to simplify capturing listings of one or more subreddits .
113
+ test_files:
114
+ - test/dummy/app/assets/javascripts/application.js
115
+ - test/dummy/app/assets/stylesheets/application.css
116
+ - test/dummy/app/controllers/application_controller.rb
117
+ - test/dummy/app/helpers/application_helper.rb
118
+ - test/dummy/app/views/layouts/application.html.erb
119
+ - test/dummy/bin/bundle
120
+ - test/dummy/bin/rails
121
+ - test/dummy/bin/rake
122
+ - test/dummy/config/application.rb
123
+ - test/dummy/config/boot.rb
124
+ - test/dummy/config/database.yml
125
+ - test/dummy/config/environment.rb
126
+ - test/dummy/config/environments/development.rb
127
+ - test/dummy/config/environments/production.rb
128
+ - test/dummy/config/environments/test.rb
129
+ - test/dummy/config/initializers/backtrace_silencers.rb
130
+ - test/dummy/config/initializers/filter_parameter_logging.rb
131
+ - test/dummy/config/initializers/inflections.rb
132
+ - test/dummy/config/initializers/mime_types.rb
133
+ - test/dummy/config/initializers/secret_token.rb
134
+ - test/dummy/config/initializers/session_store.rb
135
+ - test/dummy/config/initializers/wrap_parameters.rb
136
+ - test/dummy/config/locales/en.yml
137
+ - test/dummy/config/routes.rb
138
+ - test/dummy/config.ru
139
+ - test/dummy/db/test.sqlite3
140
+ - test/dummy/log/development.log
141
+ - test/dummy/log/test.log
142
+ - test/dummy/public/404.html
143
+ - test/dummy/public/422.html
144
+ - test/dummy/public/500.html
145
+ - test/dummy/public/favicon.ico
146
+ - test/dummy/Rakefile
147
+ - test/dummy/README.rdoc
148
+ - test/reddit_listings_test.rb
149
+ - test/test_helper.rb