simple-rss 2.2.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 (41) 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 +225 -77
  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/feedbag_integration_test.rb +21 -0
  26. data/test/base/json_feed_test.rb +372 -0
  27. data/test/base/normalized_entries_test.rb +410 -0
  28. data/test/base/normalized_fetch_test.rb +132 -0
  29. data/test/base/relation_links_test.rb +162 -0
  30. data/test/data/atom_categories.xml +23 -0
  31. data/test/data/atom_nested_link.xml +13 -0
  32. data/test/data/discovery.html +28 -0
  33. data/test/data/json_feed_1.json +75 -0
  34. data/test/data/json_feed_1_1.json +78 -0
  35. data/test/data/mixed_dates.xml +55 -0
  36. data/test/data/normalized_atom.xml +22 -0
  37. data/test/data/normalized_rss.xml +21 -0
  38. data/test/data/rss_categories.xml +15 -0
  39. data/test/support/http_server.rb +44 -0
  40. data/test/support/replace_method.rb +14 -0
  41. metadata +42 -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.2.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-28 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,47 +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
73
90
  - test/base/feed_merging_and_diffing_test.rb
91
+ - test/base/feedbag_integration_test.rb
74
92
  - test/base/fetch_integration_test.rb
75
93
  - test/base/fetch_test.rb
76
94
  - test/base/filtering_and_validation_test.rb
77
95
  - test/base/hash_xml_serialization_test.rb
78
96
  - test/base/item_attributes_test.rb
97
+ - test/base/json_feed_test.rb
79
98
  - test/base/json_serialization_test.rb
80
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
81
103
  - test/data/atom.xml
104
+ - test/data/atom_categories.xml
105
+ - test/data/atom_nested_link.xml
82
106
  - test/data/atom_with_entry_attrs.xml
83
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
84
111
  - test/data/media_rss.xml
112
+ - test/data/mixed_dates.xml
113
+ - test/data/normalized_atom.xml
114
+ - test/data/normalized_rss.xml
85
115
  - test/data/not-rss.xml
86
116
  - test/data/rss09.rdf
87
117
  - test/data/rss20.xml
88
118
  - test/data/rss20_utf8.xml
89
119
  - test/data/rss20_with_channel_attrs.xml
90
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
91
124
  - test/test_helper.rb
92
125
  homepage: https://github.com/cardmagic/simple-rss
93
126
  licenses: []
94
- metadata: {}
127
+ metadata:
128
+ changelog_uri: https://github.com/cardmagic/simple-rss/blob/master/CHANGELOG.md
95
129
  rdoc_options: []
96
130
  require_paths:
97
131
  - lib
@@ -106,9 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
106
140
  - !ruby/object:Gem::Version
107
141
  version: '0'
108
142
  requirements: []
109
- rubygems_version: 4.0.6
143
+ rubygems_version: 4.0.16
110
144
  specification_version: 4
111
- summary: A simple, flexible, extensible, and liberal RSS and Atom reader for Ruby.
112
- It is designed to be backwards compatible with the standard RSS parser, but will
113
- never do RSS generation.
145
+ summary: A flexible RSS, Atom, and JSON Feed reader for Ruby.
114
146
  test_files: []