reserved_subdomains 0.9.1 → 0.9.2

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
  SHA256:
3
- metadata.gz: 17258ae96ebe26ba022b3752969fb0a94c70c3a406d9f5294a093fbdf87afd6d
4
- data.tar.gz: 6da63387b8910fa5d2ce47f9d806cc70ef07cab45fd958f22403825733d2eb80
3
+ metadata.gz: e33039af3980603e3c37c92970a0db8bc1a3fdf0e811d88d146b61e776f70164
4
+ data.tar.gz: 13e040f4e78cb6ef3a413aaddb3705da2d91641e583a21e85846995cc567a661
5
5
  SHA512:
6
- metadata.gz: 1b7a94271bb262695be36f5b45bcfc30f37de13e9bb9d7aea66b36423b1d1e9b272b1de40d07ac4343a4c08adeb9753d57628cd601e6c42072f8431f14cb4c37
7
- data.tar.gz: 95b8277baa801c0118da3c89331759a9f22d26f5b53ff2dd0984b111c802bd63cd0294c44a6bd15bf6b0503117d802871b7965317a415bad6aa3ccf29f96e6b8
6
+ metadata.gz: c2a903a94c4daf8d0017e70f5a6fad7964fffcd8a5ccf0c258ff57c9a5c462fd99dd0bb6e4ba04b00512da7fb1221fcd8e15dabf102711a4b02a3098ab1452f3
7
+ data.tar.gz: 8ed1973ab97491d72fea7a357ce37b46c85f21f50429c5f90b019ce7b0d23a6905a782036c276ba0c8506b0e42359b10644606432d5e3669156911ef664dec62
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- reserved_subdomains (0.9.1)
4
+ reserved_subdomains (0.9.2)
5
5
  activemodel (~> 6.0)
6
6
 
7
7
  GEM
data/lib/regexp_list.yml CHANGED
@@ -1,20 +1,21 @@
1
1
  ---
2
- - "/db[0-9]+/"
3
- - "/dc[0-9]+/"
4
- - "/dev[0-9]+/"
5
- - "/dns[0-9]+/"
6
- - "/ftp[0-9]+/"
7
- - "/host[0-9]+/"
8
- - "/m[0-9]+/"
9
- - "/mail[0-9]+/"
10
- - "/mx[0-9]+/"
11
- - "/ns[0-9]+/"
12
- - "/server[0-9]+/"
13
- - "/server-[0-9]+/"
14
- - "/smtp[0-9]+/"
15
- - "/static[0-9]+/"
16
- - "/test[0-9]+/"
17
- - "/v[0-9]+/" # versions
18
- - "/vpn[0-9]+/"
19
- - "/web[0-9]+/"
20
- - "/ww[a-z0-9-]+/" # anything that looks like "www" might be used for spoofing
2
+ - db[0-9]+
3
+ - dc[0-9]+
4
+ - dev[0-9]+
5
+ - dns[0-9]+
6
+ - ftp[0-9]+
7
+ - host[0-9]+
8
+ - imap[0-9]+
9
+ - m[0-9]+
10
+ - mail[0-9]+
11
+ - mx[0-9]+
12
+ - ns[0-9]+
13
+ - server[0-9]+
14
+ - server-[0-9]+
15
+ - smtp[0-9]+
16
+ - static[0-9]+
17
+ - test[0-9]+
18
+ - v[0-9\.]+ # versions
19
+ - vpn[0-9]+
20
+ - web[0-9]+
21
+ - ww[a-z0-9-]+ # anything that looks like www might be used for spoofing
@@ -1,3 +1,3 @@
1
1
  module ReservedSubdomains
2
- VERSION = "0.9.1"
2
+ VERSION = "0.9.2"
3
3
  end
@@ -7,7 +7,10 @@ module ActiveModel
7
7
  module Validations
8
8
  class AllowedSubdomainValidator < ::ActiveModel::EachValidator
9
9
  def validate_each(record, attribute, value)
10
- if value.present? && ( exists_in_reserved_list(value) || matches_regexp_list(value))
10
+ reserved = exists_in_reserved_list(value)
11
+ regexp = matches_regexp_list(value)
12
+
13
+ if value.present? && ( reserved || regexp)
11
14
  record.errors.add(attribute, :invalid)
12
15
  end
13
16
  end
@@ -26,10 +29,12 @@ module ActiveModel
26
29
 
27
30
  def matches_regexp_list(value)
28
31
  list = load_list('regexp_list.yml')
32
+
29
33
  list.each do |regexp|
30
- return true unless value.match(regexp).nil?
34
+ return true if Regexp.new(regexp).match(value)
31
35
  end
32
- nil
36
+
37
+ return false
33
38
  end
34
39
  end
35
40
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reserved_subdomains
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.9.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Clayton Lengel-Zigich