Skip to content

Commit b097add

Browse files
committed
Stop guessing fallback interval, use job interval instead
1 parent 4e995f2 commit b097add

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

lib/xify/input/rss.rb

+7-3
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,21 @@ def initialize(config)
1111
working_dir = "#{ENV['HOME']}/.xify/Rss"
1212
Dir.mkdir working_dir rescue Errno::EEXIST
1313
@latest_file = "#{working_dir}/#{@uri.to_s.gsub(/\W+/, '_')}"
14+
15+
@latest_time = Time.now
1416
end
1517

1618
def updates
1719
opts = {}
1820
opts[:first] = :now if @config['trigger']['now']
19-
Rufus::Scheduler.singleton.repeat @config['trigger']['schedule'], opts do
21+
Rufus::Scheduler.singleton.repeat @config['trigger']['schedule'], opts do |job|
22+
job_interval = job.last_time - @latest_time
23+
@latest_time = job.last_time
2024
open(@uri) do |rss|
21-
latest = Time.parse File.read(@latest_file) rescue Time.now - 24*60*60
25+
latest = Time.parse File.read(@latest_file) rescue Time.now - job_interval
2226
feed = RSS::Parser.parse(rss)
2327
feed.items
24-
.select do |item|
28+
.select do |item|
2529
item.pubDate > latest
2630
end
2731
.sort_by do |item|

xify.gemspec

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ require 'date'
22

33
Gem::Specification.new do |s|
44
s.name = 'xify'
5-
s.version = '0.5.0'
5+
s.version = '0.6.0'
66
s.date = Date.today.to_s
77
s.summary = 'Cross-post content from one service to another.'
88
s.description = 'Cross-post content from one service to another.'

0 commit comments

Comments
 (0)