provider-dsl 1.0.3 → 1.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/provider_dsl/gandi_provider.rb +25 -0
- data/lib/provider_dsl/gem_description.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6bf6e4d0bf4756d61250d4cae056bac7575b3f71
|
4
|
+
data.tar.gz: d05adfb24d6215f6e74314e2708872b63bd2b96d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3880c73f77196ed3fe2687a901496ac2e955c39f9fa1edfcf731f846a827bb9026d102cb5b74688f9275ef72bf519f069aeb8e553e3f60e3c7d986bf41ffc8eb
|
7
|
+
data.tar.gz: b7e55440ebef5631536ff454ef9eced80270a0580c328b024b7c26b01ae3fd141772b3ceae6a5ecbd0fb0b4c7ef48b4c6d9870ea81c424252c683006fd030f7e
|
@@ -97,5 +97,30 @@ module ProviderDSL
|
|
97
97
|
@logger.log((["Setting name servers for Gandi domain #{@domain_name} to:"] + @name_servers).join("\n "))
|
98
98
|
@session.domain.nameservers.set(@domain_name, @name_servers)
|
99
99
|
end
|
100
|
+
|
101
|
+
def mail_redirections
|
102
|
+
Hash[@session.domain.forward.list(@domain_name).map { |data| [data['source'], data['destinations'].uniq.sort] }]
|
103
|
+
end
|
104
|
+
|
105
|
+
def mail_redirections!(new_redirections)
|
106
|
+
current_redirections = mail_redirections
|
107
|
+
new_redirections.each do |source, new_destinations|
|
108
|
+
new_destinations = Array(new_destinations).uniq.sort
|
109
|
+
if current_redirections.key?(source)
|
110
|
+
current_destinations = current_redirections[source].uniq.sort
|
111
|
+
next if new_destinations == current_destinations
|
112
|
+
@logger.log((["Updating #{@domain_name} mail forwarder for #{source}:"] + new_destinations).join("\n "))
|
113
|
+
@session.domain.forward.update(@domain_name, source, destinations: new_destinations)
|
114
|
+
else
|
115
|
+
@logger.log((["Creating #{@domain_name} mail forwarder for #{source}:"] + new_destinations).join("\n "))
|
116
|
+
@session.domain.forward.create(@domain_name, source, destinations: new_destinations)
|
117
|
+
end
|
118
|
+
end
|
119
|
+
current_redirections.each do |source, _|
|
120
|
+
next if new_redirections.key?(source)
|
121
|
+
@logger.log("Deleting #{@domain_name} mail forwarder for #{source}")
|
122
|
+
@session.domain.forward.delete(@domain_name, source)
|
123
|
+
end
|
124
|
+
end
|
100
125
|
end
|
101
126
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module ProviderDSL
|
2
2
|
module GemDescription
|
3
3
|
NAME = 'provider-dsl'.freeze
|
4
|
-
VERSION = '1.0.
|
4
|
+
VERSION = '1.0.4'.freeze
|
5
5
|
SUMMARY = 'A DSL for interacting with various service provider APIs'.freeze
|
6
6
|
PAGE = 'https://github.com/sappho/gem-provider_dsl'.freeze
|
7
7
|
AUTHORS = ['Andrew Heald'].freeze
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: provider-dsl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Heald
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-02-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|