xfrtuc 0.0.5 → 0.0.6

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/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- xfrtuc (0.0.5)
4
+ xfrtuc (0.0.6)
5
5
  rest-client (~> 1.6)
6
6
 
7
7
  GEM
data/lib/xfrtuc.rb CHANGED
@@ -100,6 +100,8 @@ module Xfrtuc
100
100
  from_name = opts.delete :from_name
101
101
  to_name = opts.delete :to_name
102
102
  log_input_url = opts.delete :log_input_url
103
+ num_keep = opts.delete :num_keep
104
+
103
105
  unless opts.empty?
104
106
  raise ArgumentError, "Unsupported option(s): #{opts.keys}"
105
107
  end
@@ -112,6 +114,7 @@ module Xfrtuc
112
114
  to_name: to_name
113
115
  }
114
116
  payload.merge!(log_input_url: log_input_url) unless log_input_url.nil?
117
+ payload.merge!(num_keep: num_keep) unless num_keep.nil?
115
118
 
116
119
  client.post("/transfers", payload)
117
120
  end
@@ -146,17 +149,23 @@ module Xfrtuc
146
149
  hour = opts.fetch :hour
147
150
  days = opts.fetch(:days, Date::DAYNAMES)
148
151
  timezone = opts.fetch(:timezone, 'UTC')
152
+ retain_weeks = opts.delete(:retain_weeks)
153
+ retain_months = opts.delete(:retain_months)
154
+
149
155
  [ :name, :callback_url, :hour, :days, :timezone ].each { |key| opts.delete key }
150
156
  unless opts.empty?
151
157
  raise ArgumentError, "Unsupported option(s): #{opts.keys}"
152
158
  end
153
159
 
154
- client.post("/schedules",
155
- name: name,
156
- callback_url: callback_url,
157
- hour: hour,
158
- days: days,
159
- timezone: timezone)
160
+ sched_opts = { name: name,
161
+ callback_url: callback_url,
162
+ hour: hour,
163
+ days: days,
164
+ timezone: timezone }
165
+ sched_opts[:retain_weeks] = retain_weeks unless retain_weeks.nil?
166
+ sched_opts[:retain_months] = retain_months unless retain_months.nil?
167
+
168
+ client.post("/schedules", sched_opts)
160
169
  end
161
170
 
162
171
  def delete(id)
@@ -1,3 +1,3 @@
1
1
  module Xfrtuc
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.6"
3
3
  end
data/spec/xfrtuc_spec.rb CHANGED
@@ -107,9 +107,12 @@ module Xfrtuc
107
107
  return [404, headers, []]
108
108
  end
109
109
  xfer = { uuid: SecureRandom.uuid }
110
- %w(from_type from_url from_name to_type to_url to_name).each do |key|
110
+ %w(from_type from_url from_name to_type to_url to_name log_input_url).each do |key|
111
111
  xfer[key.to_sym] = transfer[key]
112
112
  end
113
+ if transfer.has_key? 'num_keep'
114
+ xfer[:num_keep] = transfer['num_keep']
115
+ end
113
116
 
114
117
  @transfers[group_name] << xfer
115
118
  [201, {}, [xfer.to_json]]
@@ -163,6 +166,9 @@ module Xfrtuc
163
166
  %w(name callback_url days hour timezone).each do |key|
164
167
  sched[key.to_sym] = schedule[key]
165
168
  end
169
+ %w(retain_weeks retain_months).each do |key|
170
+ sched[key.to_sym] = schedule[key] if schedule.has_key? key
171
+ end
166
172
  @schedules[group_name] << sched
167
173
  [201, {}, [sched.to_json]]
168
174
  end
@@ -476,9 +482,16 @@ module Xfrtuc
476
482
 
477
483
  it "accepts an optional log_input_url" do
478
484
  log_url = "https://example.com/logs"
479
- expect do
480
- client.group(g).transfer.create(xfer_data.merge(log_input_url: log_url))
481
- end.not_to raise_error
485
+ client.group(g).transfer.create(xfer_data.merge(log_input_url: log_url))
486
+ xfer = fakesferatu.last_transfer(g)
487
+ expect(xfer[:log_input_url]).to eq(log_url)
488
+ end
489
+
490
+ it "accepts an optional num_keep" do
491
+ num_keep = 3
492
+ client.group(g).transfer.create(xfer_data.merge(num_keep: num_keep))
493
+ xfer = fakesferatu.last_transfer(g)
494
+ expect(xfer[:num_keep]).to eq(num_keep)
482
495
  end
483
496
  end
484
497
 
@@ -589,6 +602,16 @@ module Xfrtuc
589
602
  expect(sched[k]).to eq(v)
590
603
  end
591
604
  end
605
+
606
+ it "accepts an optional retain_weeks and retain_months" do
607
+ retain_weeks = 7
608
+ retain_months = 8
609
+ client.group(g).schedule.create(sched_data.merge(retain_weeks: retain_weeks,
610
+ retain_months: retain_months))
611
+ sched = fakesferatu.last_schedule(g)
612
+ expect(sched[:retain_weeks]).to eq(retain_weeks)
613
+ expect(sched[:retain_months]).to eq(retain_months)
614
+ end
592
615
  end
593
616
 
594
617
  describe "#list" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xfrtuc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
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: 2015-01-23 00:00:00.000000000 Z
12
+ date: 2015-01-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest-client