plesk 0.0.2 → 0.0.3alpha
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.
- data/lib/plesk/client.rb +18 -3
- data/lib/plesk/packet.rb +27 -2
- data/lib/plesk/version.rb +1 -1
- data/spec/plesk_spec.rb +4 -3
- metadata +15 -18
data/lib/plesk/client.rb
CHANGED
@@ -38,13 +38,14 @@ module Plesk
|
|
38
38
|
def get_mailgroup_info_for mail
|
39
39
|
name,domain = mail.split("@")
|
40
40
|
domain_id = get_domain_id_for domain
|
41
|
-
packet = Packet.new
|
41
|
+
packet = Packet.new "1.4.1.2"
|
42
42
|
packet.mailgroup_info name,domain_id
|
43
|
-
|
44
|
-
|
43
|
+
xml = packet.to_xml
|
44
|
+
answer = start_request xml
|
45
45
|
answer.search('address').map(&:text)
|
46
46
|
end
|
47
47
|
def set_mailgroup_for mail,mails
|
48
|
+
raise "Do not use set, Plesk setting of mailgroups seems to be broken. User reset_mailgroups instead"
|
48
49
|
name,domain = mail.split("@")
|
49
50
|
domain_id = get_domain_id_for domain
|
50
51
|
packet = Packet.new
|
@@ -72,6 +73,20 @@ module Plesk
|
|
72
73
|
Nokogiri::XML(response.body)
|
73
74
|
end
|
74
75
|
|
76
|
+
|
77
|
+
def reset_mailgroups(mail_group_name, new_mails)
|
78
|
+
name,domain = mail_group_name.split("@")
|
79
|
+
domain_id = get_domain_id_for domain
|
80
|
+
old_mails = get_mailgroup_info_for mail_group_name
|
81
|
+
p old_mails
|
82
|
+
|
83
|
+
packet = Packet.new
|
84
|
+
start_request packet.mailgroup_general("remove", domain_id, name, "false" , old_mails).to_xml
|
85
|
+
if new_mails.count > 0
|
86
|
+
packet = Packet.new
|
87
|
+
start_request packet.mailgroup_general("add", domain_id, name, "true" , new_mails).to_xml
|
88
|
+
end
|
89
|
+
end
|
75
90
|
private
|
76
91
|
|
77
92
|
def get_domain_info
|
data/lib/plesk/packet.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
module Plesk
|
3
3
|
class Packet
|
4
4
|
attr_accessor :content
|
5
|
-
def initialize version="1.4.
|
5
|
+
def initialize version="1.4.2.0"
|
6
6
|
@content = Nokogiri::XML::Builder.new do |xml|
|
7
7
|
xml.packet(version: version)
|
8
8
|
end.doc
|
@@ -37,6 +37,31 @@ module Plesk
|
|
37
37
|
}
|
38
38
|
end
|
39
39
|
end
|
40
|
+
|
41
|
+
def mailgroup_general action, id, name, enabled, mails
|
42
|
+
doc = @content
|
43
|
+
@content =Nokogiri::XML::Builder.with(doc.at('packet')) do |xml|
|
44
|
+
xml.mail do
|
45
|
+
xml.update do
|
46
|
+
xml.send(action) do
|
47
|
+
xml.filter do
|
48
|
+
xml.domain_id id
|
49
|
+
xml.mailname do
|
50
|
+
xml.name name
|
51
|
+
xml.mailgroup do
|
52
|
+
xml.enabled enabled
|
53
|
+
mails.each do |mail|
|
54
|
+
xml.address mail
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
end
|
40
65
|
def mailgroup_info name,id
|
41
66
|
doc = @content
|
42
67
|
@content =Nokogiri::XML::Builder.with(doc.at('packet')) do |xml|
|
@@ -62,7 +87,7 @@ module Plesk
|
|
62
87
|
xml.mailname {
|
63
88
|
xml.name name
|
64
89
|
xml.mailgroup {
|
65
|
-
xml.enabled
|
90
|
+
xml.enabled 'true'
|
66
91
|
mails.each do |mail|
|
67
92
|
xml.address mail
|
68
93
|
end
|
data/lib/plesk/version.rb
CHANGED
data/spec/plesk_spec.rb
CHANGED
@@ -37,11 +37,12 @@ describe "Plesk" do
|
|
37
37
|
it "should get a mailgroup list for a mail" do
|
38
38
|
mails = api.get_mailgroup_info_for "developer@pludoni.de"
|
39
39
|
mails.should be_kind_of Array
|
40
|
+
mails.count.should > 0
|
40
41
|
end
|
41
42
|
it "should set mailgroup for a mail" do
|
42
|
-
mails_to_set = ["stefan.wienert@pludoni.de","akos.toth@pludoni.de","martin.schneider@pludoni.de"]
|
43
|
-
answer = api.set_mailgroup_for "developer@pludoni.de", mails_to_set
|
44
|
-
answer.at('status').text.should == "ok"
|
43
|
+
#mails_to_set = ["stefan.wienert@pludoni.de","akos.toth@pludoni.de","martin.schneider@pludoni.de"]
|
44
|
+
#answer = api.set_mailgroup_for "developer@pludoni.de", mails_to_set
|
45
|
+
#answer.at('status').text.should == "ok"
|
45
46
|
end
|
46
47
|
it "should be able to retrieve the api secret" do
|
47
48
|
#ip = "46.4.99.113"
|
metadata
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: plesk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.3alpha
|
5
|
+
prerelease: 5
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Martin Schneider
|
@@ -13,7 +13,7 @@ date: 2012-05-08 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|
16
|
-
requirement: &
|
16
|
+
requirement: &12779680 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *12779680
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: gli
|
27
|
-
requirement: &
|
27
|
+
requirement: &12777240 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *12777240
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: guard-rspec
|
38
|
-
requirement: &
|
38
|
+
requirement: &12774100 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *12774100
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rake
|
49
|
-
requirement: &
|
49
|
+
requirement: &12773340 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *12773340
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: rspec
|
60
|
-
requirement: &
|
60
|
+
requirement: &12788020 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *12788020
|
69
69
|
description: ! 'Plesk RPC API wrapper written in Ruby '
|
70
70
|
email:
|
71
71
|
- info@outsmartin.de
|
@@ -105,16 +105,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
105
105
|
version: '0'
|
106
106
|
segments:
|
107
107
|
- 0
|
108
|
-
hash:
|
108
|
+
hash: -1951025564308211233
|
109
109
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
110
110
|
none: false
|
111
111
|
requirements:
|
112
|
-
- - ! '
|
112
|
+
- - ! '>'
|
113
113
|
- !ruby/object:Gem::Version
|
114
|
-
version:
|
115
|
-
segments:
|
116
|
-
- 0
|
117
|
-
hash: 2607453395036010812
|
114
|
+
version: 1.3.1
|
118
115
|
requirements: []
|
119
116
|
rubyforge_project:
|
120
117
|
rubygems_version: 1.8.10
|