domaine 0.1.0 → 0.1.1

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/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