bimbly 1.2.0 → 1.2.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.
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