weneedfeed 0.18.0 → 0.19.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 15fe792e19590e141278496015fefd5f9b7b10c2fa467b2bb2d8f7b6b9206350
4
- data.tar.gz: c0957471a1a209b3727a04eecec561aae7144c225b9ae469f7dfd66c9e698aa2
3
+ metadata.gz: d9d31309ab79323a5636742b707b64a6c89097b04a76492dab99eb0894b4194a
4
+ data.tar.gz: 338308559267e41142e5739d4d05829a5241939882d32768b76ff5e0f8418610
5
5
  SHA512:
6
- metadata.gz: 3a52e5daab18cd4f8d5f303e6a065d0018efd23babe7b364c112bb08c488eab67e179efc5fb2037563e5d9706ec71e4992433f83cd70c0b1245ce7b54f50f145
7
- data.tar.gz: a01540c21b8ddb8737b862530089df9216e6814a084a8e3c132e4b4d30c41dcd571c835c42a1d1a00c41cf39372a093f41449d028ea13282e29a0d084f2eb1ae
6
+ metadata.gz: f32fa9780eb02d4c3240ff9e2fa330b7b31451808ab23b23235cf1e13746922d1a022a436a5b5cb91cf1d5c50dedc7c4aa32806fad0094c0e4841db2be36ed36
7
+ data.tar.gz: 77c4be1a945dd40aa3d332ff7729d5540e1c29fcd701a5c317b0173c000d94be01c8d8c5349715bcf1f3c9643dc00d075c37643a676613b681dac63fc2cf0c09
data/CHANGELOG.md CHANGED
@@ -7,6 +7,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## Unreleased
9
9
 
10
+ ## 0.19.2 - 2022-08-01
11
+
12
+ ### Fixed
13
+
14
+ - Fix XML excape on OPML.
15
+
16
+ ## 0.19.1 - 2022-08-01
17
+
18
+ ### Fixed
19
+
20
+ - Fix bug when time item includes white spaces.
21
+
22
+ ## 0.19.0 - 2022-08-01
23
+
24
+ ### Added
25
+
26
+ - Support %m月%d日配信 date format
27
+
10
28
  ## 0.18.0 - 2022-04-17
11
29
 
12
30
  ### Added
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- weneedfeed (0.18.0)
4
+ weneedfeed (0.19.2)
5
5
  activesupport
6
6
  addressable
7
7
  builder
@@ -17,7 +17,7 @@ PATH
17
17
  GEM
18
18
  remote: https://rubygems.org/
19
19
  specs:
20
- activesupport (7.0.2.3)
20
+ activesupport (7.0.3.1)
21
21
  concurrent-ruby (~> 1.0, >= 1.0.2)
22
22
  i18n (>= 1.6, < 2)
23
23
  minitest (>= 5.1)
@@ -46,8 +46,8 @@ GEM
46
46
  faraday-em_synchrony (1.0.0)
47
47
  faraday-excon (1.1.0)
48
48
  faraday-httpclient (1.0.1)
49
- faraday-multipart (1.0.3)
50
- multipart-post (>= 1.2, < 3)
49
+ faraday-multipart (1.0.4)
50
+ multipart-post (~> 2)
51
51
  faraday-net_http (1.0.1)
52
52
  faraday-net_http_persistent (1.2.0)
53
53
  faraday-patron (1.0.0)
@@ -55,34 +55,34 @@ GEM
55
55
  faraday-retry (1.0.3)
56
56
  faraday_middleware (1.2.0)
57
57
  faraday (~> 1.0)
58
- hanami-router (2.0.0.alpha5)
58
+ hanami-router (2.0.0.beta1)
59
59
  mustermann (~> 1.0)
60
60
  mustermann-contrib (~> 1.0)
61
61
  rack (~> 2.0)
62
- hansi (0.2.0)
62
+ hansi (0.2.1)
63
63
  hashdiff (1.0.1)
64
64
  hibana (0.2.0)
65
65
  hanami-router (>= 2.0.0.alpha3)
66
66
  rack
67
67
  tilt
68
- i18n (1.10.0)
68
+ i18n (1.12.0)
69
69
  concurrent-ruby (~> 1.0)
70
70
  marcel (1.0.2)
71
71
  mini_portile2 (2.8.0)
72
- minitest (5.15.0)
73
- multipart-post (2.1.1)
74
- mustermann (1.1.1)
72
+ minitest (5.16.2)
73
+ multipart-post (2.2.3)
74
+ mustermann (1.1.2)
75
75
  ruby2_keywords (~> 0.0.1)
