domaine 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/domaine.rb +17 -0
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 87fec10f65ad7b1d7e811dc89db3cbbffc1eace60384f688f591c9f8f6a916c8
4
- data.tar.gz: 074d5fde9eeee717a5c1817d0fb8a4271aabac5ff46c31b8212aecd4fac6b4dc
3
+ metadata.gz: 38ac7e9daa545d9045267326cd3f5404dae50244cbc241092a3e8d18ae6a7f60
4
+ data.tar.gz: 88285190ce1bbaa1f44fc559b109aed03d33795306fa27563a089dfeedf3e327
5
5
  SHA512:
6
- metadata.gz: 9a5c5312e1c50d8e3f48d0403339e1837f8518acdc066760dd20a204d601a2cba0f5b02beeb609d5195e8007b2a67bcfec52a287df01b4424b0b26932911dfb7
7
- data.tar.gz: be8c62187cb8852807b55a5e7f18efc1f89e6d18ccee81b786a61450ebc0a90117eb7347daab8a2e43c91e6817a693cd8c8e277fa76904c5328854ee05c4bb63
6
+ metadata.gz: 96d7f491d12c2fc06d7042e4338d66e835992af4779171f4ae68677149a678f180a3e385c49732a5db3b6e8966b3bdbc87c015a5e6263423e646ddf2b3a9769f
7
+ data.tar.gz: 2f1324ac37e2e79819e6d4d1b0c4e17d2fc186956df16803b041070e05fb948fb836ede9de2ae1f55176d8b55009de9feceb80a99bbb338b8b2af94e7bba3970
data/lib/domaine.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  module Domaine
2
2
 
3
3
  VALID_DKIM_KEY = 'ANSWER: 1'.freeze
4
+ VALID_SPF_KEY = 'v=spf1'.freeze
4
5
 
5
6
  ##################################################################
6
7
  # This method is used to validate the domain and selector and return
@@ -17,4 +18,20 @@ module Domaine
17
18
 
18
19
  valid_domain
19
20
  end
21
+
22
+ ##################################################################
23
+ # This method is used to validate the domain and return true if the
24
+ # domain has a valid SPF record.
25
+ ##################################################################
26
+ def self.valid_spf(domain, io_class: IO)
27
+ dig_command = "dig txt #{domain}"
28
+ valid_domain = false
29
+
30
+ io_class.popen(dig_command) do |stdout|
31
+ output = stdout.read
32
+ valid_domain = output.include?(VALID_SPF_KEY) if output
33
+ end
34
+
35
+ valid_domain
36
+ end
20
37
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: domaine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Kadlec
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-03-20 00:00:00.000000000 Z
11
+ date: 2024-03-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler