feedparser 1.1.1 → 1.2.0

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 (62) hide show
  1. checksums.yaml +4 -4
  2. data/Manifest.txt +36 -7
  3. data/README.md +145 -10
  4. data/Rakefile +1 -1
  5. data/lib/feedparser.rb +3 -0
  6. data/lib/feedparser/author.rb +39 -0
  7. data/lib/feedparser/builder/atom.rb +64 -17
  8. data/lib/feedparser/builder/json.rb +46 -10
  9. data/lib/feedparser/builder/rss.rb +94 -15
  10. data/lib/feedparser/feed.rb +30 -6
  11. data/lib/feedparser/generator.rb +34 -0
  12. data/lib/feedparser/item.rb +31 -6
  13. data/lib/feedparser/tag.rb +23 -0
  14. data/lib/feedparser/version.rb +2 -2
  15. data/test/feeds/books/nostarch.rss +125 -0
  16. data/test/feeds/books/oreilly.feedburner.atom +387 -0
  17. data/test/feeds/books/pragprog.rss +148 -0
  18. data/test/feeds/byparker.json +4 -4
  19. data/test/feeds/daringfireball.atom +8 -1
  20. data/test/feeds/daringfireball.json +28 -0
  21. data/test/feeds/googlegroups.atom +2 -2
  22. data/test/feeds/googlegroups2.atom +1 -1
  23. data/test/feeds/headius.atom +6 -5
  24. data/test/feeds/inessential.json +13 -4
  25. data/test/feeds/jsonfeed.json +8 -3
  26. data/test/feeds/{lambdatheultimate.rss2 → lambdatheultimate.rss} +0 -0
  27. data/test/feeds/{learnenough.atom → learnenough.feedburner.atom} +12 -9
  28. data/test/feeds/news/nytimes-blogs-bits.rss +333 -0
  29. data/test/feeds/news/nytimes-paul-krugman.rss +60 -0
  30. data/test/feeds/news/nytimes-tech.rss +653 -0
  31. data/test/feeds/news/nytimes-thomas-l-friedman.rss +80 -0
  32. data/test/feeds/news/nytimes.rss +607 -0
  33. data/test/feeds/news/washingtonpost-blogs-innovations.rss +183 -0
  34. data/test/feeds/news/washingtonpost-politics.rss +35 -0
  35. data/test/feeds/news/washingtonpost-world.rss +29 -0
  36. data/test/feeds/ongoing.atom +1619 -0
  37. data/test/feeds/osm/blog.openstreetmap.rss +252 -0
  38. data/test/feeds/osm/blogs.openstreetmap.rss +585 -0
  39. data/test/feeds/osm/mapbox.rss +1883 -0
  40. data/test/feeds/{railstutorial.atom → railstutorial.feedburner.atom} +28 -27
  41. data/test/feeds/{rubyflow.rss2 → rubyflow.feedburner.rss} +7 -3
  42. data/test/feeds/{rubymine.rss2 → rubymine.feedburner.rss} +5 -6
  43. data/test/feeds/scripting.rss +881 -0
  44. data/test/feeds/{sitepoint.rss2 → sitepoint.rss} +8 -9
  45. data/test/feeds/spec/atom/author.atom +48 -0
  46. data/test/feeds/spec/atom/authors.atom +70 -0
  47. data/test/feeds/spec/atom/categories.atom +66 -0
  48. data/test/feeds/spec/json/microblog.json +11 -2
  49. data/test/feeds/spec/json/tags.json +33 -0
  50. data/test/feeds/spec/rss/author.rss +41 -0
  51. data/test/feeds/spec/rss/categories.rss +64 -0
  52. data/test/feeds/spec/rss/creator.rss +38 -0
  53. data/test/feeds/{xkcd.rss2 → xkcd.rss} +0 -0
  54. data/test/helper.rb +21 -16
  55. data/test/test_atom.rb +1 -1
  56. data/test/test_atom_live.rb +1 -1
  57. data/test/test_authors.rb +26 -0
  58. data/test/test_books.rb +25 -0
  59. data/test/test_feeds.rb +4 -2
  60. data/test/test_rss.rb +4 -4
  61. data/test/test_tags.rb +25 -0
  62. metadata +39 -10
