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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0f0099d83b69c32c84f244925370a77c7724874e287e9d55d105af0b5ab53df8
4
- data.tar.gz: 39646f492c8b1accb725dab3ef96a9bb5ab77291e46182789fb75f2389cc0df9
3
+ metadata.gz: b15a14704cc5ed0eb9e73c0211aec07e3b196ff1fab56f042cbdfcf68071e8f0
4
+ data.tar.gz: 936bf427a0e666ecbd7cec9943f9961f89ce463358b6dca6472709bb05c86def
5
5
  SHA512:
6
- metadata.gz: 50699fe2779917eb03e0d6845d884c26398312f7950252663dce13ac73d9f5356cbea1670ac84d39877692897711f393d1e8b55c5c3de5a9c7f8a514dd8a296c
7
- data.tar.gz: 45cbe8c18b887791ccb7c3a83c35c841be13f95d4219bc16a31f8ae766a59880820291a091c3d0f58e97aba71e3ea766f4993948c063f6c18b812bf88560cfa9
6
+ metadata.gz: 1e839fe9a30af84216310c9abc1680d81bbfc2dbd74ab422a97ebc5365cc27dc67fcc6539fb41d5c137e27c0193feb38d1fe4988c36b343a177a8c89722c3480
7
+ data.tar.gz: 57180cb7901a7e91f5bcb73b2944aff645b355b76be66fb546cafb9b55940e7929d17e5095c94494c1c6a03e34c2c44483e5563bf4a454966e6629174e845540
@@ -4,7 +4,7 @@ on:
4
4
  pull_request:
5
5
  push:
6
6
  branches:
7
- - master
7
+ - main
8
8
 
9
9
  jobs:
10
10
  rspec:
data/.rubocop.yml CHANGED
@@ -1,4 +1,5 @@
1
1
  require:
2
+ - rubocop-rake
2
3
  - rubocop-rspec
3
4
 
4
5
  AllCops:
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
@@ -9,5 +9,6 @@ gem 'rack-test'
9
9
  gem 'rake', '~> 12.0'
10
10
  gem 'rspec'
11
11
  gem 'rubocop'
12
+ gem 'rubocop-rake'
12
13
  gem 'rubocop-rspec'
13
14
  gem 'webmock'
data/Gemfile.lock CHANGED
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- weneedfeed (0.10.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
- # For faraday_middleware/response_middleware.
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'
@@ -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
- ::URI.join(
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
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Weneedfeed
4
- VERSION = '0.10.0'
4
+ VERSION = '0.13.0'
5
5
  end
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.10.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-13 00:00:00.000000000 Z
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