collection_manager 0.0.2 → 0.0.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f6ce6100e8c0936172096141fdcd9ec0561f33e5
4
- data.tar.gz: b59ed22f5f785acf341a9a9df12598ed4c1ec4b8
3
+ metadata.gz: 7205de8c2366e928270f10cae99cba2f8d852db8
4
+ data.tar.gz: 2fe3cf794f4affecdf0ad7520dbf76f4f8b76fcc
5
5
  SHA512:
6
- metadata.gz: c931546fc9101a0b606c6d1e0f827665bb96336b3ca3601797eea6ff2e2b370c67255fa2a6c9dc1642ea932f6da702253602c86067784065712e4036ea559b96
7
- data.tar.gz: af63f4e37f5f24eeadd469dfea03a6d8b38be3180b8f88d122a9f26c77904a6d24765a56dd2bb41a5c28d4ee244a68dd87268f606e56dea193388eaba526dc75
6
+ metadata.gz: 41733e3adb59cd305e7d943a0ca232f2c67e4663e8ad29ed933f7d412e019a881f5ae16aa25fcfd11e0f48a839d28eb760a5c5ac38f8541842a7232be724d67f
7
+ data.tar.gz: e1ceda669ec615d26b888940667a05e25e03e23260e162e86902e14a822aa48eea156e3d0a1ea90f9671841fde0c23db8e826f50d1218ad85bcad02c19ce828e
@@ -0,0 +1,27 @@
1
+
2
+ module CollectionErrors
3
+ class ListError < StandardError
4
+ def initialize(msg)
5
+ msg = "ListError... " + msg
6
+ super(msg)
7
+ end
8
+ end
9
+
10
+ class ListOverflowError < ListError
11
+ def initialize(msg="List overflow condition reached")
12
+ super(msg)
13
+ end
14
+ end
15
+
16
+ class StackUnderflowError < ListError
17
+ def initialize(msg="Stack underflow condition reached")
18
+ super(msg)
19
+ end
20
+ end
21
+
22
+ class QueueUnderflowError < ListError
23
+ def initialize(msg="Queue underflow condition reached")
24
+ super(msg)
25
+ end
26
+ end
27
+ end
data/lib/list.rb CHANGED
@@ -12,10 +12,9 @@ class List < Collection
12
12
 
13
13
  ##
14
14
  # This method appends an element to the list
15
-
16
15
  def push(object)
17
16
  if(@size && @list.length >= @size)
18
- puts "Stack full!"
17
+ raise CollectionErrors::ListOverflowError.new
19
18
  else
20
19
  @list.push(object)
21
20
  end
data/lib/queue_list.rb CHANGED
@@ -19,7 +19,7 @@ class QueueList < List
19
19
  # => "else"
20
20
  def remove()
21
21
  if(@list.length == 0)
22
- puts "Queue empty!"
22
+ raise CollectionError::QueueUnderflowError.new
23
23
  else
24
24
  @list.shift
25
25
  end
data/lib/stack.rb CHANGED
@@ -1,8 +1,8 @@
1
1
  require_relative 'list'
2
+ require_relative 'errors/collection_errors'
2
3
 
3
4
  ##
4
5
  # Stack class implementing a typical stack data structure
5
-
6
6
  class Stack < List
7
7
  def initialize(size = nil)
8
8
  super(size)
@@ -19,7 +19,7 @@ class Stack < List
19
19
  # => "something"
20
20
  def pop()
21
21
  if(@list.length == 0)
22
- puts "Stack empty!"
22
+ raise CollectionErrors::StackUnderflowError.new
23
23
  else
24
24
  @list.pop
25
25
  end
metadata CHANGED
@@ -1,16 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: collection_manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shirish Parsekar
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-20 00:00:00.000000000 Z
11
+ date: 2016-09-21 00:00:00.000000000 Z
12
12
  dependencies: []
13
- description: collection Manager for managing a collection of objects
13
+ description: 'Collection Manager - create and add collections. Currently supports:
14
+ Stack, QueueList(Queue)'
14
15
  email: shirish.parsekar@weboniselab.com
15
16
  executables: []
16
17
  extensions: []
@@ -18,6 +19,7 @@ extra_rdoc_files: []
18
19
  files:
19
20
  - lib/collection.rb
20
21
  - lib/collection_manager.rb
22
+ - lib/errors/collection_errors.rb
21
23
  - lib/list.rb
22
24
  - lib/queue_list.rb
23
25
  - lib/stack.rb
@@ -44,5 +46,5 @@ rubyforge_project:
44
46
  rubygems_version: 2.6.6
45
47
  signing_key:
46
48
  specification_version: 4
47
- summary: collection Manager for managing a collection of objects
49
+ summary: Collection Manager for managing collections of objects
48
50
  test_files: []