76
- mustermann-contrib (1.1.1)
76
+ mustermann-contrib (1.1.2)
77
77
  hansi (~> 0.2.0)
78
- mustermann (= 1.1.1)
79
- nokogiri (1.13.4)
78
+ mustermann (= 1.1.2)
79
+ nokogiri (1.13.8)
80
80
  mini_portile2 (~> 2.8.0)
81
81
  racc (~> 1.4)
82
82
  parallel (1.22.1)
83
83
  parser (3.1.2.0)
84
84
  ast (~> 2.4.1)
85
- psych (4.0.3)
85
+ psych (4.0.4)
86
86
  stringio
87
87
  public_suffix (4.0.7)
88
88
  racc (1.6.0)
@@ -125,10 +125,10 @@ GEM
125
125
  rubocop (~> 1.19)
126
126
  ruby-progressbar (1.11.0)
127
127
  ruby2_keywords (0.0.5)
128
- stringio (3.0.1)
128
+ stringio (3.0.2)
129
129
  thor (1.2.1)
130
- tilt (2.0.10)
131
- tzinfo (2.0.4)
130
+ tilt (2.0.11)
131
+ tzinfo (2.0.5)
132
132
  concurrent-ruby (~> 1.0)
133
133
  unicode-display_width (2.1.0)
134
134
  webmock (3.14.0)
data/README.md CHANGED
@@ -161,6 +161,8 @@ Usage:
161
161
  Options:
162
162
  [--schema-path=SCHEMA_PATH] # Path to weneedfeed YAML schema file.
163
163
  # Default: weneedfeed.yml
164
+ [--port=PORT] # TCP port to bind to.
165
+ # Default: 8080
164
166
 
165
167
  Run HTTP server.
166
168
  ```
@@ -10,11 +10,17 @@ module Weneedfeed
10
10
  # @param [String] string
11
11
  # @return [Time, nil]
12
12
  def parse_time(string)
13
- ::Time.parse(string)
14
- rescue ArgumentError, RangeError
13
+ ::Time.strptime(string, '%Y年%m月%d日')
14
+ rescue ::ArgumentError
15
15
  begin
16
- ::Time.strptime(string, '%Y年%m月%d日')
16
+ time = ::Time.strptime(string, '%m月%d日')
17
+ time -= 60 * 60 * 24 * 365 if time > Time.now
18
+ time
17
19
  rescue ArgumentError
20
+ begin
21
+ ::Time.parse(string)
22
+ rescue ArgumentError, RangeError
23
+ end
18
24
  end
19
25
  end
20
26
  end
@@ -143,7 +149,7 @@ module Weneedfeed
143
149
  node = time_node
144
150
  return unless node
145
151
 
146
- node['datetime'] || node.inner_text
152
+ node['datetime'] || node.inner_text&.strip
147
153
  end
148
154
  end
149
155
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Weneedfeed
4
- VERSION = '0.18.0'
4
+ VERSION = '0.19.2'
5
5
  end
@@ -1,12 +1,12 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <opml version="1.0">
3
3
  <head>
4
- <title><%= @schema.title %></title>
4
+ <title><%= @schema.title.encode(xml: :text) %></title>
5
5
  </head>
6
6
  <body>
7
- <outline text="<%= @schema.title %>" title="<%= @schema.title %>">
7
+ <outline text=<%= @schema.title.encode(xml: :attr) %> title=<%= @schema.title.encode(xml: :attr) %>>
8
8
  <% page_schemata.each do |page_schema| %>
9
- <outline type="rss" text="<%= page_schema.title %>" title="<%= page_schema.title %>" xmlUrl="<%= "#{request.base_url}#{feed_path(page_id: page_schema.id)}" %>" htmlUrl="<%= page_schema.url %>"/>
9
+ <outline type="rss" attr=<%= page_schema.title.encode(xml: :attr) %> title=<%= page_schema.title.encode(xml: :attr) %> xmlUrl="<%= "#{request.base_url}#{feed_path(page_id: page_schema.id)}" %>" htmlUrl="<%= page_schema.url %>"/>
10
10
  <% end %>
11
11
  </outline>
12
12
  </body>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: weneedfeed
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.0
4
+ version: 0.19.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryo Nakamura
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-04-16 00:00:00.000000000 Z
11
+ date: 2022-08-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -234,7 +234,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
234
234
  - !ruby/object:Gem::Version
235
235
  version: '0'
236
236
  requirements: []
237
- rubygems_version: 3.1.4
237
+ rubygems_version: 3.3.7
238
238
  signing_key:
239
239
  specification_version: 4
240
240
  summary: Generate feeds from URL and selectors.