reg.api2 0.0.9 → 0.0.10
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/.travis.yml +3 -3
- data/.yardopts +1 -0
- data/CHANGES.md +7 -0
- data/lib/reg_api2/bill.rb +17 -11
- data/lib/reg_api2/impl.rb +8 -16
- data/lib/reg_api2/result_contract.rb +1 -0
- data/lib/reg_api2/service.rb +20 -1
- data/lib/reg_api2/version.rb +1 -1
- data/spec/lib/reg_api2/bill_spec.rb +6 -6
- data/spec/spec_helper.rb +5 -2
- metadata +5 -4
data/.travis.yml
CHANGED
data/.yardopts
CHANGED
data/CHANGES.md
ADDED
data/lib/reg_api2/bill.rb
CHANGED
@@ -12,23 +12,24 @@ module RegApi2
|
|
12
12
|
# @option opts [String] :bill_id Invoice number in case of a single-invoice request.
|
13
13
|
# @option opts [Array] :bills A list if invoice numbers.
|
14
14
|
# For testing purposes.
|
15
|
-
# @return [NilClass or Hash
|
15
|
+
# @return [NilClass or Array<Hash>] nil or bills.
|
16
|
+
# @note Accessibility: clients
|
16
17
|
# @note Support of invoice lists: yes
|
17
18
|
# @example Get single bill
|
18
19
|
# RegApi2.bill.nop bill_id: 12345
|
19
20
|
# @example Get bills
|
20
21
|
# RegApi2.bill.nop bills: ["12345","12346"]
|
21
|
-
define :nop
|
22
|
+
define :nop, field: :bills
|
22
23
|
|
23
24
|
# @!method get_not_payed(opts = {})
|
24
25
|
# Use this function to obtain a list of unpaid invoices.
|
25
26
|
# @param [Hash] opts
|
26
27
|
# @option opts [Fixnum] :limit Defines the number of invoices to be included in the output at a time. Default value: 100. Maximum value: 1024.
|
27
28
|
# @option opts [Fixnum] :offset The offset from the starting point, if the number of invoices exceeds the defined limit.
|
28
|
-
# @return [Hash
|
29
|
+
# @return [Array<Hash>] Bills.
|
29
30
|
# @note Accessibility: clients
|
30
31
|
# @note Support of invoice lists: yes
|
31
|
-
define :get_not_payed
|
32
|
+
define :get_not_payed, field: :bills
|
32
33
|
|
33
34
|
# @!method get_for_period(opts = {})
|
34
35
|
# Use this function to obtain a list of invoices for the defined period.
|
@@ -39,25 +40,30 @@ module RegApi2
|
|
39
40
|
# @option opts [Fixnum] :limit Defines the number of invoices to be included in the output at a time. Default value: 100. Maximum value: 1024.
|
40
41
|
# @option opts [Fixnum] :offset The offset from the starting point, if the number of invoices exceeds the defined limit.
|
41
42
|
# @option opts [Boolean] :all Show inactive invoices, i.e. invoices for outdated services and invoices cancelled due to impossibility of order execution.
|
42
|
-
# @return [Hash
|
43
|
+
# @return [Array<Hash>] Bills.
|
43
44
|
# @note Accessibility: partners
|
44
45
|
# @note Support of invoice lists: yes
|
45
|
-
|
46
|
+
# @example List of invoices using Date objects.
|
47
|
+
# require 'date'
|
48
|
+
# RegApi.bill.get_for_period start_date: Date.new(2012, 1, 1), end_date: Date.new(2012, 12, 1)
|
49
|
+
# @example List of invoices using date strings in ISO format.
|
50
|
+
# RegApi.bill.get_for_period start_date: '2012-01-01', end_date: '2012-12-01'
|
51
|
+
define :get_for_period, required: { start_date: { iso_date: true }, end_date: { iso_date: true } }, field: :bills
|
46
52
|
|
47
53
|
# @!method change_pay_type(opts = {})
|
48
54
|
# You can use this function to change payment methods. Some of the methods allow issue of invoices in the defined payment systems, advance payments are made immediately.
|
49
|
-
# @note Accessibility: clients
|
50
55
|
# @param [Hash] opts
|
51
56
|
# @option opts [Fixnum] :bill_id Invoice ID (in case of single invoice request).
|
52
57
|
# @option opts [Array(Fixnum)] :bills A list of invoice IDs.
|
53
58
|
# @option opts [String] :pay_type New payment type. Mandatory field. Valid values: prepay — advance payment (to be made immediately); WM — WebMoney. With the WMID defined, the invoices are issued to the customer’s WM account; yamoney, ymbill — Yandex.Dengi. To issue an invoice, define ymbill and in advance allow the receipt of invoices from REG.; bank — bank transfer
|
54
59
|
# @option opts [String] :currency Currency. Mandatory field. «Yandex.Dengi» allows RUR only, «bank» and «prepay» – RUR and USD, «WebMoney» also allows EUR and UAH.
|
55
60
|
# @option opts [Fixnum] :wmid WebMoney ID
|
61
|
+
# @note Accessibility: clients
|
56
62
|
# @note Support of invoice lists: yes
|
57
|
-
# @return [Hash
|
63
|
+
# @return [Array<Hash>] Bills.
|
58
64
|
# @example Example of request
|
59
65
|
# bill.change_pay_type(currency: :RUR, pay_type: :prepay, bills: [ 123456 ])
|
60
|
-
define :change_pay_type, required: %w[ currency pay_type ]
|
66
|
+
define :change_pay_type, required: %w[ currency pay_type ], field: :bills
|
61
67
|
|
62
68
|
# @!method delete(opts = {})
|
63
69
|
# Deletion of unpaid invoices.
|
@@ -66,10 +72,10 @@ module RegApi2
|
|
66
72
|
# @param [Hash] opts
|
67
73
|
# @option opts [Fixnum] :bill_id Invoice ID (in case of single invoice request).
|
68
74
|
# @option opts [Array(Fixnum)] :bills A list of invoice IDs.
|
69
|
-
# @return [Hash
|
75
|
+
# @return [Array<Hash>] Bills.
|
70
76
|
# @example Delete three bills.
|
71
77
|
# bill.delete(bills: [ { bill_id: 12345 }, { bill_id: 12346 }, { bill_id: 12347 } ])
|
72
|
-
define :delete
|
78
|
+
define :delete, field: :bills
|
73
79
|
|
74
80
|
extend self
|
75
81
|
end
|
data/lib/reg_api2/impl.rb
CHANGED
@@ -114,15 +114,11 @@ module RegApi2
|
|
114
114
|
# @example Dump outgoing API requests to code block
|
115
115
|
# RegApi2.dump_requests { |path, form| p path; p form }
|
116
116
|
def dump_requests(to = nil, &code_block)
|
117
|
-
if to
|
118
|
-
|
119
|
-
return nil
|
117
|
+
if to.nil? && block_given?
|
118
|
+
to = code_block
|
120
119
|
end
|
121
|
-
|
122
|
-
|
123
|
-
return nil
|
124
|
-
end
|
125
|
-
self.dump_requests_to= nil
|
120
|
+
self.dump_requests_to = to
|
121
|
+
nil
|
126
122
|
end
|
127
123
|
|
128
124
|
# Dumps incoming API responses to given `to` or code block.
|
@@ -141,15 +137,11 @@ module RegApi2
|
|
141
137
|
# @example Dump incoming API responses to `$stdout`
|
142
138
|
# RegApi2.dump_responses :stdout
|
143
139
|
def dump_responses(to = nil, &code_block)
|
144
|
-
if to
|
145
|
-
|
146
|
-
return nil
|
140
|
+
if to.nil? && block_given?
|
141
|
+
to = code_block
|
147
142
|
end
|
148
|
-
|
149
|
-
|
150
|
-
return nil
|
151
|
-
end
|
152
|
-
self.dump_responses_to= nil
|
143
|
+
self.dump_responses_to = to
|
144
|
+
nil
|
153
145
|
end
|
154
146
|
|
155
147
|
# Default IO encoding
|
data/lib/reg_api2/service.rb
CHANGED
@@ -225,36 +225,53 @@ module RegApi2
|
|
225
225
|
# @!method set_autorenew_flag(opts = {})
|
226
226
|
# Enables or disables automatic service renewal.
|
227
227
|
# @param opts Options.
|
228
|
+
# @return [NilClass] nil
|
229
|
+
# @note Accessibility: clients
|
230
|
+
# @note Support of service lists: no
|
228
231
|
define :set_autorenew_flag
|
229
232
|
|
230
233
|
# @!method suspend(opts = {})
|
231
234
|
# Use this function to suspend services (for domains – suspend delegation).
|
232
235
|
# @param opts Options.
|
236
|
+
# @return [NilClass] nil
|
237
|
+
# @note Accessibility: clients
|
238
|
+
# @note Support of service lists: no
|
233
239
|
define :suspend
|
234
240
|
|
235
241
|
# @!method resume(opts = {})
|
236
242
|
# Use this function to resume services (for domains – resume domain delegation).
|
237
243
|
# @param opts Options.
|
244
|
+
# @return [NilClass] nil
|
245
|
+
# @note Accessibility: clients
|
246
|
+
# @note Support of service lists: no
|
238
247
|
define :resume
|
239
248
|
|
240
249
|
# @!method get_depreciated_period(opts = {})
|
241
250
|
# Use this function to calculate the number of periods till the service expiration date.
|
242
251
|
# @param opts Options.
|
252
|
+
# @note Accessibility: clients
|
253
|
+
# @note Support of service lists: no
|
243
254
|
define :get_depreciated_period
|
244
255
|
|
245
256
|
# @!method upgrade(opts = {})
|
246
257
|
# This function upgrades service subtypes (rate plans). It can be used for changes of rate plans for virtual hosting ("srv_hosting_ispmgr"), VPS servers("srv_vps") and Additional Disk Space for VPS ("srv_disk_space").
|
247
258
|
# @param opts Options.
|
259
|
+
# @note Accessibility: clients
|
260
|
+
# @note Support of service lists: no
|
248
261
|
define :upgrade
|
249
262
|
|
250
263
|
# @!method partcontrol_grant(opts = {})
|
251
264
|
# You can use this function to grant a part of service management rights to other users.
|
252
265
|
# @param opts Options.
|
266
|
+
# @note Accessibility: clients
|
267
|
+
# @note Support of service lists: no
|
253
268
|
define :partcontrol_grant
|
254
269
|
|
255
270
|
# @!method partcontrol_revoke(opts = {})
|
256
271
|
# Use this function to stop granting service management rights to other.
|
257
272
|
# @param opts Options.
|
273
|
+
# @note Accessibility: clients
|
274
|
+
# @note Support of service lists: no
|
258
275
|
define :partcontrol_revoke
|
259
276
|
|
260
277
|
# @!method resend_mail(opts = {})
|
@@ -262,7 +279,9 @@ module RegApi2
|
|
262
279
|
# @param opts Options.
|
263
280
|
# @option opts [Array] mailtype Email type: `approver_email` — approve ssl certificate order, `certificate_email` — certificate email.
|
264
281
|
# @return [Hash(service_id, dname)]
|
265
|
-
# @
|
282
|
+
# @note Accessibility: clients
|
283
|
+
# @note Support of service lists: no
|
284
|
+
# @example Resend mail.
|
266
285
|
# RegApi2.service.resend_mail servtype: :srv_ssl_certificate
|
267
286
|
define :resend_mail
|
268
287
|
|
data/lib/reg_api2/version.rb
CHANGED
@@ -14,11 +14,11 @@ describe RegApi2::Bill do
|
|
14
14
|
end
|
15
15
|
|
16
16
|
it "should return bill if specified" do
|
17
|
-
bill.nop(bill_id: 12345).
|
17
|
+
bill.nop(bill_id: 12345).should have(1).bill
|
18
18
|
end
|
19
19
|
|
20
20
|
it "should return bills if specified" do
|
21
|
-
bill.nop(bills: [ 12345, 12346 ]).
|
21
|
+
bill.nop(bills: [ 12345, 12346 ]).should have(2).bills
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
@@ -28,7 +28,7 @@ describe RegApi2::Bill do
|
|
28
28
|
end
|
29
29
|
|
30
30
|
it "should return something real" do
|
31
|
-
bill.get_not_payed.
|
31
|
+
bill.get_not_payed.should have(1).bill
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
@@ -41,7 +41,7 @@ describe RegApi2::Bill do
|
|
41
41
|
bill.get_for_period(
|
42
42
|
start_date: Date.new(2000, 1, 1),
|
43
43
|
end_date: Date.new(2015, 1, 1)
|
44
|
-
).
|
44
|
+
).should have(1).bill
|
45
45
|
end
|
46
46
|
end
|
47
47
|
|
@@ -63,7 +63,7 @@ describe RegApi2::Bill do
|
|
63
63
|
pay_type: :prepay,
|
64
64
|
currency: :RUR,
|
65
65
|
bills: [ 123456 ]
|
66
|
-
).
|
66
|
+
).should have(1).bill
|
67
67
|
end
|
68
68
|
end
|
69
69
|
|
@@ -71,7 +71,7 @@ describe RegApi2::Bill do
|
|
71
71
|
it "should remove three bills if specified" do
|
72
72
|
ans = bill.delete(
|
73
73
|
bills: [ { bill_id: 12345 }, { bill_id: 12346 }, { bill_id: 12347 } ]
|
74
|
-
)
|
74
|
+
)
|
75
75
|
ans.map { |b| b.bill_id }.should == [ 12345, 12346, 12347 ]
|
76
76
|
ans.each { |b| b.result.should == 'success' }
|
77
77
|
ans.each { |b| b.status.should == 'deleted' }
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: reg.api2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.10
|
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: 2013-10-
|
12
|
+
date: 2013-10-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: yajl-ruby
|
@@ -199,6 +199,7 @@ files:
|
|
199
199
|
- .rspec
|
200
200
|
- .travis.yml
|
201
201
|
- .yardopts
|
202
|
+
- CHANGES.md
|
202
203
|
- Gemfile
|
203
204
|
- LICENSE
|
204
205
|
- README.md
|
@@ -252,7 +253,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
252
253
|
version: '0'
|
253
254
|
segments:
|
254
255
|
- 0
|
255
|
-
hash:
|
256
|
+
hash: 3535020143484780529
|
256
257
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
257
258
|
none: false
|
258
259
|
requirements:
|
@@ -261,7 +262,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
261
262
|
version: '0'
|
262
263
|
segments:
|
263
264
|
- 0
|
264
|
-
hash:
|
265
|
+
hash: 3535020143484780529
|
265
266
|
requirements: []
|
266
267
|
rubyforge_project:
|
267
268
|
rubygems_version: 1.8.24
|