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.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/NEWS.md +54 -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 +12 -12
  12. metadata +4 -143
  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: 256ad5c3d40e196bf28856b91c644de51c96f739893bd758e1d708c16f3cb4ed
4
+ data.tar.gz: 2d64ea8248adfc12c7b068f1b3fbe84e7bf11109ca9712f1e81808f86f330f60
5
5
  SHA512:
6
- metadata.gz: dd0353495019535ddec0da221dca824b83edee471f93f28ec9046c3239c8fdaed9d5fa16a5942af86065957153ecd643287319b302030be680116f2b96b886d6
7
- data.tar.gz: edfbad62f743b1b324b5ff8a2ed695e154684077a7045649e45200f1233768eafa6c9a2e6c9681b964a658279b5dc2f00a1f43b2a9f7487d5def5f2441bf6aa3
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 '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", "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 /^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.1"
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
@@ -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 '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,13 @@
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.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kouhei Sutou
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2020-02-18 00:00:00.000000000 Z
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
- rubyforge_project:
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
@@ -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