rss 0.2.9 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/NEWS.md +38 -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 +11 -11
- metadata +7 -101
- 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: 58f47515ab88a55b8a9167dba145b023e87ef01de35cbe4fa6e2f0872689325a
|
4
|
+
data.tar.gz: a7f2ecc1d5c444d90d62ea7ccdf249c5553cca01e0741c1a3e481d71fbd1afd7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f8ae8d5e4ec7ab53fda8fc389b70c36542e3e964fc341e80379c1aa9128bad3cba1d31fb45bb68a8cbf5b40e81204780b7b57124b7fd431540b3bc9989ef133a
|
7
|
+
data.tar.gz: 7c63fda45b9f9c8002b6c7273de075ac01ec086e2e7596dc1f3d9521910dae7259248c52162e21d57f4f07cd0a20779d8a781448a2260a3bbe4e8ffc5c07283d
|
data/NEWS.md
CHANGED
@@ -1,5 +1,43 @@
|
|
1
1
|
# News
|
2
2
|
|
3
|
+
## 0.3.0 - 2023-08-12
|
4
|
+
|
5
|
+
### Improvements
|
6
|
+
|
7
|
+
* itunes: Added support for `<itunes:type>`.
|
8
|
+
|
9
|
+
GH-16
|
10
|
+
|
11
|
+
Patch by Luis Alfredo Lorenzo.
|
12
|
+
|
13
|
+
* itunes: Added support for `<itunes:episode>` and `<itunes:season>`.
|
14
|
+
|
15
|
+
GH-31
|
16
|
+
|
17
|
+
Patch by Daniel-Ernest Luff.
|
18
|
+
|
19
|
+
* itunes: Added support for `<itunes:title>`.
|
20
|
+
|
21
|
+
GH-44
|
22
|
+
|
23
|
+
Patch by Ryan Brunner.
|
24
|
+
|
25
|
+
* itunes: Added support for `<itunes:episodeType>`.
|
26
|
+
|
27
|
+
GH-45
|
28
|
+
|
29
|
+
Reported by Tim Uckun.
|
30
|
+
|
31
|
+
### Thanks
|
32
|
+
|
33
|
+
* Luis Alfredo Lorenzo
|
34
|
+
|
35
|
+
* Daniel-Ernest Luff
|
36
|
+
|
37
|
+
* Ryan Brunner
|
38
|
+
|
39
|
+
* Tim Uckun
|
40
|
+
|
3
41
|
## 0.2.9 - 2020-02-19
|
4
42
|
|
5
43
|
### 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", "Trailer", "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
@@ -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,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rss
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kouhei Sutou
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-08-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rexml
|
@@ -73,11 +73,9 @@ executables: []
|
|
73
73
|
extensions: []
|
74
74
|
extra_rdoc_files: []
|
75
75
|
files:
|
76
|
-
- Gemfile
|
77
76
|
- LICENSE.txt
|
78
77
|
- NEWS.md
|
79
78
|
- README.md
|
80
|
-
- Rakefile
|
81
79
|
- lib/rss.rb
|
82
80
|
- lib/rss/0.9.rb
|
83
81
|
- lib/rss/1.0.rb
|
@@ -122,57 +120,11 @@ files:
|
|
122
120
|
- lib/rss/xml.rb
|
123
121
|
- lib/rss/xmlparser.rb
|
124
122
|
- 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
123
|
homepage: https://github.com/ruby/rss
|
172
124
|
licenses:
|
173
125
|
- BSD-2-Clause
|
174
126
|
metadata: {}
|
175
|
-
post_install_message:
|
127
|
+
post_install_message:
|
176
128
|
rdoc_options: []
|
177
129
|
require_paths:
|
178
130
|
- lib
|
@@ -187,54 +139,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
187
139
|
- !ruby/object:Gem::Version
|
188
140
|
version: '0'
|
189
141
|
requirements: []
|
190
|
-
|
191
|
-
|
192
|
-
signing_key:
|
142
|
+
rubygems_version: 3.5.0.dev
|
143
|
+
signing_key:
|
193
144
|
specification_version: 4
|
194
145
|
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
|
146
|
+
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
|