@@ -14,7 +14,7 @@ class TestAtom < MiniTest::Test
14
14
  'googlegroups.atom',
15
15
  'googlegroups2.atom',
16
16
  'rubyonrails.atom',
17
- 'railstutorial.atom',
17
+ 'railstutorial.feedburner.atom',
18
18
  'headius.atom',
19
19
  ]
20
20
 
@@ -37,7 +37,7 @@ class TestAtomLive < MiniTest::Test
37
37
  feed = fetch_and_parse_feed( 'http://blog.headius.com/feeds/posts/default' )
38
38
 
39
39
  assert_equal 'atom', feed.format
40
- assert_equal 'Blogger', feed.generator
40
+ assert_equal 'Blogger', feed.generator.name
41
41
  assert_equal 'Headius', feed.title
42
42
  assert_equal 'Helping the JVM Into the 21st Century', feed.summary # aka subtitle in atom
43
43
  assert_equal 'http://blog.headius.com/', feed.url
@@ -0,0 +1,26 @@
1
+ ###
2
+ # to run use
3
+ # ruby -I ./lib -I ./test test/test_authors.rb
4
+ # or better
5
+ # rake test
6
+
7
+ require 'helper'
8
+
9
+
10
+ class TestAuthors < MiniTest::Test
11
+
12
+ def test_all
13
+ names = [
14
+ 'spec/atom/author.atom',
15
+ 'spec/atom/authors.atom',
16
+ 'spec/rss/creator.rss',
17
+ 'spec/rss/author.rss',
18
+ ]
19
+
20
+ names.each do |name|
21
+ assert_feed_tests_for( name )
22
+ end
23
+ end
24
+
25
+
26
+ end # class TestAuthors
@@ -0,0 +1,25 @@
1
+ ###
2
+ # to run use
3
+ # ruby -I ./lib -I ./test test/test_books.rb
4
+ # or better
5
+ # rake test
6
+
7
+ require 'helper'
8
+
9
+
10
+ class TestBooks < MiniTest::Test
11
+
12
+ def test_all
13
+ names = [
14
+ 'books/nostarch.rss',
15
+ 'books/pragprog.rss',
16
+ 'books/oreilly.feedburner.atom',
17
+ ]
18
+
19
+ names.each do |name|
20
+ assert_feed_tests_for( name )
21
+ end
22
+ end
23
+
24
+
25
+ end # class TestBooks
@@ -11,11 +11,13 @@ class TestFeeds < MiniTest::Test
11
11
 
12
12
  def test_all
13
13
  names = [
14
- 'learnenough.atom',
14
+ 'learnenough.feedburner.atom',
15
15
  'xkcd.atom',
16
- 'xkcd.rss2',
16
+ 'xkcd.rss',
17
17
  'daringfireball.atom',
18
18
  'intertwingly.atom',
19
+ 'ongoing.atom',
20
+ 'scripting.rss',
19
21
  ]
20
22
 
21
23
  names.each do |name|
@@ -11,10 +11,10 @@ class TestRss < MiniTest::Test
11
11
 
12
12
  def test_all
13
13
  names = [
14
- 'rubyflow.rss2',
15
- 'sitepoint.rss2',
16
- 'lambdatheultimate.rss2',
17
- 'rubymine.rss2',
14
+ 'rubyflow.feedburner.rss',
15
+ 'sitepoint.rss',
16
+ 'lambdatheultimate.rss',
17
+ 'rubymine.feedburner.rss',
18
18
  ]
19
19
 
20
20
  names.each do |name|
@@ -0,0 +1,25 @@
1
+ ###
2
+ # to run use
3
+ # ruby -I ./lib -I ./test test/test_tags.rb
4
+ # or better
5
+ # rake test
6
+
7
+ require 'helper'
8
+
9
+
10
+ class TestTags < MiniTest::Test
11
+
12
+ def test_all
13
+ names = [
14
+ 'spec/atom/categories.atom',
15
+ 'spec/rss/categories.rss',
16
+ 'spec/json/tags.json',
17
+ ]
18
+
19
+ names.each do |name|
20
+ assert_feed_tests_for( name )
21
+ end
22
+ end
23
+
24
+
25
+ end # class TestTags
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: feedparser
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gerald Bauer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-26 00:00:00.000000000 Z
11
+ date: 2017-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: logutils
@@ -80,13 +80,19 @@ files:
80
80
  - README.md
