newsfetcher 0.86 → 0.87

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: 006d29ea1d74a5041324ea30fe6d3d9139b1ca482d439e2ced42a77b3e5c338b
4
- data.tar.gz: 792522304d04f84d50f855ccc81770114a82bdf9f11b06f455082953393b3bc8
3
+ metadata.gz: 6b822d63d603e3bb424e7e5222a71f0c399dd8f771c26c284c9100344e17f827
4
+ data.tar.gz: 20cefc24db63cb25b31a9bdd1406af0bb2e98286ca467a7fc244186824391332
5
5
  SHA512:
6
- metadata.gz: f30983e345e236ae0b244fdb3d90bfbb99388d90a2233f59cad72bea37651c6fa70d9f5c25c49761a93ddb32cd39bdb2741b9fe4de7293af32fb3d62356856f1
7
- data.tar.gz: 6533060a58ce4caf9ed0d94f328bc15840f30cb57e7603fe725b544070bc4dd5149445ce5238ff6702a4d5c2e8205886ddcd5d42d50e0696bcc1aea467cd01e7
6
+ metadata.gz: afa5c0d81d76cb20a8229cd7cfa215f013343a546a282c3d39b749c5d3518530a6acebcb6a6356ce19149e361cfd4847a5b4dcae76b55e1d7fb8edaa473f82bc
7
+ data.tar.gz: 61ac122ca9b74c773a6411697c28943cca4f66d3ca9b438cca518953f292b7221003a05fcf9a9c92e9f30f5facca829d546416185e15d7364e75cd6d5a2714b6
@@ -12,7 +12,7 @@ module NewsFetcher
12
12
  config = config_file.exist? ? BaseConfig.load(config_file) : BaseConfig.make
13
13
  config.log_level = @log_level.downcase.to_sym if @log_level
14
14
  config.max_threads = @max_threads&.to_i if @max_threads
15
- @profile = Profile.new(dir: dir, config: config) or raise Error, "Profile not loaded"
15
+ @profile = Profile.new(dir:, config:) or raise Error, "Profile not loaded"
16
16
  end
17
17
 
18
18
  end
@@ -8,8 +8,8 @@ module NewsFetcher
8
8
  super
9
9
  uri, path, id = *args
10
10
  raise Error, "No URI specified" unless uri
11
- dir = @profile.add_subscription(uri: uri, id: id, path: path)
12
- warn "Added subscription: #{dir}"
11
+ subscription = @profile.add_subscription(uri:, id:, path:)
12
+ warn "Added subscription: #{subscription.id}"
13
13
  end
14
14
 
15
15
  end
@@ -4,12 +4,12 @@ module Addressable
4
4
 
5
5
  def make_subscription_id
6
6
  [
7
- host.to_s \
8
- .sub(/^(www|ssl|en|feeds|rss|blogs?|news).*?\./i, '') \
7
+ host.to_s
8
+ .sub(/^(www|ssl|en|feeds?|rss|blogs?|news?|old)[\d\-]?.*?\./i, '')
9
9
  .sub(/\.(com|org|net|info|edu|co\.uk|wordpress\.com|blogspot\.com|feedburner\.com)$/i, ''),
10
- path.to_s \
10
+ path.to_s
11
11
  .gsub(/\b(\.?feeds?|index|atom|rss|rss2|xml|rdf|php|blog|posts|default)\b/i, ''),
12
- query.to_s \
12
+ query.to_s
13
13
  .gsub(/\b(format|feed|type|q)=(atom|rss\.xml|rss2?|xml)/i, ''),
14
14
  ] \
15
15
  .join(' ')
@@ -11,7 +11,7 @@ module NewsFetcher
11
11
  include SetParams
12
12
 
13
13
  def self.get(uri)
14
- new(uri: uri).tap(&:get)
14
+ new(uri:).tap(&:get)
15
15
  end
16
16
 
17
17
  def initialize(**params)
@@ -7,7 +7,7 @@ module NewsFetcher
7
7
 
8
8
  include SetParams
9
9
 
10
- def initialize(params={})
10
+ def initialize(...)
11
11
  super
12
12
  setup_logger
13
13
  setup_styles
@@ -59,7 +59,7 @@ module NewsFetcher
59
59
  subscription_dir = subscriptions_dir / id
60
60
  begin
61
61
  subscription_config = @config.load(subscription_dir / ConfigFileName)
62
- rescue Config::Error => e
62
+ rescue Simple::Configurator::Error => e
63
63
  raise "#{id}: #{e}"
