myweatherfeed 0.1.0 → 0.1.3

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
  SHA1:
3
- metadata.gz: 8e1e5579d1f27d44daf198a5a3e78b40d63a4a76
4
- data.tar.gz: f5457ab6c8ba138565cc70252062e30ad56998d9
3
+ metadata.gz: 8d65b79a78287a229370386cfdbc4e3c18bd2040
4
+ data.tar.gz: 43be9c93572222369f6ecd402631c910eeca3601
5
5
  SHA512:
6
- metadata.gz: 48317cb3771c90936e35f36203df6c0d87d54ccff6b706721fb29d0c19f10625e6811565de63f728a2ffdffecbd186ed3573cb88fe11cb7fab67c52a0af57422
7
- data.tar.gz: 973f3e476c82c7128a7c89c837891a4cb53847622531b5ab73eeae5c0ea0bdaab5ce7bc822b27a49d9560a59068469d188674942ab9af274d2d45137a6f3aec8
6
+ metadata.gz: 49f5466ec26222061747551e0011923feead76a063d6e862f7668f1063d4eefad3b5f4d545328a7ce54c38c1a1ca2a2d994fd8e6e37a994ef31625715573ce94
7
+ data.tar.gz: 57513f099185b4f2e7aad354cc8cf220685789b855a1592fc6eb1c4186807d75c83098068c8c57196d5907285ccd954615fbedb0c68d5f0eaa5ad7d8b942c7d0
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/lib/myweatherfeed.rb CHANGED
@@ -9,7 +9,7 @@ require 'myweatherforecast'
9
9
  class MyWeatherFeed < DailyNotices
10
10
 
11
11
  def initialize(filepath='', location: nil, api_key: nil, \
12
- url_base: '', dx_xslt: '', rss_xslt: '')
12
+ url_base: '', dx_xslt: '', rss_xslt: '', refreshrate: nil)
13
13
 
14
14
  super(filepath, url_base: url_base, dx_xslt: dx_xslt, rss_xslt: rss_xslt)
15
15
 
@@ -17,13 +17,37 @@ class MyWeatherFeed < DailyNotices
17
17
  self.title = 'My weather feed for ' + \
18
18
  (location || @w.coordinates.join(', '))
19
19
  self.description = 'Weather data fetched from forecast.io'
20
+
21
+ # set the time last updated in the hidden scratch file if refreshrate set
22
+
23
+ @datafile = File.join(@filepath, '.myweatherfeed')
24
+ @refreshrate = refreshrate
25
+
26
+ if refreshrate then
27
+
28
+ @h = File.exists?(@datafile) ? Kvx.new(File.read(@datafile)).to_h : {nextrefresh: Time.now.to_s, notice: ''}
20
29
 
30
+ end
31
+
21
32
  end
22
33
 
23
34
  def update()
35
+
36
+ return if @refreshrate and Time.parse(@h[:nextrefresh]) > Time.now
37
+
38
+ notice = @w.now.to_s
39
+
40
+ return if notice == @h[:notice]
41
+
42
+ self.add notice
24
43
 
25
- self.add @w.now.to_s
44
+ if @refreshrate then
45
+
46
+ @h = {nextrefresh: (Time.now + @refreshrate * 60).to_s, notice: notice}
47
+ File.write @datafile, Kvx.new(@h)
48
+
49
+ end
26
50
 
27
51
  end
28
52
 
29
- end
53
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: myweatherfeed
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
metadata.gz.sig CHANGED
Binary file