81
81
  - Rakefile
82
82
  - lib/feedparser.rb
83
+ - lib/feedparser/author.rb
83
84
  - lib/feedparser/builder/atom.rb
84
85
  - lib/feedparser/builder/json.rb
85
86
  - lib/feedparser/builder/rss.rb
86
87
  - lib/feedparser/feed.rb
88
+ - lib/feedparser/generator.rb
87
89
  - lib/feedparser/item.rb
88
90
  - lib/feedparser/parser.rb
91
+ - lib/feedparser/tag.rb
89
92
  - lib/feedparser/version.rb
93
+ - test/feeds/books/nostarch.rss
94
+ - test/feeds/books/oreilly.feedburner.atom
95
+ - test/feeds/books/pragprog.rss
90
96
  - test/feeds/byparker.json
91
97
  - test/feeds/daringfireball.atom
92
98
  - test/feeds/daringfireball.json
@@ -96,26 +102,49 @@ files:
96
102
  - test/feeds/inessential.json
97
103
  - test/feeds/intertwingly.atom
98
104
  - test/feeds/jsonfeed.json
99
- - test/feeds/lambdatheultimate.rss2
100
- - test/feeds/learnenough.atom
101
- - test/feeds/railstutorial.atom
102
- - test/feeds/rubyflow.rss2
103
- - test/feeds/rubymine.rss2
105
+ - test/feeds/lambdatheultimate.rss
106
+ - test/feeds/learnenough.feedburner.atom
107
+ - test/feeds/news/nytimes-blogs-bits.rss
108
+ - test/feeds/news/nytimes-paul-krugman.rss
109
+ - test/feeds/news/nytimes-tech.rss
110
+ - test/feeds/news/nytimes-thomas-l-friedman.rss
111
+ - test/feeds/news/nytimes.rss
112
+ - test/feeds/news/washingtonpost-blogs-innovations.rss
113
+ - test/feeds/news/washingtonpost-politics.rss
114
+ - test/feeds/news/washingtonpost-world.rss
115
+ - test/feeds/ongoing.atom
116
+ - test/feeds/osm/blog.openstreetmap.rss
117
+ - test/feeds/osm/blogs.openstreetmap.rss
118
+ - test/feeds/osm/mapbox.rss
119
+ - test/feeds/railstutorial.feedburner.atom
120
+ - test/feeds/rubyflow.feedburner.rss
121
+ - test/feeds/rubymine.feedburner.rss
104
122
  - test/feeds/rubyonrails.atom
105
- - test/feeds/sitepoint.rss2
123
+ - test/feeds/scripting.rss
124
+ - test/feeds/sitepoint.rss
125
+ - test/feeds/spec/atom/author.atom
126
+ - test/feeds/spec/atom/authors.atom
127
+ - test/feeds/spec/atom/categories.atom
106
128
  - test/feeds/spec/json/example.json
107
129
  - test/feeds/spec/json/microblog.json
130
+ - test/feeds/spec/json/tags.json
131
+ - test/feeds/spec/rss/author.rss
132
+ - test/feeds/spec/rss/categories.rss
133
+ - test/feeds/spec/rss/creator.rss
108
134
  - test/feeds/xkcd.atom
109
- - test/feeds/xkcd.rss2
135
+ - test/feeds/xkcd.rss
110
136
  - test/helper.rb
111
137
  - test/test_atom.rb
112
138
  - test/test_atom_live.rb
139
+ - test/test_authors.rb
140
+ - test/test_books.rb
113
141
  - test/test_dates.rb
114
142
  - test/test_feeds.rb
115
143
  - test/test_json.rb
116
144
  - test/test_rss.rb
117
145
  - test/test_rss_live.rb
118
- homepage: https://github.com/feedreader/feedparser
146
+ - test/test_tags.rb
147
+ homepage: https://github.com/feedparser/feedparser
119
148
  licenses:
120
149
  - Public Domain
121
150
  metadata: {}