64
64
  end
65
65
  Subscription.new(id: id, dir: subscription_dir, config: subscription_config, styles: @styles)
@@ -74,14 +74,14 @@ module NewsFetcher
74
74
  raise Error, "Bad URI: #{uri}" unless uri.absolute?
75
75
  id ||= uri.make_subscription_id
76
76
  id = "#{path}/#{id}" if path
77
- subscription_dir = subscriptions_dir / id
78
- raise Error, "Subscription already exists in #{subscription_dir}" if subscription_dir.exist?
79
- subscription_dir.mkpath
80
- config = @config.make(uri: uri)
81
- config_file = subscription_dir / ConfigFileName
77
+ dir = subscriptions_dir / id
78
+ raise Error, "Subscription already exists in #{dir}" if dir.exist?
79
+ dir.mkpath
80
+ config = @config.make(uri:)
81
+ config_file = dir / ConfigFileName
82
82
  config.save(config_file)
83
- $logger.info { "Saved new subscription to #{config_file}" }
84
- subscription_dir
83
+ $logger.info { "Added new subscription: #{id} (#{config_file})" }
84
+ Subscription.new(id:, dir:, config:, styles: @styles)
85
85
  end
86
86
 
87
87
  end
@@ -12,7 +12,7 @@ module NewsFetcher
12
12
  include SetParams
13
13
  include Simple::Printer::Printable
14
14
 
15
- def initialize(**params)
15
+ def initialize(...)
16
16
  @title = nil
17
17
  @items = []
18
18
  super
data/lib/newsfetcher.rb CHANGED
@@ -42,6 +42,7 @@ module NewsFetcher
42
42
  application/xml
43
43
  text/xml
44
44
  ]
45
+
45
46
  end
46
47
 
47
48
  require_relative 'newsfetcher/extensions/string'
data/newsfetcher.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'newsfetcher'
3
- s.version = '0.86'
3
+ s.version = '0.87'
4
4
  s.summary = 'Monitor RSS/Atom feeds and deliver new items by email'
5
5
  s.author = 'John Labovitz'
6
6
  s.email = 'johnl@johnlabovitz.com'
@@ -29,7 +29,7 @@ Gem::Specification.new do |s|
29
29
  s.add_dependency 'sassc', '~> 2.4'
30
30
  s.add_dependency 'set_params', '~> 0.3'
31
31
  s.add_dependency 'simple-builder', '~> 0.4'
32
- s.add_dependency 'simple-command-parser', '~> 1.2'
32
+ s.add_dependency 'simple-command-parser', '~> 1.3'
33
33
  s.add_dependency 'simple-configurator', '~> 0.2'
34
34
  s.add_dependency 'simple-printer', '~> 0.4'
35
35
 
data/test/main_test.rb CHANGED
@@ -48,9 +48,9 @@ module NewsFetcher
48
48
  assert { feed }
49
49
  uri = feed[:uri]
50
50
  assert { uri }
51
- dir = @profile.add_subscription(uri: uri, id: id, path: path)
52
- assert { dir.exist? }
53
- dir
51
+ subscription = @profile.add_subscription(uri: uri, id: id, path: path)
52
+ assert { subscription.dir.exist? }
53
+ subscription
54
54
  end
55
55
  subscriptions = @profile.find_subscriptions
56
56
  assert { subscriptions.count == initial_subscriptions.count }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: newsfetcher
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.86'
4
+ version: '0.87'
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Labovitz
@@ -211,14 +211,14 @@ dependencies:
211
211
  requirements:
212
212
  - - "~>"
213
213
  - !ruby/object:Gem::Version
214
- version: '1.2'
214
+ version: '1.3'
215
215
  type: :runtime
216
216
  prerelease: false
217
217
  version_requirements: !ruby/object:Gem::Requirement
218
218
  requirements:
219
219
  - - "~>"
220
220
  - !ruby/object:Gem::Version
221
- version: '1.2'
221
+ version: '1.3'
222
222
  - !ruby/object:Gem::Dependency
223
223
  name: simple-configurator
224
224
  requirement: !ruby/object:Gem::Requirement
@@ -365,7 +365,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
365
365
  - !ruby/object:Gem::Version
366
366
  version: '0'
367
367
  requirements: []
368
- rubygems_version: 4.0.3
368
+ rubygems_version: 4.0.5
369
369
  specification_version: 4
370
370
  summary: Monitor RSS/Atom feeds and deliver new items by email
371
371
  test_files: