lumberg 1.0.6 → 1.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.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lumberg
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.6
4
+ version: 1.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-09 00:00:00.000000000 Z
12
+ date: 2012-08-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
@@ -147,7 +147,6 @@ files:
147
147
  - lib/lumberg/version.rb
148
148
  - lib/lumberg/whm.rb
149
149
  - lib/lumberg/whm/account.rb
150
- - lib/lumberg/whm/args.rb
151
150
  - lib/lumberg/whm/base.rb
152
151
  - lib/lumberg/whm/dns.rb
153
152
  - lib/lumberg/whm/reseller.rb
@@ -218,7 +217,6 @@ files:
218
217
  - spec/vcr_cassettes/whm/server/systemloadavg.yml
219
218
  - spec/vcr_cassettes/whm/server/version.yml
220
219
  - spec/whm/account_spec.rb
221
- - spec/whm/args_spec.rb
222
220
  - spec/whm/base_spec.rb
223
221
  - spec/whm/dns_spec.rb
224
222
  - spec/whm/reseller_spec.rb
@@ -236,93 +234,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
236
234
  - - ! '>='
237
235
  - !ruby/object:Gem::Version
238
236
  version: '0'
239
- segments:
240
- - 0
241
- hash: 2770939314296025523
242
237
  required_rubygems_version: !ruby/object:Gem::Requirement
243
238
  none: false
244
239
  requirements:
245
240
  - - ! '>='
246
241
  - !ruby/object:Gem::Version
247
242
  version: '0'
248
- segments:
249
- - 0
250
- hash: 2770939314296025523
251
243
  requirements: []
252
244
  rubyforge_project: lumberg
253
245
  rubygems_version: 1.8.23
254
246
  signing_key:
255
247
  specification_version: 3
256
248
  summary: Ruby library for the WHM & cPanel API
257
- test_files:
258
- - spec/config_spec.rb
259
- - spec/lumberg_spec.rb
260
- - spec/spec_helper.rb
261
- - spec/vcr_cassettes/whm/account/accountsummary.yml
262
- - spec/vcr_cassettes/whm/account/changepackage.yml
263
- - spec/vcr_cassettes/whm/account/createacct.yml
264
- - spec/vcr_cassettes/whm/account/domainuserdata.yml
265
- - spec/vcr_cassettes/whm/account/editquota.yml
266
- - spec/vcr_cassettes/whm/account/limitbw.yml
267
- - spec/vcr_cassettes/whm/account/listaccts.yml
268
- - spec/vcr_cassettes/whm/account/listsuspended.yml
269
- - spec/vcr_cassettes/whm/account/modifyacct.yml
270
- - spec/vcr_cassettes/whm/account/myprivs.yml
271
- - spec/vcr_cassettes/whm/account/passwd.yml
272
- - spec/vcr_cassettes/whm/account/removeacct.yml
273
- - spec/vcr_cassettes/whm/account/restoreaccount.yml
274
- - spec/vcr_cassettes/whm/account/setsiteip.yml
275
- - spec/vcr_cassettes/whm/account/suspend.yml
276
- - spec/vcr_cassettes/whm/account/unsuspend.yml
277
- - spec/vcr_cassettes/whm/dns/adddns.yml
278
- - spec/vcr_cassettes/whm/dns/addzonerecord.yml
279
- - spec/vcr_cassettes/whm/dns/dumpzone.yml
280
- - spec/vcr_cassettes/whm/dns/editzonerecord.yml
281
- - spec/vcr_cassettes/whm/dns/getzonerecord.yml
282
- - spec/vcr_cassettes/whm/dns/killdns.yml
283
- - spec/vcr_cassettes/whm/dns/listmxs.yml
284
- - spec/vcr_cassettes/whm/dns/listzones.yml
285
- - spec/vcr_cassettes/whm/dns/lookupnsip.yml
286
- - spec/vcr_cassettes/whm/dns/removezonerecord.yml
287
- - spec/vcr_cassettes/whm/dns/resetzone.yml
288
- - spec/vcr_cassettes/whm/dns/resolvedomainname.yml
289
- - spec/vcr_cassettes/whm/dns/savemxs.yml
290
- - spec/vcr_cassettes/whm/reseller/acctcounts.yml
291
- - spec/vcr_cassettes/whm/reseller/listacls.yml
292
- - spec/vcr_cassettes/whm/reseller/listresellers.yml
293
- - spec/vcr_cassettes/whm/reseller/resellerstats.yml
294
- - spec/vcr_cassettes/whm/reseller/saveacllist.yml
295
- - spec/vcr_cassettes/whm/reseller/setacls.yml
296
- - spec/vcr_cassettes/whm/reseller/setresellerips.yml
297
- - spec/vcr_cassettes/whm/reseller/setresellerlimits.yml
298
- - spec/vcr_cassettes/whm/reseller/setresellermainip.yml
299
- - spec/vcr_cassettes/whm/reseller/setresellernameservers.yml
300
- - spec/vcr_cassettes/whm/reseller/setresellerpackagelimit.yml
301
- - spec/vcr_cassettes/whm/reseller/setupreseller.yml
302
- - spec/vcr_cassettes/whm/reseller/suspendreseller.yml
303
- - spec/vcr_cassettes/whm/reseller/terminatereseller.yml
304
- - spec/vcr_cassettes/whm/reseller/unsetupreseller.yml
305
- - spec/vcr_cassettes/whm/reseller/unsuspendreseller.yml
306
- - spec/vcr_cassettes/whm/server/addip.yml
307
- - spec/vcr_cassettes/whm/server/applist.yml
308
- - spec/vcr_cassettes/whm/server/delip.yml
309
- - spec/vcr_cassettes/whm/server/gethostname.yml
310
- - spec/vcr_cassettes/whm/server/getlanglist.yml
311
- - spec/vcr_cassettes/whm/server/listips.yml
312
- - spec/vcr_cassettes/whm/server/loadavg.yml
313
- - spec/vcr_cassettes/whm/server/my_function.yml
314
- - spec/vcr_cassettes/whm/server/nvget.yml
315
- - spec/vcr_cassettes/whm/server/nvset.yml
316
- - spec/vcr_cassettes/whm/server/reboot.yml
317
- - spec/vcr_cassettes/whm/server/sethostname.yml
318
- - spec/vcr_cassettes/whm/server/setresolvers.yml
319
- - spec/vcr_cassettes/whm/server/showbw.yml
320
- - spec/vcr_cassettes/whm/server/systemloadavg.yml
321
- - spec/vcr_cassettes/whm/server/version.yml
322
- - spec/whm/account_spec.rb
323
- - spec/whm/args_spec.rb
324
- - spec/whm/base_spec.rb
325
- - spec/whm/dns_spec.rb
326
- - spec/whm/reseller_spec.rb
327
- - spec/whm/server_spec.rb
328
- - spec/whm/whm_spec.rb
249
+ test_files: []
250
+ has_rdoc:
@@ -1,113 +0,0 @@
1
- module Lumberg
2
-
3
- #
4
- # ==== Optional
5
- # * <tt>:whatever</tt> - PENDING
6
- module Whm
7
- class Args
8
- attr_reader :required_params, :boolean_params, :optional_params, :one_of_params
9
- attr_reader :options
10
- # Check the included hash for the included parameters.
11
- # Raises WhmArgumentError when it's mising the proper params
12
- #
13
- # ==== Example
14
- #
15
- # Args.new(options) do |c|
16
- # c.requries :user, :pass
17
- # c.booleans :name
18
- # c.optionals :whatever
19
- # end
20
- def initialize(options)
21
- @required_params ||= []
22
- @boolean_params ||= []
23
- @optional_params ||= []
24
- @one_of_params ||= []
25
- @options = options
26
-
27
- yield self
28
-
29
- requires!
30
- booleans!
31
- one_ofs!
32
- valid_options!
33
- end
34
-
35
- # Specifies the required arguments
36
- def requires(*values)
37
- @optional_params.concat(values)
38
- @required_params = values
39
- end
40
-
41
- # Specifies which arguments are boolean
42
- def booleans(*values)
43
- @optional_params.concat(values)
44
- @boolean_params = values
45
- end
46
-
47
- # Specifies which arguments are optional
48
- def optionals(*values)
49
- @optional_params.concat(values)
50
- end
51
-
52
- # Specifies which arguments take one of a set of arguments
53
- def one_of(*values)
54
- @optional_params.concat(values)
55
- @one_of_params = values
56
- end
57
-
58
- protected
59
-
60
- # Verifies that all required arguments are present
61
- def requires!
62
- @required_params.each do |param|
63
- key = (param.is_a?(Array) ? param.first : param)
64
- verify_required_param(key)
65
- end
66
- end
67
-
68
-
69
- # Checks to see if supplied params (which are booleans) contain
70
- # either a 1 ("Yes") or 0 ("No") value.
71
- def booleans!
72
- @boolean_params.each do |param|
73
- key = (param.is_a?(Array) ? param.first : param)
74
- verify_boolean_param(key)
75
- end
76
- end
77
-
78
- # Verifies that only valid arguments were set
79
- def valid_options!
80
- @options.keys.uniq.each do |key|
81
- raise WhmArgumentError.new("Not a valid parameter: #{key}") unless @optional_params.include?(key)
82
- end
83
- end
84
-
85
- # Verifies that the one_of arguments were used correctly
86
- def one_ofs!
87
- if @one_of_params.size > 1
88
- specified = @options.keys.select { |key| @one_of_params.include?(key) }.uniq
89
- if specified.size > 1 || specified.size == 0
90
- raise WhmArgumentError.new("The parameters may include only one of '#{@one_of_params.join(', ')}'")
91
- end
92
- else
93
- raise WhmArgumentError.new("One of requires two or more items") unless @one_of_params.empty?
94
- end
95
- end
96
-
97
- private
98
-
99
- # Internal method for verifiying required arguments
100
- def verify_required_param(param)
101
- raise WhmArgumentError.new("Missing required parameter: #{param}") unless @options.has_key?(param)
102
- raise WhmArgumentError.new("Required parameter cannot be blank: #{param}") if (@options[param].nil? || (@options[param].respond_to?(:empty?) && @options[param].empty?))
103
- end
104
-
105
- # Internal method for verifying boolean arguments
106
- def verify_boolean_param(param)
107
- if @options.include?(param) && ![true, false].include?(@options[param])
108
- raise WhmArgumentError.new("Boolean parameter must be \"true\" or \"false\": #{param}")
109
- end
110
- end
111
- end
112
- end
113
- end
@@ -1,179 +0,0 @@
1
- require 'spec_helper'
2
- require 'lumberg/whm/args'
3
-
4
- module Lumberg
5
- describe Whm::Args do
6
- context "required_parms" do
7
- it "raises an error when missing" do
8
- options = {:arg1 => true}
9
- args = lambda {
10
- Whm::Args.new(options) do |c|
11
- c.requires :arg2
12
- end
13
- }
14
- expect { args.call }.to raise_error(WhmArgumentError, /Missing required parameter: arg2/)
15
- end
16
-
17
- it "does not raise an error with valid params" do
18
- options = {:arg1 => true}
19
- args = Whm::Args.new(options) { |c|
20
- c.requires :arg1
21
- }
22
-
23
- args.required_params.should have(1).value
24
- args.required_params.should include(:arg1)
25
- end
26
-
27
- it "sets optional_params" do
28
- options = {:arg1 => true, :arg2 => 2}
29
- args = Whm::Args.new(options) { |c|
30
- c.requires :arg1, :arg2
31
- }
32
-
33
- args.optional_params.should have(2).values
34
- args.required_params.should have(2).values
35
-
36
- args.optional_params.should include(*args.required_params)
37
- end
38
-
39
- it "does not set boolean_params" do
40
- options = {:arg1 => true, :arg2 => 2}
41
- args = Whm::Args.new(options) { |c|
42
- c.requires :arg1, :arg2
43
- }
44
-
45
- args.boolean_params.should be_empty
46
- end
47
- end
48
-
49
- context "boolean_params" do
50
- it "raises an error when the param is not boolean" do
51
- options = {:arg1 => 'string'}
52
- args = lambda {
53
- Whm::Args.new(options) do |c|
54
- c.booleans :arg1
55
- end
56
- }
57
- expect { args.call }.to raise_error(WhmArgumentError, /Boolean parameter must be.*: arg1/)
58
- end
59
-
60
- it "raises an error with boolean params" do
61
- options = {:arg1 => true}
62
- args = Whm::Args.new(options) { |c|
63
- c.booleans :arg1
64
- }
65
-
66
- args.boolean_params.should have(1).value
67
- args.boolean_params.should include(:arg1)
68
- end
69
-
70
- it "sets optional_params" do
71
- options = {:arg1 => true, :arg2 => false}
72
- args = Whm::Args.new(options) { |c|
73
- c.booleans :arg1, :arg2
74
- }
75
-
76
- args.optional_params.should have(2).values
77
- args.boolean_params.should have(2).values
78
-
79
- args.optional_params.should include(:arg1, :arg2)
80
- end
81
-
82
- it "sets required_params" do
83
- options = {:arg1 => true, :arg2 => false}
84
- args = Whm::Args.new(options) { |c|
85
- c.booleans :arg1, :arg2
86
- }
87
-
88
- args.required_params.should be_empty
89
- end
90
- end
91
-
92
- context "optional_params" do
93
- it "raises an error with unknown params" do
94
- options = {:arg1 => true}
95
- args = lambda {
96
- Whm::Args.new(options) do |c|
97
- c.optionals :arg2
98
- end
99
- }
100
-
101
- expect { args.call }.to raise_error(WhmArgumentError, /Not a valid parameter: arg1/)
102
- end
103
-
104
- it "does not raise an error with known params" do
105
- options = {:arg1 => true, :arg2 => 2}
106
- args = Whm::Args.new(options) { |c|
107
- c.optionals :arg1, :arg2
108
- }
109
-
110
- args.optional_params.should have(2).values
111
- args.optional_params.should include(:arg1, :arg2)
112
- end
113
-
114
- it "does not set required_params" do
115
- options = {:arg1 => true, :arg2 => 2}
116
- args = Whm::Args.new(options) { |c|
117
- c.optionals :arg1, :arg2
118
- }
119
-
120
- args.required_params.should be_empty
121
- end
122
-
123
- it "does not set boolean_params" do
124
- options = {:arg1 => true, :arg2 => 2}
125
- args = Whm::Args.new(options) { |c|
126
- c.optionals :arg1, :arg2
127
- }
128
-
129
- args.boolean_params.should be_empty
130
- end
131
- end
132
-
133
- context "one_of" do
134
- it "allows one arg" do
135
- options = {:arg1 => true}
136
- args = lambda {
137
- Whm::Args.new(options) do |c|
138
- c.one_of :arg1
139
- end
140
- }
141
-
142
- expect { args.call }.to raise_error(WhmArgumentError, /One of requires two or more items/)
143
- end
144
-
145
- it "allows two or more args" do
146
- options = {:arg1 => true}
147
-
148
- args = Whm::Args.new(options) do |c|
149
- c.one_of :arg1, :arg2
150
- end
151
-
152
- args.one_of_params.should have(2).values
153
- args.one_of_params.should include(:arg1, :arg2)
154
- end
155
-
156
- it "does not allow 0 params" do
157
- options = {}
158
- args = lambda {
159
- Whm::Args.new(options) do |c|
160
- c.one_of :arg1, :arg2
161
- end
162
- }
163
-
164
- expect { args.call }.to raise_error(WhmArgumentError, /The parameters may include only one of 'arg1, arg2'/)
165
- end
166
-
167
- it "does not allow both args" do
168
- options = {:arg1 => true, :arg2 => 2}
169
- args = lambda {
170
- Whm::Args.new(options) do |c|
171
- c.one_of :arg1, :arg2
172
- end
173
- }
174
-
175
- expect { args.call }.to raise_error(WhmArgumentError, /The parameters may include only one of 'arg1, arg2'/)
176
- end
177
- end
178
- end
179
- end