rss 0.2.9 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/NEWS.md +38 -0
  3. data/README.md +11 -11
  4. data/lib/rss/itunes.rb +10 -1
  5. data/lib/rss/maker/itunes.rb +2 -0
  6. data/lib/rss/rss.rb +43 -15
  7. data/lib/rss/utils.rb +0 -18
  8. data/lib/rss/version.rb +1 -1
  9. data/lib/rss/xml-stylesheet.rb +3 -4
  10. data/lib/rss/xml.rb +3 -2
  11. data/lib/rss.rb +11 -11
  12. metadata +7 -101
  13. data/Gemfile +0 -6
  14. data/Rakefile +0 -15
  15. data/rss.gemspec +0 -30
  16. data/test/dot.png +0 -0
  17. data/test/rss-assertions.rb +0 -2116
  18. data/test/rss-testcase.rb +0 -479
  19. data/test/run-test.rb +0 -15
  20. data/test/test_1.0.rb +0 -308
  21. data/test/test_2.0.rb +0 -412
  22. data/test/test_accessor.rb +0 -104
  23. data/test/test_atom.rb +0 -684
  24. data/test/test_content.rb +0 -105
  25. data/test/test_dublincore.rb +0 -270
  26. data/test/test_image.rb +0 -215
  27. data/test/test_inherit.rb +0 -41
  28. data/test/test_itunes.rb +0 -360
  29. data/test/test_maker_0.9.rb +0 -477
  30. data/test/test_maker_1.0.rb +0 -519
  31. data/test/test_maker_2.0.rb +0 -758
  32. data/test/test_maker_atom_entry.rb +0 -394
  33. data/test/test_maker_atom_feed.rb +0 -455
  34. data/test/test_maker_content.rb +0 -48
  35. data/test/test_maker_dc.rb +0 -150
  36. data/test/test_maker_image.rb +0 -63
  37. data/test/test_maker_itunes.rb +0 -488
  38. data/test/test_maker_slash.rb +0 -38
  39. data/test/test_maker_sy.rb +0 -45
  40. data/test/test_maker_taxo.rb +0 -82
  41. data/test/test_maker_trackback.rb +0 -42
  42. data/test/test_maker_xml-stylesheet.rb +0 -84
  43. data/test/test_parser.rb +0 -122
  44. data/test/test_parser_1.0.rb +0 -529
  45. data/test/test_parser_2.0.rb +0 -123
  46. data/test/test_parser_atom_entry.rb +0 -164
  47. data/test/test_parser_atom_feed.rb +0 -277
  48. data/test/test_setup_maker_0.9.rb +0 -247
  49. data/test/test_setup_maker_1.0.rb +0 -551
  50. data/test/test_setup_maker_2.0.rb +0 -309
  51. data/test/test_setup_maker_atom_entry.rb +0 -410
  52. data/test/test_setup_maker_atom_feed.rb +0 -446
  53. data/test/test_setup_maker_itunes.rb +0 -146
  54. data/test/test_setup_maker_slash.rb +0 -39
  55. data/test/test_slash.rb +0 -65
  56. data/test/test_syndication.rb +0 -126
  57. data/test/test_taxonomy.rb +0 -173
  58. data/test/test_to_s.rb +0 -701
  59. data/test/test_trackback.rb +0 -136
  60. data/test/test_xml-stylesheet.rb +0 -109
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 228e90a8417df4ef1a69fe4f26f41df3e8e8058aa8e2ff5e777d046d5ddb80ef
4
- data.tar.gz: a2ebe156cafdb3f3f7b6db774d6dda4af3a06050831abd9b56eb6b347c97a4f8
3
+ metadata.gz: 58f47515ab88a55b8a9167dba145b023e87ef01de35cbe4fa6e2f0872689325a
4
+ data.tar.gz: a7f2ecc1d5c444d90d62ea7ccdf249c5553cca01e0741c1a3e481d71fbd1afd7
5
5
  SHA512:
6
- metadata.gz: dd0353495019535ddec0da221dca824b83edee471f93f28ec9046c3239c8fdaed9d5fa16a5942af86065957153ecd643287319b302030be680116f2b96b886d6
7
- data.tar.gz: edfbad62f743b1b324b5ff8a2ed695e154684077a7045649e45200f1233768eafa6c9a2e6c9681b964a658279b5dc2f00a1f43b2a9f7487d5def5f2441bf6aa3
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 '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.
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[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[http://tools.ietf.org/html/rfc4287]
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 = 'http://www.ruby-lang.org/en/feeds/news.rss'
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 = "http://www.ruby-lang.org/en/feeds/news.rss"
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 = "http://www.ruby-lang.org/en/news/2010/12/25/ruby-1-9-2-p136-is-released/"
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
- [["duration", :element, "content"], ["image", :attribute, "href"]]
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
@@ -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 = html_escape(content)
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 = html_escape(@#{n}.#{type})
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, __FILE__, __LINE__ + 1)
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, __FILE__, __LINE__ + 1)
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, __FILE__, __LINE__ + 1)
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, __FILE__, __LINE__ + 1)
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 /^is/ =~ name
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[#{h key}="#{h value}"]
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
- h(_content)
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 &amp; Dragons"
101
- # RSS::Utils.h(">_>")
102
- # # => "&gt;_&gt;"
103
- def html_escape(s)
104
- s.to_s.gsub(/&/, "&amp;").gsub(/\"/, "&quot;").gsub(/>/, "&gt;").gsub(/</, "&lt;")
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
@@ -1,4 +1,4 @@
1
1
  module RSS
2
2
  # The current version of RSS
3
- VERSION = "0.2.9"
3
+ VERSION = "0.3.0"
4
4
  end
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: false
2
- require_relative "utils"
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}="#{h __send__(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
- require_relative "utils"
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 << " #{Utils.html_escape(key)}=\"#{Utils.html_escape(value)}\""
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 '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'
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.2.9
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: 2020-02-18 00:00:00.000000000 Z
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
- rubyforge_project:
191
- rubygems_version: 2.7.6.2
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
@@ -1,6 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
4
-
5
- # Specify your gem's dependencies in rss.gemspec
6
- gemspec
data/Rakefile DELETED
@@ -1,15 +0,0 @@
1
- require "bundler/gem_tasks"
2
-
3
- helper = Bundler::GemHelper.new(__dir__)
4
- def helper.version_tag
5
- version
6
- end
7
-
8
- helper.install
9
-
10
- desc "Run test"
11
- task :test do
12
- ruby("test/run-test.rb")
13
- end
14
-
15
- task :default => :test
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