weneedfeed 0.10.0 → 0.13.0
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/.github/workflows/test.yml +1 -1
- data/.rubocop.yml +1 -0
- data/CHANGELOG.md +18 -0
- data/Gemfile +1 -0
- data/Gemfile.lock +5 -1
- data/lib/weneedfeed/faraday_response_middleware.rb +1 -2
- data/lib/weneedfeed/item.rb +9 -5
- data/lib/weneedfeed/version.rb +1 -1
- data/weneedfeed.gemspec +1 -0
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b15a14704cc5ed0eb9e73c0211aec07e3b196ff1fab56f042cbdfcf68071e8f0
|
4
|
+
data.tar.gz: 936bf427a0e666ecbd7cec9943f9961f89ce463358b6dca6472709bb05c86def
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1e839fe9a30af84216310c9abc1680d81bbfc2dbd74ab422a97ebc5365cc27dc67fcc6539fb41d5c137e27c0193feb38d1fe4988c36b343a177a8c89722c3480
|
7
|
+
data.tar.gz: 57180cb7901a7e91f5bcb73b2944aff645b355b76be66fb546cafb9b55940e7929d17e5095c94494c1c6a03e34c2c44483e5563bf4a454966e6629174e845540
|
data/.github/workflows/test.yml
CHANGED
data/.rubocop.yml
CHANGED
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.13.0 - 2022-04-14
|
11
|
+
|
12
|
+
### Changed
|
13
|
+
|
14
|
+
- Normalize item URLs.
|
15
|
+
|
16
|
+
## 0.12.0 - 2022-04-14
|
17
|
+
|
18
|
+
### Fixed
|
19
|
+
|
20
|
+
- Handle incorrect URLs a little better.
|
21
|
+
|
22
|
+
## 0.11.0 - 2022-04-13
|
23
|
+
|
24
|
+
### Changed
|
25
|
+
|
26
|
+
- Support invalid link URL and image URL.
|
27
|
+
|
10
28
|
## 0.10.0 - 2022-04-13
|
11
29
|
|
12
30
|
### Changed
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
weneedfeed (0.
|
4
|
+
weneedfeed (0.13.0)
|
5
5
|
activesupport
|
6
|
+
addressable
|
6
7
|
builder
|
7
8
|
faraday
|
8
9
|
faraday_middleware
|
@@ -115,6 +116,8 @@ GEM
|
|
115
116
|
unicode-display_width (>= 1.4.0, < 3.0)
|
116
117
|
rubocop-ast (1.17.0)
|
117
118
|
parser (>= 3.1.1.0)
|
119
|
+
rubocop-rake (0.6.0)
|
120
|
+
rubocop (~> 1.0)
|
118
121
|
rubocop-rspec (2.9.0)
|
119
122
|
rubocop (~> 1.19)
|
120
123
|
ruby-progressbar (1.11.0)
|
@@ -137,6 +140,7 @@ DEPENDENCIES
|
|
137
140
|
rake (~> 12.0)
|
138
141
|
rspec
|
139
142
|
rubocop
|
143
|
+
rubocop-rake
|
140
144
|
rubocop-rspec
|
141
145
|
webmock
|
142
146
|
weneedfeed!
|
@@ -1,9 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
#
|
3
|
+
# To load ActiveSupport::IsolatedExecutionState on activesupport 7.
|
4
4
|
# https://github.com/r7kamura/weneedfeed/issues/19
|
5
5
|
require 'active_support'
|
6
|
-
require 'active_support/isolated_execution_state' if ActiveSupport.gem_version >= Gem::Version.new('7')
|
7
6
|
|
8
7
|
require 'active_support/core_ext/array/conversions'
|
9
8
|
require 'active_support/core_ext/hash/conversions'
|
data/lib/weneedfeed/item.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'addressable'
|
3
4
|
require 'marcel'
|
4
|
-
require 'uri'
|
5
5
|
|
6
6
|
module Weneedfeed
|
7
7
|
class Item
|
@@ -74,18 +74,20 @@ module Weneedfeed
|
|
74
74
|
def image_url
|
75
75
|
return unless image_path_or_url
|
76
76
|
|
77
|
-
::URI.join(
|
77
|
+
::Addressable::URI.join(
|
78
78
|
@url,
|
79
79
|
image_path_or_url
|
80
|
-
).to_s
|
80
|
+
).normalize.to_s
|
81
81
|
end
|
82
82
|
|
83
83
|
# @return [String]
|
84
84
|
def link
|
85
|
-
|
85
|
+
return unless link_path_or_url
|
86
|
+
|
87
|
+
::Addressable::URI.join(
|
86
88
|
@url,
|
87
89
|
link_path_or_url
|
88
|
-
).to_s
|
90
|
+
).normalize.to_s
|
89
91
|
end
|
90
92
|
|
91
93
|
# @return [Nokogiri::Node, nil]
|
@@ -96,6 +98,8 @@ module Weneedfeed
|
|
96
98
|
# @return [String, nil]
|
97
99
|
def link_path_or_url
|
98
100
|
node = link_node
|
101
|
+
return unless node
|
102
|
+
|
99
103
|
node['href'] || node.inner_text
|
100
104
|
end
|
101
105
|
|
data/lib/weneedfeed/version.rb
CHANGED
data/weneedfeed.gemspec
CHANGED
@@ -28,6 +28,7 @@ Gem::Specification.new do |spec|
|
|
28
28
|
spec.require_paths = ['lib']
|
29
29
|
|
30
30
|
spec.add_runtime_dependency 'activesupport'
|
31
|
+
spec.add_runtime_dependency 'addressable'
|
31
32
|
spec.add_runtime_dependency 'builder'
|
32
33
|
spec.add_runtime_dependency 'faraday'
|
33
34
|
spec.add_runtime_dependency 'faraday_middleware'
|
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.
|
4
|
+
version: 0.13.0
|
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-
|
11
|
+
date: 2022-04-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: addressable
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: builder
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|