simple-rss 2.1.0 → 2.3.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 (46) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +174 -0
  3. data/README.md +492 -8
  4. data/Rakefile +1 -1
  5. data/examples/digest.rb +19 -0
  6. data/examples/discover.rb +14 -0
  7. data/examples/feedbag.rb +10 -0
  8. data/lib/simple-rss/discovery.rb +107 -0
  9. data/lib/simple-rss/entry_normalizer.rb +356 -0
  10. data/lib/simple-rss/http_client.rb +216 -0
  11. data/lib/simple-rss/json_entry_normalizer.rb +147 -0
  12. data/lib/simple-rss/json_feed.rb +176 -0
  13. data/lib/simple-rss/normalized_entry.rb +79 -0
  14. data/lib/simple-rss/request_errors.rb +21 -0
  15. data/lib/simple-rss/request_policy.rb +72 -0
  16. data/lib/simple-rss/xml_element.rb +136 -0
  17. data/lib/simple-rss.rb +437 -71
  18. data/simple-rss.gemspec +5 -5
  19. data/test/base/category_parsing_test.rb +217 -0
  20. data/test/base/date_ordering_test.rb +95 -0
  21. data/test/base/discovery_dependency_test.rb +29 -0
  22. data/test/base/discovery_test.rb +151 -0
  23. data/test/base/discovery_transport_test.rb +413 -0
  24. data/test/base/enumerable_test.rb +16 -0
  25. data/test/base/feed_merging_and_diffing_test.rb +140 -0
  26. data/test/base/feedbag_integration_test.rb +21 -0
  27. data/test/base/fetch_integration_test.rb +25 -0
  28. data/test/base/fetch_test.rb +0 -27
  29. data/test/base/filtering_and_validation_test.rb +187 -0
  30. data/test/base/json_feed_test.rb +372 -0
  31. data/test/base/media_and_enclosure_helpers_test.rb +84 -0
  32. data/test/base/normalized_entries_test.rb +410 -0
  33. data/test/base/normalized_fetch_test.rb +132 -0
  34. data/test/base/relation_links_test.rb +162 -0
  35. data/test/data/atom_categories.xml +23 -0
  36. data/test/data/atom_nested_link.xml +13 -0
  37. data/test/data/discovery.html +28 -0
  38. data/test/data/json_feed_1.json +75 -0
  39. data/test/data/json_feed_1_1.json +78 -0
  40. data/test/data/mixed_dates.xml +55 -0
  41. data/test/data/normalized_atom.xml +22 -0
  42. data/test/data/normalized_rss.xml +21 -0
  43. data/test/data/rss_categories.xml +15 -0
  44. data/test/support/http_server.rb +44 -0
  45. data/test/support/replace_method.rb +14 -0
  46. metadata +46 -10
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple-rss
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lucas Carlson
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-12-29 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: rake
@@ -51,43 +51,81 @@ dependencies:
51
51
  - - ">="
52
52
  - !ruby/object:Gem::Version
53
53
  version: '0'
54
- description: A simple, flexible, extensible, and liberal RSS and Atom reader for Ruby.
55
- It is designed to be backwards compatible with the standard RSS parser, but will
56
- never do RSS generation.
54
+ description: Parse RSS, Atom, and JSON Feed with normalized entries, HTTP fetching,
55
+ website feed discovery, and JSON/XML serialization.
57
56
  email: lucas@rufy.com
58
57
  executables: []
59
58
  extensions: []
60
59
  extra_rdoc_files: []
61
60
  files:
61
+ - CHANGELOG.md
62
62
  - LICENSE
63
63
  - README.md
64
64
  - Rakefile
65
+ - examples/digest.rb
66
+ - examples/discover.rb
67
+ - examples/feedbag.rb
65
68
  - lib/simple-rss.rb
69
+ - lib/simple-rss/discovery.rb
70
+ - lib/simple-rss/entry_normalizer.rb
71
+ - lib/simple-rss/http_client.rb
72
+ - lib/simple-rss/json_entry_normalizer.rb
73
+ - lib/simple-rss/json_feed.rb
74
+ - lib/simple-rss/normalized_entry.rb
75
+ - lib/simple-rss/request_errors.rb
76
+ - lib/simple-rss/request_policy.rb
77
+ - lib/simple-rss/xml_element.rb
66
78
  - simple-rss.gemspec
67
79
  - test/base/array_tags_test.rb
68
80
  - test/base/base_test.rb
81
+ - test/base/category_parsing_test.rb
82
+ - test/base/date_ordering_test.rb
83
+ - test/base/discovery_dependency_test.rb
84
+ - test/base/discovery_test.rb
85
+ - test/base/discovery_transport_test.rb
69
86
  - test/base/empty_tag_test.rb
70
87
  - test/base/encoding_test.rb
71
88
  - test/base/enumerable_test.rb
72
89
  - test/base/feed_attributes_test.rb
90
+ - test/base/feed_merging_and_diffing_test.rb
91
+ - test/base/feedbag_integration_test.rb
92
+ - test/base/fetch_integration_test.rb
73
93
  - test/base/fetch_test.rb
94
+ - test/base/filtering_and_validation_test.rb
74
95
  - test/base/hash_xml_serialization_test.rb
75
96
  - test/base/item_attributes_test.rb
97
+ - test/base/json_feed_test.rb
76
98
  - test/base/json_serialization_test.rb
99
+ - test/base/media_and_enclosure_helpers_test.rb
100
+ - test/base/normalized_entries_test.rb
101
+ - test/base/normalized_fetch_test.rb
102
+ - test/base/relation_links_test.rb
77
103
  - test/data/atom.xml
104
+ - test/data/atom_categories.xml
105
+ - test/data/atom_nested_link.xml
78
106
  - test/data/atom_with_entry_attrs.xml
79
107
  - test/data/atom_with_feed_attrs.xml
108
+ - test/data/discovery.html
109
+ - test/data/json_feed_1.json
110
+ - test/data/json_feed_1_1.json
80
111
  - test/data/media_rss.xml
112
+ - test/data/mixed_dates.xml
113
+ - test/data/normalized_atom.xml
114
+ - test/data/normalized_rss.xml
81
115
  - test/data/not-rss.xml
82
116
  - test/data/rss09.rdf
83
117
  - test/data/rss20.xml
84
118
  - test/data/rss20_utf8.xml
85
119
  - test/data/rss20_with_channel_attrs.xml
86
120
  - test/data/rss20_with_item_attrs.xml
121
+ - test/data/rss_categories.xml
122
+ - test/support/http_server.rb
123
+ - test/support/replace_method.rb
87
124
  - test/test_helper.rb
88
125
  homepage: https://github.com/cardmagic/simple-rss
89
126
  licenses: []
90
- metadata: {}
127
+ metadata:
128
+ changelog_uri: https://github.com/cardmagic/simple-rss/blob/master/CHANGELOG.md
91
129
  rdoc_options: []
92
130
  require_paths:
93
131
  - lib
@@ -102,9 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
102
140
  - !ruby/object:Gem::Version
103
141
  version: '0'
104
142
  requirements: []
105
- rubygems_version: 4.0.3
143
+ rubygems_version: 4.0.16
106
144
  specification_version: 4
107
- summary: A simple, flexible, extensible, and liberal RSS and Atom reader for Ruby.
108
- It is designed to be backwards compatible with the standard RSS parser, but will
109
- never do RSS generation.
145
+ summary: A flexible RSS, Atom, and JSON Feed reader for Ruby.
110
146
  test_files: []