rss 0.2.9 → 0.3.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.
- checksums.yaml +4 -4
- data/NEWS.md +54 -0
- data/README.md +11 -11
- data/lib/rss/itunes.rb +10 -1
- data/lib/rss/maker/itunes.rb +2 -0
- data/lib/rss/rss.rb +43 -15
- data/lib/rss/utils.rb +0 -18
- data/lib/rss/version.rb +1 -1
- data/lib/rss/xml-stylesheet.rb +3 -4
- data/lib/rss/xml.rb +3 -2
- data/lib/rss.rb +12 -12
- metadata +4 -143
- data/Gemfile +0 -6
- data/Rakefile +0 -15
- data/rss.gemspec +0 -30
- data/test/dot.png +0 -0
- data/test/rss-assertions.rb +0 -2116
- data/test/rss-testcase.rb +0 -479
- data/test/run-test.rb +0 -15
- data/test/test_1.0.rb +0 -308
- data/test/test_2.0.rb +0 -412
- data/test/test_accessor.rb +0 -104
- data/test/test_atom.rb +0 -684
- data/test/test_content.rb +0 -105
- data/test/test_dublincore.rb +0 -270
- data/test/test_image.rb +0 -215
- data/test/test_inherit.rb +0 -41
- data/test/test_itunes.rb +0 -360
- data/test/test_maker_0.9.rb +0 -477
- data/test/test_maker_1.0.rb +0 -519
- data/test/test_maker_2.0.rb +0 -758
- data/test/test_maker_atom_entry.rb +0 -394
- data/test/test_maker_atom_feed.rb +0 -455
- data/test/test_maker_content.rb +0 -48
- data/test/test_maker_dc.rb +0 -150
- data/test/test_maker_image.rb +0 -63
- data/test/test_maker_itunes.rb +0 -488
- data/test/test_maker_slash.rb +0 -38
- data/test/test_maker_sy.rb +0 -45
- data/test/test_maker_taxo.rb +0 -82
- data/test/test_maker_trackback.rb +0 -42
- data/test/test_maker_xml-stylesheet.rb +0 -84
- data/test/test_parser.rb +0 -122
- data/test/test_parser_1.0.rb +0 -529
- data/test/test_parser_2.0.rb +0 -123
- data/test/test_parser_atom_entry.rb +0 -164
- data/test/test_parser_atom_feed.rb +0 -277
- data/test/test_setup_maker_0.9.rb +0 -247
- data/test/test_setup_maker_1.0.rb +0 -551
- data/test/test_setup_maker_2.0.rb +0 -309
- data/test/test_setup_maker_atom_entry.rb +0 -410
- data/test/test_setup_maker_atom_feed.rb +0 -446
- data/test/test_setup_maker_itunes.rb +0 -146
- data/test/test_setup_maker_slash.rb +0 -39
- data/test/test_slash.rb +0 -65
- data/test/test_syndication.rb +0 -126
- data/test/test_taxonomy.rb +0 -173
- data/test/test_to_s.rb +0 -701
- data/test/test_trackback.rb +0 -136
- data/test/test_xml-stylesheet.rb +0 -109
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 256ad5c3d40e196bf28856b91c644de51c96f739893bd758e1d708c16f3cb4ed
|
4
|
+
data.tar.gz: 2d64ea8248adfc12c7b068f1b3fbe84e7bf11109ca9712f1e81808f86f330f60
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2b2b9eeb72011de92f218871ddd0993aee856c8ec496ee4b79a98d36912c826a6860eff37ebcc9ad447f5311560c5a0906ada2b13abab8b9cad081ba62b3e495
|
7
|
+
data.tar.gz: 736246b1c3b6c3eed52161fa220f170aa0da4da6c163dd2656b5ea5f4b5d77d5b96b353eea1b9b51d68e9014f1da221c1dc0a49236a6c020b2c4994d4fca2195
|
data/NEWS.md
CHANGED
@@ -1,5 +1,59 @@
|
|
1
1
|
# News
|
2
2
|
|
3
|
+
## 0.3.1 - 2024-08-02
|
4
|
+
|
5
|
+
### Improvements
|
6
|
+
|
7
|
+
* itunes: Add support for lowercased values (`full`, `trailer` and
|
8
|
+
`bonus`) for `<itunes:episodeType>`.
|
9
|
+
* GH-51
|
10
|
+
* GH-53
|
11
|
+
* Reported by Artem Alimov.
|
12
|
+
* Patch by Andrew H Schwartz.
|
13
|
+
|
14
|
+
### Thanks
|
15
|
+
|
16
|
+
* Artem Alimov
|
17
|
+
* Andrew H Schwartz
|
18
|
+
|
19
|
+
## 0.3.0 - 2023-08-12
|
20
|
+
|
21
|
+
### Improvements
|
22
|
+
|
23
|
+
* itunes: Added support for `<itunes:type>`.
|
24
|
+
|
25
|
+
GH-16
|
26
|
+
|
27
|
+
Patch by Luis Alfredo Lorenzo.
|
28
|
+
|
29
|
+
* itunes: Added support for `<itunes:episode>` and `<itunes:season>`.
|
30
|
+
|
31
|
+
GH-31
|
32
|
+
|
33
|
+
Patch by Daniel-Ernest Luff.
|
34
|
+
|
35
|
+
* itunes: Added support for `<itunes:title>`.
|
36
|
+
|
37
|
+
GH-44
|
38
|
+
|
39
|
+
Patch by Ryan Brunner.
|
40
|
+
|
41
|
+
* itunes: Added support for `<itunes:episodeType>`.
|
42
|
+
|
43
|
+
GH-45
|
44
|
+
|
45
|
+
Reported by Tim Uckun.
|
46
|
+
|
47
|
+
### Thanks
|
48
|
+
|
49
|
+
* Luis Alfredo Lorenzo
|
50
|
+
|
51
|
+
* Daniel-Ernest Luff
|
52
|
+
|
53
|
+
* Ryan Brunner
|
54
|
+
|
55
|
+
* Tim Uckun
|
56
|
+
|
3
57
|
## 0.2.9 - 2020-02-19
|
4
58
|
|
5
59
|
### Improvements
|
data/README.md
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
# RSS
|
2
2
|
|
3
|
-
Really Simple Syndication (RSS) is a family of formats that describe
|
3
|
+
Really Simple Syndication (RSS) is a family of formats that describe _feeds_, specially constructed XML documents that allow an interested person to subscribe and receive updates from a particular web service. This portion of the standard library provides tooling to read and create these feeds.
|
4
4
|
|
5
5
|
The standard library supports RSS 0.91, 1.0, 2.0, and Atom, a related format. Here are some links to the standards documents for these formats:
|
6
6
|
|
7
7
|
* RSS
|
8
|
-
* 0.9.1
|
9
|
-
* 1.0
|
10
|
-
* 2.0
|
11
|
-
* Atom
|
8
|
+
* [0.9.1](http://www.rssboard.org/rss-0-9-1-netscape)
|
9
|
+
* [1.0](http://web.resource.org/rss/1.0/)
|
10
|
+
* [2.0](http://www.rssboard.org/rss-specification)
|
11
|
+
* [Atom](https://tools.ietf.org/html/rfc4287)
|
12
12
|
|
13
13
|
## Installation
|
14
14
|
|
@@ -32,12 +32,12 @@ Or install it yourself as:
|
|
32
32
|
|
33
33
|
If you'd like to read someone's RSS feed with your Ruby code, you've come to the right place. It's really easy to do this, but we'll need the help of open-uri:
|
34
34
|
|
35
|
-
```
|
35
|
+
```ruby
|
36
36
|
require 'rss'
|
37
37
|
require 'open-uri'
|
38
38
|
|
39
|
-
url = '
|
40
|
-
open(url) do |rss|
|
39
|
+
url = 'https://www.ruby-lang.org/en/feeds/news.rss'
|
40
|
+
URI.open(url) do |rss|
|
41
41
|
feed = RSS::Parser.parse(rss)
|
42
42
|
puts "Title: #{feed.channel.title}"
|
43
43
|
feed.items.each do |item|
|
@@ -52,17 +52,17 @@ As you can see, the workhorse is RSS::Parser#parse, which takes the source of th
|
|
52
52
|
|
53
53
|
Producing our own RSS feeds is easy as well. Let's make a very basic feed:
|
54
54
|
|
55
|
-
```
|
55
|
+
```ruby
|
56
56
|
require "rss"
|
57
57
|
|
58
58
|
rss = RSS::Maker.make("atom") do |maker|
|
59
59
|
maker.channel.author = "matz"
|
60
60
|
maker.channel.updated = Time.now.to_s
|
61
|
-
maker.channel.about = "
|
61
|
+
maker.channel.about = "https://www.ruby-lang.org/en/feeds/news.rss"
|
62
62
|
maker.channel.title = "Example Feed"
|
63
63
|
|
64
64
|
maker.items.new_item do |item|
|
65
|
-
item.link = "
|
65
|
+
item.link = "https://www.ruby-lang.org/en/news/2010/12/25/ruby-1-9-2-p136-is-released/"
|
66
66
|
item.title = "Ruby 1.9.2-p136 is released"
|
67
67
|
item.updated = Time.now.to_s
|
68
68
|
end
|
data/lib/rss/itunes.rb
CHANGED
@@ -80,6 +80,8 @@ module RSS
|
|
80
80
|
["image", :attribute, "href"],
|
81
81
|
["owner", :element],
|
82
82
|
["new-feed-url"],
|
83
|
+
["type", :itunes_episode],
|
84
|
+
["title"],
|
83
85
|
] + ITunesBaseModel::ELEMENT_INFOS
|
84
86
|
|
85
87
|
class ITunesCategory < Element
|
@@ -258,7 +260,14 @@ module RSS
|
|
258
260
|
end
|
259
261
|
|
260
262
|
ELEMENT_INFOS = ITunesBaseModel::ELEMENT_INFOS +
|
261
|
-
[
|
263
|
+
[
|
264
|
+
["duration", :element, "content"],
|
265
|
+
["image", :attribute, "href"],
|
266
|
+
["season", :positive_integer],
|
267
|
+
["episode", :positive_integer],
|
268
|
+
["episodeType", :itunes_episode_type],
|
269
|
+
["title"],
|
270
|
+
]
|
262
271
|
|
263
272
|
class ITunesImage < Element
|
264
273
|
include RSS09
|
data/lib/rss/maker/itunes.rb
CHANGED
@@ -15,6 +15,8 @@ module RSS
|
|
15
15
|
def_yes_other_accessor(klass, full_name)
|
16
16
|
when :explicit_clean_other
|
17
17
|
def_explicit_clean_other_accessor(klass, full_name)
|
18
|
+
when :positive_integer, :itunes_episode, :itunes_episode_type
|
19
|
+
klass.def_other_element(full_name)
|
18
20
|
when :csv
|
19
21
|
def_csv_accessor(klass, full_name)
|
20
22
|
when :element, :attribute
|
data/lib/rss/rss.rb
CHANGED
@@ -1,4 +1,7 @@
|
|
1
1
|
# frozen_string_literal: false
|
2
|
+
|
3
|
+
require "English"
|
4
|
+
require "cgi/util"
|
2
5
|
require "time"
|
3
6
|
|
4
7
|
class Time
|
@@ -61,8 +64,6 @@ class Time
|
|
61
64
|
end
|
62
65
|
end
|
63
66
|
|
64
|
-
|
65
|
-
require "English"
|
66
67
|
require_relative "utils"
|
67
68
|
require_relative "converter"
|
68
69
|
require_relative "xml-stylesheet"
|
@@ -260,7 +261,7 @@ EOC
|
|
260
261
|
end
|
261
262
|
if content
|
262
263
|
rv = "\#{indent}<#{elem_name}>"
|
263
|
-
value =
|
264
|
+
value = CGI.escapeHTML(content.to_s)
|
264
265
|
if need_convert
|
265
266
|
rv << convert(value)
|
266
267
|
else
|
@@ -291,7 +292,7 @@ EOC
|
|
291
292
|
<<-EOC
|
292
293
|
if @#{n}
|
293
294
|
rv = "\#{indent}<#{elem_name}>"
|
294
|
-
value =
|
295
|
+
value = CGI.escapeHTML(@#{n}.#{type}.to_s)
|
295
296
|
if need_convert
|
296
297
|
rv << convert(value)
|
297
298
|
else
|
@@ -375,7 +376,7 @@ EOC
|
|
375
376
|
module_eval(<<-EOC, __FILE__, __LINE__ + 1)
|
376
377
|
attr_reader(:#{attr})
|
377
378
|
def #{attr}?
|
378
|
-
ExplicitCleanOther.parse(@#{attr})
|
379
|
+
Utils::ExplicitCleanOther.parse(@#{attr})
|
379
380
|
end
|
380
381
|
EOC
|
381
382
|
end
|
@@ -541,7 +542,7 @@ EOC
|
|
541
542
|
end
|
542
543
|
|
543
544
|
def explicit_clean_other_writer(name, disp_name=name)
|
544
|
-
module_eval(<<-EOC,
|
545
|
+
module_eval(<<-EOC, *get_file_and_line_from_caller(2))
|
545
546
|
def #{name}=(value)
|
546
547
|
value = (value ? "yes" : "no") if [true, false].include?(value)
|
547
548
|
@#{name} = value
|
@@ -550,7 +551,7 @@ EOC
|
|
550
551
|
end
|
551
552
|
|
552
553
|
def yes_other_writer(name, disp_name=name)
|
553
|
-
module_eval(<<-EOC,
|
554
|
+
module_eval(<<-EOC, *get_file_and_line_from_caller(2))
|
554
555
|
def #{name}=(new_value)
|
555
556
|
if [true, false].include?(new_value)
|
556
557
|
new_value = new_value ? "yes" : "no"
|
@@ -561,7 +562,7 @@ EOC
|
|
561
562
|
end
|
562
563
|
|
563
564
|
def csv_writer(name, disp_name=name)
|
564
|
-
module_eval(<<-EOC,
|
565
|
+
module_eval(<<-EOC, *get_file_and_line_from_caller(2))
|
565
566
|
def #{name}=(new_value)
|
566
567
|
@#{name} = Utils::CSV.parse(new_value)
|
567
568
|
end
|
@@ -569,13 +570,37 @@ EOC
|
|
569
570
|
end
|
570
571
|
|
571
572
|
def csv_integer_writer(name, disp_name=name)
|
572
|
-
module_eval(<<-EOC,
|
573
|
+
module_eval(<<-EOC, *get_file_and_line_from_caller(2))
|
573
574
|
def #{name}=(new_value)
|
574
575
|
@#{name} = Utils::CSV.parse(new_value) {|v| Integer(v)}
|
575
576
|
end
|
576
577
|
EOC
|
577
578
|
end
|
578
579
|
|
580
|
+
def itunes_episode_writer(name, disp_name=name)
|
581
|
+
module_eval(<<-EOC, *get_file_and_line_from_caller(2))
|
582
|
+
def #{name}=(new_value)
|
583
|
+
if @do_validate and
|
584
|
+
!["episodic", "serial", nil].include?(new_value)
|
585
|
+
raise NotAvailableValueError.new('#{disp_name}', new_value)
|
586
|
+
end
|
587
|
+
@#{name} = new_value
|
588
|
+
end
|
589
|
+
EOC
|
590
|
+
end
|
591
|
+
|
592
|
+
def itunes_episode_type_writer(name, disp_name=name)
|
593
|
+
module_eval(<<-DEF, *get_file_and_line_from_caller(2))
|
594
|
+
def #{name}=(new_value)
|
595
|
+
if @do_validate and
|
596
|
+
!["Full", "full", "Trailer", "trailer", "Bonus", "bonus", nil].include?(new_value)
|
597
|
+
raise NotAvailableValueError.new('#{disp_name}', new_value)
|
598
|
+
end
|
599
|
+
@#{name} = new_value
|
600
|
+
end
|
601
|
+
DEF
|
602
|
+
end
|
603
|
+
|
579
604
|
def def_children_accessor(accessor_name, plural_name)
|
580
605
|
module_eval(<<-EOC, *get_file_and_line_from_caller(2))
|
581
606
|
def #{plural_name}
|
@@ -659,7 +684,6 @@ EOC
|
|
659
684
|
|
660
685
|
class Element
|
661
686
|
extend BaseModel
|
662
|
-
include Utils
|
663
687
|
extend Utils::InheritedReader
|
664
688
|
include SetupMaker
|
665
689
|
|
@@ -736,7 +760,7 @@ EOC
|
|
736
760
|
writer_type, reader_type = type
|
737
761
|
def_corresponded_attr_writer name, writer_type, disp_name
|
738
762
|
def_corresponded_attr_reader name, reader_type
|
739
|
-
if type == :boolean and
|
763
|
+
if type == :boolean and /\Ais/ =~ name
|
740
764
|
alias_method "#{$POSTMATCH}?", name
|
741
765
|
end
|
742
766
|
self::GET_ATTRIBUTES << [name, uri, required, element_name]
|
@@ -763,9 +787,13 @@ EOC
|
|
763
787
|
when :yes_other
|
764
788
|
yes_other_writer name, disp_name
|
765
789
|
when :csv
|
766
|
-
csv_writer name
|
790
|
+
csv_writer name, disp_name
|
767
791
|
when :csv_integer
|
768
|
-
csv_integer_writer name
|
792
|
+
csv_integer_writer name, disp_name
|
793
|
+
when :itunes_episode
|
794
|
+
itunes_episode_writer name, disp_name
|
795
|
+
when :itunes_episode_type
|
796
|
+
itunes_episode_type_writer name, disp_name
|
769
797
|
else
|
770
798
|
attr_writer name
|
771
799
|
end
|
@@ -1023,7 +1051,7 @@ EOC
|
|
1023
1051
|
start_tag = ["#{indent}<#{full_name}"]
|
1024
1052
|
unless attrs.empty?
|
1025
1053
|
start_tag << attrs.collect do |key, value|
|
1026
|
-
%Q[#{
|
1054
|
+
%Q[#{CGI.escapeHTML(key.to_s)}="#{CGI.escapeHTML(value.to_s)}"]
|
1027
1055
|
end.join("\n#{next_indent}")
|
1028
1056
|
end
|
1029
1057
|
start_tag.join(" ")
|
@@ -1231,7 +1259,7 @@ EOC
|
|
1231
1259
|
else
|
1232
1260
|
_content = content
|
1233
1261
|
_content = [_content].pack("m0") if need_base64_encode?
|
1234
|
-
|
1262
|
+
CGI.escapeHTML(_content.to_s)
|
1235
1263
|
end
|
1236
1264
|
end
|
1237
1265
|
end
|
data/lib/rss/utils.rb
CHANGED
@@ -87,24 +87,6 @@ module RSS
|
|
87
87
|
[file, line]
|
88
88
|
end
|
89
89
|
|
90
|
-
# Takes a string +s+ with some HTML in it, and escapes '&', '"', '<' and '>', by
|
91
|
-
# replacing them with the appropriate entities.
|
92
|
-
#
|
93
|
-
# This method is also aliased to h, for convenience.
|
94
|
-
#
|
95
|
-
# Examples:
|
96
|
-
#
|
97
|
-
# require 'rss/utils'
|
98
|
-
#
|
99
|
-
# RSS::Utils.html_escape("Dungeons & Dragons")
|
100
|
-
# # => "Dungeons & Dragons"
|
101
|
-
# RSS::Utils.h(">_>")
|
102
|
-
# # => ">_>"
|
103
|
-
def html_escape(s)
|
104
|
-
s.to_s.gsub(/&/, "&").gsub(/\"/, """).gsub(/>/, ">").gsub(/</, "<")
|
105
|
-
end
|
106
|
-
alias h html_escape
|
107
|
-
|
108
90
|
# If +value+ is an instance of class +klass+, return it, else
|
109
91
|
# create a new instance of +klass+ with value +value+.
|
110
92
|
def new_with_value_if_need(klass, value)
|
data/lib/rss/version.rb
CHANGED
data/lib/rss/xml-stylesheet.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: false
|
2
|
-
|
2
|
+
|
3
|
+
require "cgi/util"
|
3
4
|
|
4
5
|
module RSS
|
5
6
|
|
@@ -24,8 +25,6 @@ module RSS
|
|
24
25
|
|
25
26
|
class XMLStyleSheet
|
26
27
|
|
27
|
-
include Utils
|
28
|
-
|
29
28
|
ATTRIBUTES = %w(href type title media charset alternate)
|
30
29
|
|
31
30
|
GUESS_TABLE = {
|
@@ -59,7 +58,7 @@ module RSS
|
|
59
58
|
rv << %Q[<?xml-stylesheet]
|
60
59
|
ATTRIBUTES.each do |name|
|
61
60
|
if __send__(name)
|
62
|
-
rv << %Q[ #{name}="#{
|
61
|
+
rv << %Q[ #{name}="#{CGI.escapeHTML(__send__(name).to_s)}"]
|
63
62
|
end
|
64
63
|
end
|
65
64
|
rv << %Q[?>]
|
data/lib/rss/xml.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: false
|
2
|
-
|
2
|
+
|
3
|
+
require "cgi/util"
|
3
4
|
|
4
5
|
module RSS
|
5
6
|
module XML
|
@@ -46,7 +47,7 @@ module RSS
|
|
46
47
|
def to_s
|
47
48
|
rv = "<#{full_name}"
|
48
49
|
attributes.each do |key, value|
|
49
|
-
rv << " #{
|
50
|
+
rv << " #{CGI.escapeHTML(key.to_s)}=\"#{CGI.escapeHTML(value.to_s)}\""
|
50
51
|
end
|
51
52
|
if children.empty?
|
52
53
|
rv << "/>"
|
data/lib/rss.rb
CHANGED
@@ -26,7 +26,7 @@
|
|
26
26
|
# require 'open-uri'
|
27
27
|
#
|
28
28
|
# url = 'http://www.ruby-lang.org/en/feeds/news.rss'
|
29
|
-
# open(url) do |rss|
|
29
|
+
# URI.open(url) do |rss|
|
30
30
|
# feed = RSS::Parser.parse(rss)
|
31
31
|
# puts "Title: #{feed.channel.title}"
|
32
32
|
# feed.items.each do |item|
|
@@ -79,16 +79,16 @@ end
|
|
79
79
|
|
80
80
|
require "rss/version"
|
81
81
|
|
82
|
-
require
|
83
|
-
require
|
84
|
-
require
|
85
|
-
require
|
86
|
-
require
|
87
|
-
require
|
88
|
-
require
|
89
|
-
require
|
90
|
-
require
|
91
|
-
require
|
92
|
-
require
|
82
|
+
require "rss/1.0"
|
83
|
+
require "rss/2.0"
|
84
|
+
require "rss/atom"
|
85
|
+
require "rss/content"
|
86
|
+
require "rss/dublincore"
|
87
|
+
require "rss/image"
|
88
|
+
require "rss/itunes"
|
89
|
+
require "rss/slash"
|
90
|
+
require "rss/syndication"
|
91
|
+
require "rss/taxonomy"
|
92
|
+
require "rss/trackback"
|
93
93
|
|
94
94
|
require "rss/maker"
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rss
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kouhei Sutou
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 2024-08-02 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: rexml
|
@@ -24,48 +23,6 @@ dependencies:
|
|
24
23
|
- - ">="
|
25
24
|
- !ruby/object:Gem::Version
|
26
25
|
version: '0'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: bundler
|
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
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: rake
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: test-unit
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
26
|
description: Family of libraries that support various formats of XML "feeds".
|
70
27
|
email:
|
71
28
|
- kou@cozmixng.org
|
@@ -73,11 +30,9 @@ executables: []
|
|
73
30
|
extensions: []
|
74
31
|
extra_rdoc_files: []
|
75
32
|
files:
|
76
|
-
- Gemfile
|
77
33
|
- LICENSE.txt
|
78
34
|
- NEWS.md
|
79
35
|
- README.md
|
80
|
-
- Rakefile
|
81
36
|
- lib/rss.rb
|
82
37
|
- lib/rss/0.9.rb
|
83
38
|
- lib/rss/1.0.rb
|
@@ -122,57 +77,10 @@ files:
|
|
122
77
|
- lib/rss/xml.rb
|
123
78
|
- lib/rss/xmlparser.rb
|
124
79
|
- lib/rss/xmlscanner.rb
|
125
|
-
- rss.gemspec
|
126
|
-
- test/dot.png
|
127
|
-
- test/rss-assertions.rb
|
128
|
-
- test/rss-testcase.rb
|
129
|
-
- test/run-test.rb
|
130
|
-
- test/test_1.0.rb
|
131
|
-
- test/test_2.0.rb
|
132
|
-
- test/test_accessor.rb
|
133
|
-
- test/test_atom.rb
|
134
|
-
- test/test_content.rb
|
135
|
-
- test/test_dublincore.rb
|
136
|
-
- test/test_image.rb
|
137
|
-
- test/test_inherit.rb
|
138
|
-
- test/test_itunes.rb
|
139
|
-
- test/test_maker_0.9.rb
|
140
|
-
- test/test_maker_1.0.rb
|
141
|
-
- test/test_maker_2.0.rb
|
142
|
-
- test/test_maker_atom_entry.rb
|
143
|
-
- test/test_maker_atom_feed.rb
|
144
|
-
- test/test_maker_content.rb
|
145
|
-
- test/test_maker_dc.rb
|
146
|
-
- test/test_maker_image.rb
|
147
|
-
- test/test_maker_itunes.rb
|
148
|
-
- test/test_maker_slash.rb
|
149
|
-
- test/test_maker_sy.rb
|
150
|
-
- test/test_maker_taxo.rb
|
151
|
-
- test/test_maker_trackback.rb
|
152
|
-
- test/test_maker_xml-stylesheet.rb
|
153
|
-
- test/test_parser.rb
|
154
|
-
- test/test_parser_1.0.rb
|
155
|
-
- test/test_parser_2.0.rb
|
156
|
-
- test/test_parser_atom_entry.rb
|
157
|
-
- test/test_parser_atom_feed.rb
|
158
|
-
- test/test_setup_maker_0.9.rb
|
159
|
-
- test/test_setup_maker_1.0.rb
|
160
|
-
- test/test_setup_maker_2.0.rb
|
161
|
-
- test/test_setup_maker_atom_entry.rb
|
162
|
-
- test/test_setup_maker_atom_feed.rb
|
163
|
-
- test/test_setup_maker_itunes.rb
|
164
|
-
- test/test_setup_maker_slash.rb
|
165
|
-
- test/test_slash.rb
|
166
|
-
- test/test_syndication.rb
|
167
|
-
- test/test_taxonomy.rb
|
168
|
-
- test/test_to_s.rb
|
169
|
-
- test/test_trackback.rb
|
170
|
-
- test/test_xml-stylesheet.rb
|
171
80
|
homepage: https://github.com/ruby/rss
|
172
81
|
licenses:
|
173
82
|
- BSD-2-Clause
|
174
83
|
metadata: {}
|
175
|
-
post_install_message:
|
176
84
|
rdoc_options: []
|
177
85
|
require_paths:
|
178
86
|
- lib
|
@@ -187,54 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
187
95
|
- !ruby/object:Gem::Version
|
188
96
|
version: '0'
|
189
97
|
requirements: []
|
190
|
-
|
191
|
-
rubygems_version: 2.7.6.2
|
192
|
-
signing_key:
|
98
|
+
rubygems_version: 3.6.0.dev
|
193
99
|
specification_version: 4
|
194
100
|
summary: Family of libraries that support various formats of XML "feeds".
|
195
|
-
test_files:
|
196
|
-
- test/test_maker_2.0.rb
|
197
|
-
- test/test_dublincore.rb
|
198
|
-
- test/test_setup_maker_slash.rb
|
199
|
-
- test/test_parser.rb
|
200
|
-
- test/test_maker_xml-stylesheet.rb
|
201
|
-
- test/test_maker_0.9.rb
|
202
|
-
- test/test_setup_maker_atom_feed.rb
|
203
|
-
- test/test_maker_image.rb
|
204
|
-
- test/test_parser_atom_entry.rb
|
205
|
-
- test/test_maker_taxo.rb
|
206
|
-
- test/run-test.rb
|
207
|
-
- test/test_itunes.rb
|
208
|
-
- test/test_maker_content.rb
|
209
|
-
- test/test_maker_dc.rb
|
210
|
-
- test/test_inherit.rb
|
211
|
-
- test/dot.png
|
212
|
-
- test/test_maker_atom_entry.rb
|
213
|
-
- test/test_setup_maker_2.0.rb
|
214
|
-
- test/test_to_s.rb
|
215
|
-
- test/test_setup_maker_itunes.rb
|
216
|
-
- test/rss-assertions.rb
|
217
|
-
- test/test_xml-stylesheet.rb
|
218
|
-
- test/test_1.0.rb
|
219
|
-
- test/test_accessor.rb
|
220
|
-
- test/test_taxonomy.rb
|
221
|
-
- test/test_maker_trackback.rb
|
222
|
-
- test/rss-testcase.rb
|
223
|
-
- test/test_slash.rb
|
224
|
-
- test/test_setup_maker_atom_entry.rb
|
225
|
-
- test/test_syndication.rb
|
226
|
-
- test/test_maker_1.0.rb
|
227
|
-
- test/test_parser_atom_feed.rb
|
228
|
-
- test/test_maker_itunes.rb
|
229
|
-
- test/test_image.rb
|
230
|
-
- test/test_setup_maker_1.0.rb
|
231
|
-
- test/test_atom.rb
|
232
|
-
- test/test_maker_slash.rb
|
233
|
-
- test/test_parser_1.0.rb
|
234
|
-
- test/test_setup_maker_0.9.rb
|
235
|
-
- test/test_2.0.rb
|
236
|
-
- test/test_trackback.rb
|
237
|
-
- test/test_content.rb
|
238
|
-
- test/test_maker_sy.rb
|
239
|
-
- test/test_parser_2.0.rb
|
240
|
-
- test/test_maker_atom_feed.rb
|
101
|
+
test_files: []
|
data/Gemfile
DELETED
data/Rakefile
DELETED
data/rss.gemspec
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
require_relative "lib/rss/version"
|
2
|
-
|
3
|
-
Gem::Specification.new do |spec|
|
4
|
-
spec.name = "rss"
|
5
|
-
spec.version = RSS::VERSION
|
6
|
-
spec.authors = ["Kouhei Sutou"]
|
7
|
-
spec.email = ["kou@cozmixng.org"]
|
8
|
-
|
9
|
-
spec.summary = %q{Family of libraries that support various formats of XML "feeds".}
|
10
|
-
spec.description = %q{Family of libraries that support various formats of XML "feeds".}
|
11
|
-
spec.homepage = "https://github.com/ruby/rss"
|
12
|
-
spec.license = "BSD-2-Clause"
|
13
|
-
|
14
|
-
spec.files = [
|
15
|
-
"#{spec.name}.gemspec",
|
16
|
-
"Gemfile",
|
17
|
-
"LICENSE.txt",
|
18
|
-
"NEWS.md",
|
19
|
-
"README.md",
|
20
|
-
"Rakefile",
|
21
|
-
]
|
22
|
-
spec.files += Dir.glob("lib/**/*.rb")
|
23
|
-
spec.test_files += Dir.glob("test/**/*")
|
24
|
-
spec.require_paths = ["lib"]
|
25
|
-
|
26
|
-
spec.add_dependency "rexml"
|
27
|
-
spec.add_development_dependency "bundler"
|
28
|
-
spec.add_development_dependency "rake"
|
29
|
-
spec.add_development_dependency "test-unit"
|
30
|
-
end
|
data/test/dot.png
DELETED
Binary file
|