SignalFlare 1.0.2 → 1.0.3

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/SignalFlare.rb +22 -14
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8b839992eacf37cd78dc3b98929da963ad2b54fc
4
- data.tar.gz: b355b739b237360551f18b10ff05109b07e74590
3
+ metadata.gz: 50d252d8243db61dc1cbfcb54fbdd0043093fbd6
4
+ data.tar.gz: abf888564d8165b34b5727dd923d20337c1a0990
5
5
  SHA512:
6
- metadata.gz: 6ac03ab7ef843d74283d05f0e28f5531e47b3b6e71a57bfa8aebb9e2f1ab48e037896ef56bf3d249421ebbce7e6d6ea8fb7f22bc9592f99397c1c0c313b6ae69
7
- data.tar.gz: 28dbeb5bce8289f29b94e27762724cc380343ab218b4d293f2ce03a8b6c285d9c085833dbeba49985430520f1771588a66e40fd272c9bb81eec94273e1d8dfc0
6
+ metadata.gz: 79c823071d2616d1a1351b8335bb9a7cb09b58a384f61189df0a19829f965f117c632b5414fb3dfaed3323966f9bcf4524ce73c087345ef18dafca4bae9c7e94
7
+ data.tar.gz: 6103b33e3430224878d99f9189143eae73a61b05fd6c598e9aa40a69b17e9debb1634b6d31a806a69eecf29b65ab98ca6e0e5cdf4237168e23c1849ad4b76fa7
data/lib/SignalFlare.rb CHANGED
@@ -1,5 +1,11 @@
1
- require 'open-uri'
2
- require 'cloudflare'
1
+ require "open-uri"
2
+ require "cloudflare"
3
+
4
+ class RecordNotFound < Exception
5
+ end
6
+
7
+ class RecordUnchanged < Exception
8
+ end
3
9
 
4
10
  class SignalFlare
5
11
  def initialize(api_key, email)
@@ -9,7 +15,7 @@ class SignalFlare
9
15
  end
10
16
 
11
17
  def update_ip(hostname)
12
- split = hostname.partition('.')
18
+ split = hostname.partition(".")
13
19
  @host, @domain = split[0], split[2]
14
20
 
15
21
  begin
@@ -17,31 +23,33 @@ class SignalFlare
17
23
  dns_ip = nil
18
24
  external_ip = fetch_ip()
19
25
 
20
- @api.rec_load_all(@domain)['response']['recs']['objs'].each do |record|
21
- if record['name'] == hostname
22
- record_id = record['rec_id']
23
- dns_ip = record['content']
26
+ @api.rec_load_all(@domain)["response"]["recs"]["objs"].each do |record|
27
+ if record["name"] == hostname
28
+ record_id = record["rec_id"]
29
+ dns_ip = record["content"]
24
30
  break
25
31
  end
26
32
  end
27
33
 
28
34
  if record_id == nil
29
- puts 'Suitable record for ' + hostname + ' not found.'
35
+ raise RecordNotFound
30
36
  end
31
37
 
32
38
  if dns_ip == external_ip
33
- puts 'IP for ' + hostname + ' has not changed.'
39
+ raise RecordUnchanged
34
40
  end
35
41
 
36
- @api.rec_edit(@domain, 'A', record_id, hostname, external_ip, 1)
42
+ @api.rec_edit(@domain, "A", record_id, hostname, external_ip, 1)
37
43
 
38
- puts 'IP for ' + hostname + ' has been updated from' + dns_ip + ' to ' + external_ip
39
- rescue => e
40
- puts e.message
44
+ puts "IP for #{hostname} has been updated from #{dns_ip} to #{external_ip}"
45
+ rescue RecordNotFound
46
+ puts "Suitable record for #{hostname} not found."
47
+ rescue RecordUnchanged
48
+ puts "IP for #{hostname} has not changed."
41
49
  end
42
50
  end
43
51
 
44
52
  def fetch_ip
45
- open('http://api.ipify.org').read
53
+ open("http://api.ipify.org").read
46
54
  end
47
55
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: SignalFlare
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kirk Elifson