synaptic4r 0.1.6 → 0.1.8
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/VERSION +1 -1
- data/bin/synrest +17 -18
- data/lib/synaptic4r/client.rb +4 -7
- data/lib/synaptic4r/request.rb +4 -3
- data/lib/synaptic4r/rest.rb +11 -10
- data/lib/synaptic4r/result.rb +3 -3
- data/lib/synaptic4r.rb +1 -0
- data/synaptic4r.gemspec +8 -8
- data/test/create_dir_test.rb +0 -1
- data/test/create_file_messages.rb +31 -14
- data/test/create_file_test.rb +29 -4
- data/test/mock.rb +1 -1
- metadata +8 -8
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.8
|
data/bin/synrest
CHANGED
@@ -1,11 +1,10 @@
|
|
1
|
-
#!/usr/bin/ruby
|
1
|
+
#!/usr/local/bin/ruby
|
2
2
|
|
3
3
|
####---------------------------------------------------------------------------------------------------------
|
4
4
|
SYNLIB = "#{File.dirname($0)}/../lib"
|
5
5
|
$:.unshift(SYNLIB) unless $:.include?(SYNLIB)
|
6
6
|
|
7
7
|
####---------------------------------------------------------------------------------------------------------
|
8
|
-
require 'yaml'
|
9
8
|
require 'optparse'
|
10
9
|
require 'synaptic4r'
|
11
10
|
require 'logger'
|
@@ -61,7 +60,7 @@ def run(cmd, input)
|
|
61
60
|
{:out => (input[:dump] or input[:payload]) ? dump(cmd, input, result) : result.print, :logger => :info}
|
62
61
|
rescue RestClient::RequestFailed, RestClient::ResourceNotFound, RestClient::Unauthorized,
|
63
62
|
RestClient::NotModified => err
|
64
|
-
{:out => "#{err.message}\n" + Synaptic4r::RequestError.new(err).print, :logger => :error}
|
63
|
+
{:out => "#{err.http_code}\n#{err.message}\n" + Synaptic4r::RequestError.new(err).print, :logger => :error}
|
65
64
|
rescue RestClient::Redirect, RestClient::ServerBrokeConnection, RestClient::RequestTimeout => err
|
66
65
|
{:out => err.message, :logger => :error}
|
67
66
|
rescue ArgumentError => err
|
@@ -86,7 +85,7 @@ end
|
|
86
85
|
####---------------------------------------------------------------------------------------------------------
|
87
86
|
def format_required_args(args)
|
88
87
|
args.inject("") do |f,a|
|
89
|
-
aname = lambda{|v,l| arg_name(Synaptic4r::
|
88
|
+
aname = lambda{|v,l| arg_name(Synaptic4r::StorageRequest.rest_arg(v),l)}
|
90
89
|
if a.kind_of?(Array)
|
91
90
|
f + [aname[a.first,false],a[1..-1].map{|v| aname[v,true]}].join('|') + ' '
|
92
91
|
else
|
@@ -97,7 +96,7 @@ end
|
|
97
96
|
|
98
97
|
####---------------------------------------------------------------------------------------------------------
|
99
98
|
def diagnostic_args(opts, input, cmd)
|
100
|
-
if Synaptic4r::
|
99
|
+
if Synaptic4r::StorageRequest.diagnostics(cmd)
|
101
100
|
opts.separator "\ndiagnostic options"
|
102
101
|
opts.on('-q', '--dump', 'do not send request but print headers and service url to STDOUT'){|d| input[:dump] = true}
|
103
102
|
opts.on('-p', '--payload', 'do not send request print payload to STDOUT if present'){|p| input[:payload] = true}
|
@@ -120,7 +119,7 @@ def set_opts(opts, input, opt_args)
|
|
120
119
|
unless opt_args.empty?
|
121
120
|
opts.separator "\noptions"
|
122
121
|
opt_args.sort_by{|m| m.to_s}.each do |a|
|
123
|
-
arg_info = Synaptic4r::
|
122
|
+
arg_info = Synaptic4r::StorageRequest.rest_arg(a)
|
124
123
|
sopt = arg_info[:cli][1]
|
125
124
|
lopt = "--#{arg_info[:cli][0]}" + (arg_info[:cli][2].eql?(:flag) ? '' : " #{arg_info[:cli][0]}")
|
126
125
|
opts.on(sopt, lopt, arg_info[:desc]) do |v|
|
@@ -133,11 +132,11 @@ end
|
|
133
132
|
####---------------------------------------------------------------------------------------------------------
|
134
133
|
def set_args(opts, meths, input, cmd)
|
135
134
|
extract_positional_args(meths, input, cmd)
|
136
|
-
all_args = Synaptic4r::
|
135
|
+
all_args = Synaptic4r::StorageRequest.required_rest_args(cmd)
|
137
136
|
fmt = " %-32s %s"
|
138
137
|
unless all_args.empty?
|
139
138
|
opts.separator "\nargs"
|
140
|
-
arg_row = lambda{|a,l| arg_info = Synaptic4r::
|
139
|
+
arg_row = lambda{|a,l| arg_info = Synaptic4r::StorageRequest.rest_arg(a)
|
141
140
|
opts.separator fmt % [arg_name(arg_info,l), arg_info[:desc]]}
|
142
141
|
all_args.each do |a|
|
143
142
|
if a.kind_of?(Array)
|
@@ -173,11 +172,11 @@ end
|
|
173
172
|
|
174
173
|
####---------------------------------------------------------------------------------------------------------
|
175
174
|
def extract_positional_args(meths, input, cmd)
|
176
|
-
eargs = Synaptic4r::
|
175
|
+
eargs = Synaptic4r::StorageRequest.required_rest_args(cmd)
|
177
176
|
elength = eargs.length
|
178
177
|
pvals= prep_argv.first(elength)
|
179
|
-
nvals = if Synaptic4r::
|
180
|
-
Synaptic4r::
|
178
|
+
nvals = if Synaptic4r::StorageRequest.map_required_args(cmd)
|
179
|
+
Synaptic4r::StorageRequest.map_required_args(cmd)[pvals]
|
181
180
|
else
|
182
181
|
{:pvals => pvals, :dlen => 0}
|
183
182
|
end
|
@@ -200,7 +199,7 @@ end
|
|
200
199
|
|
201
200
|
####---------------------------------------------------------------------------------------------------------
|
202
201
|
def set_positional_args(input, nvals, eargs)
|
203
|
-
assign_input = lambda{|a,v| info = Synaptic4r::
|
202
|
+
assign_input = lambda{|a,v| info = Synaptic4r::StorageRequest.rest_arg(a);
|
204
203
|
input[a] = info[:map].nil? ? v : info[:map][v]}
|
205
204
|
length = 0
|
206
205
|
nvals[:pvals].each_index do |i|
|
@@ -210,7 +209,7 @@ def set_positional_args(input, nvals, eargs)
|
|
210
209
|
if /^-/.match(pv)
|
211
210
|
matched = false
|
212
211
|
ea[1..-1].each do |a|
|
213
|
-
info = Synaptic4r::
|
212
|
+
info = Synaptic4r::StorageRequest.rest_arg(a)
|
214
213
|
flag = info[:cli][1]
|
215
214
|
next unless flag
|
216
215
|
if /^#{flag}/.match(pv)
|
@@ -246,8 +245,8 @@ end
|
|
246
245
|
|
247
246
|
####---------------------------------------------------------------------------------------------------------
|
248
247
|
def build_banner(opts, cmd)
|
249
|
-
exp_args = Synaptic4r::
|
250
|
-
opts.banner = Synaptic4r::
|
248
|
+
exp_args = Synaptic4r::StorageRequest.required_rest_args(cmd)
|
249
|
+
opts.banner = Synaptic4r::StorageRequest.banner(cmd) || \
|
251
250
|
"\nUsage: synrest #{cmd.to_s.gsub(/_/,'-')} #{format_required_args(exp_args)} [options]"
|
252
251
|
|
253
252
|
end
|
@@ -256,7 +255,7 @@ end
|
|
256
255
|
def process_input(opts, meths, input, cmd)
|
257
256
|
build_banner(opts, cmd)
|
258
257
|
set_args(opts, meths, input, cmd)
|
259
|
-
set_opts(opts, input, Synaptic4r::
|
258
|
+
set_opts(opts, input, Synaptic4r::StorageRequest.optional_rest_args(cmd))
|
260
259
|
diagnostic_args(opts, input, cmd)
|
261
260
|
end
|
262
261
|
|
@@ -268,7 +267,7 @@ def cmd_help(meths)
|
|
268
267
|
meths.sort_by{|m| m.to_s}.each do |m|
|
269
268
|
next if m.eql?(:get_started)
|
270
269
|
meth_str = " %-30s" % m.to_s.gsub(/_/,'-')
|
271
|
-
puts "#{meth_str} #{Synaptic4r::
|
270
|
+
puts "#{meth_str} #{Synaptic4r::StorageRequest.desc(m)}"
|
272
271
|
end
|
273
272
|
puts "\nCommand args and options\n synrest command -h"
|
274
273
|
puts "\nGet Started\n synrest get-started"
|
@@ -276,7 +275,7 @@ def cmd_help(meths)
|
|
276
275
|
end
|
277
276
|
|
278
277
|
####---------------------------------------------------------------------------------------------------------
|
279
|
-
meths = Synaptic4r::
|
278
|
+
meths = Synaptic4r::StorageRequest.rest_methods << :get_started
|
280
279
|
input = {}
|
281
280
|
cmd = extract_cmd(meths)
|
282
281
|
|
data/lib/synaptic4r/client.rb
CHANGED
@@ -17,7 +17,7 @@ module Synaptic4r
|
|
17
17
|
end
|
18
18
|
|
19
19
|
#.........................................................................................................
|
20
|
-
attr_reader :
|
20
|
+
attr_reader :credentials
|
21
21
|
|
22
22
|
#.........................................................................................................
|
23
23
|
def initialize(args = nil)
|
@@ -40,16 +40,13 @@ module Synaptic4r
|
|
40
40
|
end
|
41
41
|
end
|
42
42
|
unary_args_given?(symbolize(config_params), args.keys)
|
43
|
-
@subtenant
|
44
|
-
@uid = args[:uid]
|
45
|
-
@key = args[:key]
|
46
|
-
@site = args[:site]
|
43
|
+
@credentials= {:subtenant => args[:subtenant], :uid => args[:uid], :key => args[:key], :site => args[:site]}
|
47
44
|
end
|
48
45
|
|
49
46
|
#.........................................................................................................
|
50
47
|
def method_missing(meth, *args, &blk)
|
51
|
-
if
|
52
|
-
|
48
|
+
if StorageRequest.has_rest_method?(meth)
|
49
|
+
StorageRequest.new(credentials).execute(meth, *args, &blk)
|
53
50
|
else
|
54
51
|
super
|
55
52
|
end
|
data/lib/synaptic4r/request.rb
CHANGED
@@ -2,10 +2,11 @@
|
|
2
2
|
module Synaptic4r
|
3
3
|
|
4
4
|
####------------------------------------------------------------------------------------------------------
|
5
|
-
|
5
|
+
####------------------------------------------------------------------------------------------------------
|
6
|
+
class StorageRequest
|
6
7
|
|
7
8
|
####------------------------------------------------------------------------------------------------------
|
8
|
-
include
|
9
|
+
include StorageRest
|
9
10
|
|
10
11
|
|
11
12
|
#.......................................................................................................
|
@@ -288,7 +289,7 @@ module Synaptic4r
|
|
288
289
|
end
|
289
290
|
|
290
291
|
|
291
|
-
####
|
292
|
+
#### SorageRequest
|
292
293
|
end
|
293
294
|
|
294
295
|
#### Synaptic4r
|
data/lib/synaptic4r/rest.rb
CHANGED
@@ -28,8 +28,9 @@ module Synaptic4r
|
|
28
28
|
case file
|
29
29
|
when String
|
30
30
|
IO.read(file, length, offset)
|
31
|
-
else
|
32
|
-
file.
|
31
|
+
else
|
32
|
+
file.seek(offset)
|
33
|
+
file.read(length)
|
33
34
|
end
|
34
35
|
end
|
35
36
|
|
@@ -37,7 +38,7 @@ module Synaptic4r
|
|
37
38
|
end
|
38
39
|
|
39
40
|
###########################################################################################################
|
40
|
-
module
|
41
|
+
module StorageRest
|
41
42
|
|
42
43
|
#------------------------------------------------------------------------------------------------------
|
43
44
|
class << self
|
@@ -202,12 +203,12 @@ module Synaptic4r
|
|
202
203
|
attr_reader :headers, :uid, :key, :site, :subtenant, :payload, :meth, :sign, :url
|
203
204
|
|
204
205
|
#.......................................................................................................
|
205
|
-
def initialize(
|
206
|
-
unary_args_given?([:uid, :subtenant, :key, :site],
|
207
|
-
@uid =
|
208
|
-
@key =
|
209
|
-
@site =
|
210
|
-
@subtenant =
|
206
|
+
def initialize(cred)
|
207
|
+
unary_args_given?([:uid, :subtenant, :key, :site], cred)
|
208
|
+
@uid = cred[:uid]
|
209
|
+
@key = cred[:key]
|
210
|
+
@site = cred[:site]
|
211
|
+
@subtenant = cred[:subtenant]
|
211
212
|
@headers = credentials
|
212
213
|
end
|
213
214
|
|
@@ -364,7 +365,7 @@ module Synaptic4r
|
|
364
365
|
end
|
365
366
|
|
366
367
|
|
367
|
-
### Rest
|
368
|
+
### Storage Rest
|
368
369
|
end
|
369
370
|
|
370
371
|
#### Synaptic4r
|
data/lib/synaptic4r/result.rb
CHANGED
@@ -327,16 +327,16 @@ module Synaptic4r
|
|
327
327
|
|
328
328
|
#.......................................................................................................
|
329
329
|
def code
|
330
|
-
@err.elements.to_a('Code').first.text
|
330
|
+
@err.elements.to_a('Code').first.text if @err.elements.to_a('Code').first
|
331
331
|
end
|
332
332
|
|
333
333
|
#.......................................................................................................
|
334
334
|
def message
|
335
|
-
@err.elements.to_a('Message').first.text
|
335
|
+
@err.elements.to_a('Message').first.text if @err.elements.to_a('Message').first
|
336
336
|
end
|
337
337
|
|
338
338
|
#.......................................................................................................
|
339
|
-
def print
|
339
|
+
def print
|
340
340
|
@err.nil? ? '' : "#{code}: #{message}"
|
341
341
|
end
|
342
342
|
|
data/lib/synaptic4r.rb
CHANGED
data/synaptic4r.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{synaptic4r}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.8"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["troystribling-att"]
|
12
|
-
s.date = %q{
|
12
|
+
s.date = %q{2010-03-23}
|
13
13
|
s.default_executable = %q{synrest}
|
14
14
|
s.email = %q{troy.stribling@usi.com}
|
15
15
|
s.executables = ["synrest"]
|
@@ -49,15 +49,15 @@ Gem::Specification.new do |s|
|
|
49
49
|
s.rubygems_version = %q{1.3.5}
|
50
50
|
s.summary = %q{CLI and Ruby REST Client for ATT Synaptic Storage}
|
51
51
|
s.test_files = [
|
52
|
-
"test/
|
53
|
-
"test/create_file_messages.rb",
|
52
|
+
"test/create_dir_test.rb",
|
54
53
|
"test/get_test.rb",
|
54
|
+
"test/create_file_messages.rb",
|
55
|
+
"test/mock.rb",
|
56
|
+
"test/matchers.rb",
|
55
57
|
"test/create_dir_messages.rb",
|
56
|
-
"test/
|
57
|
-
"test/create_dir_test.rb",
|
58
|
+
"test/get_messages.rb",
|
58
59
|
"test/create_file_test.rb",
|
59
|
-
"test/
|
60
|
-
"test/matchers.rb"
|
60
|
+
"test/helper.rb"
|
61
61
|
]
|
62
62
|
|
63
63
|
if s.respond_to? :specification_version then
|
data/test/create_dir_test.rb
CHANGED
@@ -15,7 +15,6 @@ class CreateDirTest < Test::Unit::TestCase
|
|
15
15
|
@client.create_dir(a).should send_request(CreateDirMessages.request(a))
|
16
16
|
end
|
17
17
|
|
18
|
-
|
19
18
|
#.........................................................................................................
|
20
19
|
should "return OID, location and creation date for created directory" do
|
21
20
|
a = @args.merge({:rpath=>'newdir'})
|
@@ -8,34 +8,51 @@ module CreateFileMessages
|
|
8
8
|
class << self
|
9
9
|
|
10
10
|
#......................................................................................................
|
11
|
-
attr_reader :oid, :date, :
|
11
|
+
attr_reader :oid, :date, :payload
|
12
12
|
attr_accessor :response_method
|
13
13
|
|
14
14
|
#......................................................................................................
|
15
15
|
def namespace_request(args)
|
16
|
-
|
17
|
-
|
18
|
-
|
16
|
+
payload = args[:file].kind_of?(String) ? IO.read(args[:file]) : (args[:file].rewind; args[:file].read)
|
17
|
+
size = payload.length
|
18
|
+
content_md5 = Base64.encode64(Digest::MD5.digest(payload)).chomp()
|
19
19
|
{:url => "#{args[:site]}/namespace/#{args[:rpath]}",
|
20
20
|
:http_request => :post,
|
21
|
-
:headers => {'content-length' =>
|
22
|
-
'content-md5' =>
|
21
|
+
:headers => {'content-length' => size,
|
22
|
+
'content-md5' => content_md5,
|
23
23
|
'content-type' => 'application/octet-stream'},
|
24
|
-
:payload =>
|
24
|
+
:payload => payload}
|
25
|
+
end
|
26
|
+
|
27
|
+
#......................................................................................................
|
28
|
+
def namespace_partial_request(args)
|
29
|
+
size = args[:create_endoffset] - args[:create_beginoffset] + 1
|
30
|
+
payload = if args[:file].kind_of?(String)
|
31
|
+
IO.read(args[:file], length, args[:create_beginoffset])
|
32
|
+
else
|
33
|
+
args[:file].rewind; args[:file].seek(args[:create_beginoffset]); args[:file].read(size)
|
34
|
+
end
|
35
|
+
content_md5 = Base64.encode64(Digest::MD5.digest(payload)).chomp()
|
36
|
+
{:url => "#{args[:site]}/namespace/#{args[:rpath]}",
|
37
|
+
:http_request => :post,
|
38
|
+
:headers => {'content-length' => size,
|
39
|
+
'content-md5' => content_md5,
|
40
|
+
'content-type' => 'application/octet-stream'},
|
41
|
+
:payload => payload}
|
25
42
|
end
|
26
43
|
|
27
44
|
#......................................................................................................
|
28
45
|
def listable_metadata_request(args)
|
29
|
-
|
30
|
-
|
31
|
-
|
46
|
+
payload = IO.read(args[:file])
|
47
|
+
size = payload.length
|
48
|
+
content_md5 = Base64.encode64(Digest::MD5.digest(payload)).chomp()
|
32
49
|
{:url => "#{args[:site]}/objects",
|
33
50
|
:http_request => :post,
|
34
|
-
:headers => {'content-length' =>
|
35
|
-
'content-md5' =>
|
51
|
+
:headers => {'content-length' => size,
|
52
|
+
'content-md5' => content_md5,
|
36
53
|
'x-emc-listable-meta' => args[:listable_meta],
|
37
54
|
'content-type' => 'application/octet-stream'},
|
38
|
-
:payload =>
|
55
|
+
:payload => payload}
|
39
56
|
end
|
40
57
|
|
41
58
|
#......................................................................................................
|
@@ -45,7 +62,7 @@ module CreateFileMessages
|
|
45
62
|
|
46
63
|
#......................................................................................................
|
47
64
|
def file_response(args)
|
48
|
-
HttpMessages::Result.new(:headers=> {:x_emc_delta =>
|
65
|
+
HttpMessages::Result.new(:headers=> {:x_emc_delta => size,
|
49
66
|
:date => date,
|
50
67
|
:content_type => "text/plain; charset=UTF-8",
|
51
68
|
:location => "/rest/objects/#{oid}"},
|
data/test/create_file_test.rb
CHANGED
@@ -24,10 +24,10 @@ class CreateFileTest < Test::Unit::TestCase
|
|
24
24
|
end
|
25
25
|
|
26
26
|
#.........................................................................................................
|
27
|
-
should "build request to create file with specified name and read entire file from disk when file IO object specified" do
|
27
|
+
should "build request to create file with specified name and read entire file from disk when local file IO object specified" do
|
28
28
|
CreateFileMessages.response_method = :file_response
|
29
|
-
|
30
|
-
a = @args.merge({:rpath=>'test.text', :file =>
|
29
|
+
payload = File.new('test/test.txt')
|
30
|
+
a = @args.merge({:rpath=>'test.text', :file => payload, :payload => true})
|
31
31
|
@client.create_file(a).should send_request(CreateFileMessages.namespace_request(a))
|
32
32
|
end
|
33
33
|
|
@@ -39,7 +39,32 @@ class CreateFileTest < Test::Unit::TestCase
|
|
39
39
|
res[:oid].should be(CreateFileMessages.oid)
|
40
40
|
res[:location].should be("/rest/objects/#{CreateFileMessages.oid}")
|
41
41
|
res[:date].should be(CreateFileMessages.date)
|
42
|
-
res[:size].should be(
|
42
|
+
res[:size].should be(File.size('test/test.txt'))
|
43
|
+
end
|
44
|
+
|
45
|
+
#.........................................................................................................
|
46
|
+
should "build request to create file with specified name and read a portion file from disk when local file name is specified" do
|
47
|
+
CreateFileMessages.response_method = :file_response
|
48
|
+
a = @args.merge({:rpath=>'test.text', :file => 'test/test.txt', :payload => true, :create_beginoffset => 10, :create_endoffset => 20})
|
49
|
+
@client.create_file(a).should send_request(CreateFileMessages.namespace_request(a))
|
50
|
+
end
|
51
|
+
|
52
|
+
#.........................................................................................................
|
53
|
+
should "build request to create file with specified name and read a portion file from disk when local file IO object is specified" do
|
54
|
+
CreateFileMessages.response_method = :file_response
|
55
|
+
a = @args.merge({:rpath=>'test.text', :file => 'test/test.txt', :payload => true, :create_beginoffset => 10, :create_endoffset => 20})
|
56
|
+
@client.create_file(a).should send_request(CreateFileMessages.namespace_request(a))
|
57
|
+
end
|
58
|
+
|
59
|
+
#.........................................................................................................
|
60
|
+
should "return OID, location and creation date for created file when partial file is uploaded" do
|
61
|
+
CreateFileMessages.response_method = :file_response
|
62
|
+
a = @args.merge({:listable_meta=>'test', :file => 'test/test.txt', :payload => true, :create_beginoffset => 10, :create_endoffset => 20})
|
63
|
+
res = @client.create_file(a)
|
64
|
+
res[:oid].should be(CreateFileMessages.oid)
|
65
|
+
res[:location].should be("/rest/objects/#{CreateFileMessages.oid}")
|
66
|
+
res[:date].should be(CreateFileMessages.date)
|
67
|
+
res[:size].should be(args[:create_endoffset] - args[:create_beginoffset] + 1)
|
43
68
|
end
|
44
69
|
|
45
70
|
end
|
data/test/mock.rb
CHANGED
@@ -11,7 +11,7 @@ module Synaptic4r
|
|
11
11
|
|
12
12
|
#......................................................................................................
|
13
13
|
def to_message_class(meth)
|
14
|
-
eval("#{meth.to_s.split('_').
|
14
|
+
eval("#{meth.to_s.split('_').map{|s| s.capitalize}.join}Messages")
|
15
15
|
end
|
16
16
|
|
17
17
|
### Rest
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: synaptic4r
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- troystribling-att
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2010-03-23 00:00:00 -04:00
|
13
13
|
default_executable: synrest
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -85,12 +85,12 @@ signing_key:
|
|
85
85
|
specification_version: 3
|
86
86
|
summary: CLI and Ruby REST Client for ATT Synaptic Storage
|
87
87
|
test_files:
|
88
|
-
- test/get_messages.rb
|
89
|
-
- test/create_file_messages.rb
|
90
|
-
- test/get_test.rb
|
91
|
-
- test/create_dir_messages.rb
|
92
|
-
- test/helper.rb
|
93
88
|
- test/create_dir_test.rb
|
94
|
-
- test/
|
89
|
+
- test/get_test.rb
|
90
|
+
- test/create_file_messages.rb
|
95
91
|
- test/mock.rb
|
96
92
|
- test/matchers.rb
|
93
|
+
- test/create_dir_messages.rb
|
94
|
+
- test/get_messages.rb
|
95
|
+
- test/create_file_test.rb
|
96
|
+
- test/helper.rb
|