bimbly 1.2.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/bimbly.rb +22 -9
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e7c36f37dd2d247f733bbeb4d380ee12c42b4d37
4
- data.tar.gz: 7987d33554de4e38667705ceef45e407a1689518
3
+ metadata.gz: 287b627a09f75f158d3b653ed7fceebc10277944
4
+ data.tar.gz: 182e951c4ad6ae352a8b2a13e6cef9df8438b07a
5
5
  SHA512:
6
- metadata.gz: ed68f34c77cdfeccb9dc7fd2d6ed89c5f320a40972a8977ae712739852b7af8cf773aa54daaccff099c05c1d346b4b607b86e19abb4cf2bfd0f0908351595fa5
7
- data.tar.gz: 94d7be01a4f9868eb6b69f7dc3121812aa4c71de076bcbb151890328c3480ace31ee7e52078ea24806202360af0dacbdd39219b61b86e2e48f05d8b0844e09c9
6
+ metadata.gz: 8d385f7c63c74ca70b0318f3f5cc4fbb85c0cfae04ee32ea7915632e7a30bfc2f8ee9363eb4722d12d8755a64b111d9f04afdc61f92635fb9ff702cffb1c8667
7
+ data.tar.gz: 89c4c249e20bdefb63667eb6c5aedd0275d6815c8fb8f5cb4dea44ef57ecb19ec2b1a0503a11f14d0b21f0631e96e150ee353028a295f60fe79fe6ed634fcb32
data/lib/bimbly.rb CHANGED
@@ -6,9 +6,12 @@ require 'pp'
6
6
 
7
7
  class Bimbly
8
8
  attr_reader :data_type, :error_codes, :error_names, :obj_sets
9
- attr_accessor :array, :base_url, :cert, :doc_pointer, :file, :file_select, :headers, :meth_name,
10
- :menu, :param_pointer, :password, :pointer, :port, :req_pointer, :user, :verb
9
+ attr_accessor :array, :base_url, :cert, :doc_pointer, :file, :file_select, :headers, :mando_array,
10
+ :meth_name, :menu, :param_pointer, :password, :pointer, :port, :req_pointer, :user,
11
+ :verb
11
12
 
13
+ MANDO_EXCEPT = { create_volumes: ['size'] }
14
+
12
15
  def initialize(opts = {})
13
16
  # Read in setup files
14
17
  if opts[:version] == "3"
@@ -34,6 +37,10 @@ class Bimbly
34
37
  new_connection(opts)
35
38
  end
36
39
 
40
+ def inspect
41
+ "#<Bimbly:#{object_id}>"
42
+ end
43
+
37
44
  def call(opts = {})
38
45
  verb = @verb
39
46
  payload = @payload
@@ -177,6 +184,10 @@ class Bimbly
177
184
  @param_pointer
178
185
  end
179
186
 
187
+ def required
188
+ @mando_array
189
+ end
190
+
180
191
  def request
181
192
  puts @req_pointer.to_yaml
182
193
  end
@@ -288,20 +299,22 @@ class Bimbly
288
299
 
289
300
  # Maybe pull this out into its own method
290
301
  # Check for mandatory payload info
291
- mando_array = []
302
+ @mando_array = []
292
303
  if not hash[:request].nil?
293
304
  hash[:request].each { |key, value|
294
- mando_array << key
305
+ @mando_array << key if value['mandatory'] == 'true'
306
+ @mando_array << key if not MANDO_EXCEPT[method_name].nil? and
307
+ MANDO_EXCEPT[method_name].include? key
295
308
  }
296
309
  end
297
310
 
298
311
  raise ArgumentError,
299
- "Must supply :payload with attributes #{mando_array} on #{method_name}" if
300
- not mando_array.empty? and payload.nil?
312
+ "Must supply :payload with attributes #{@mando_array} on #{method_name}" if
313
+ not @mando_array.empty? and payload.nil?
301
314
 
302
- mando_array.each { |ele|
315
+ @mando_array.each { |ele|
303
316
  raise ArgumentError,
304
- "\'#{ele}\' is a mandatory attribute in the payload for #{method_name}: Please supply these attributes #{mando_array}" unless
317
+ "\'#{ele}\' is a mandatory attribute in the payload for #{method_name}: Please supply these attributes #{@mando_array}" unless
305
318
  payload.keys.to_s.include?(ele)
306
319
  }
307
320
 
@@ -312,7 +325,7 @@ class Bimbly
312
325
  hash[:request].keys.include?(key.to_s)
313
326
  }
314
327
  end
315
-
328
+
316
329
  self
317
330
  }
318
331
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bimbly
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyle Kennedy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-23 00:00:00.000000000 Z
11
+ date: 2017-03-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client