cloudstrap 0.37.1.pre → 0.37.4.pre

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: 4c321f7a7f178aafebde581b48f49185f76b7edd
4
- data.tar.gz: c0d60d05780b69180e1918c97dd3ef08b4953b3f
3
+ metadata.gz: 7f7a1de3f5c413fbf0fbb9ed47402b69d0591556
4
+ data.tar.gz: d45a24ea0aa91602d6fe3a7eb3ff83d7d843710a
5
5
  SHA512:
6
- metadata.gz: ba94f43f17b2bb33a96747a7604ec0e75dc3d1aaeff4ae9b74236f495eeb0a32f4851474fef28d7e22dff0990d03dfc0ea2600ae12a1dbb74ad747056b0c8092
7
- data.tar.gz: e501280f8113c78892cfcb755ed8fac0ee98a064e28562652228f3667a8c00bdd069fdea76c9c7488fdd19379aaddc99155a33edfce0a400f340197a7106a87e
6
+ metadata.gz: 36c9268391f92298b9087dd3edf104ec0ea0d9ea5c56d9b12b096bf24df1fb4289c4dc80c04bead1959671f901128055b71acffb34bd25487570ebe0f86c1a05
7
+ data.tar.gz: 0c820114609ba0ad754139c30c01cbc18ac5f67d6a00bff2a6e177b1865c68d1de04ed36e5f8bafa96bd624ecf821003c0c143038dc4b2349671464070be5c3d
@@ -25,23 +25,18 @@ module Cloudstrap
25
25
  zones.find { |zone| zone.name == name }
26
26
  end
27
27
 
28
+ Contract String => ArrayOf[::Aws::Route53::Types::HostedZone]
29
+ def zone_names
30
+ @zone_names ||= zones.map(&:name)
31
+ end
32
+
28
33
  Contract String => Maybe[String]
29
34
  def longest_matching_suffix(name)
30
- candidates = {}
31
- name.split('.').reverse.reduce('') do |domain, fragment|
32
- [fragment, domain].join('.').tap do |suffix|
33
- candidates[suffix] = zones.select do |zone|
34
- zone.name == suffix
35
- end
36
- end
37
- end
38
-
39
- longest = candidates
40
- .reject { |_, zones| zones.empty? }
41
- .sort_by { |name, _| name.length }
42
- .last
43
-
44
- longest ? longest.first : nil
35
+ fragments = name.split '.'
36
+ fragments
37
+ .each_with_index
38
+ .map { |_, i| fragments.drop(i).join('.') + '.' }
39
+ .find { |fragment| zone_names.include? fragment }
45
40
  end
46
41
 
47
42
  Contract String => Maybe[String]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cloudstrap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.37.1.pre
4
+ version: 0.37.4.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Olstrom
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-10-20 00:00:00.000000000 Z
11
+ date: 2016-10-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk