weneedfeed 0.10.0 → 0.13.0

Sign up to get free protection for your applications and to get access to all the features.
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