evt-collection 2.4.0.0 → 2.4.1.0

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
  SHA256:
3
- metadata.gz: 922a2fa4912c4f8a3778994ed975dfc184bb728343159529dc299c3352888f13
4
- data.tar.gz: d3c07b56ef57547eaf553ff34e28735b73a2188a6d69ccae64994ee8a5c42cb2
3
+ metadata.gz: 6b9873a9d37bf4b855172f564e19e47a9605e944a0b843f304183d3b8426dbf2
4
+ data.tar.gz: e0aec9f5c363c823fb726140a4bdc6398c47887967b3602e0665993606f84ee6
5
5
  SHA512:
6
- metadata.gz: 7a40a6bca7e341f5d29bee4210fe5be181d8c5dac9bdc64e2e3b14936fce0ff86684cfc802e4c7eb5d701b261214085b9daab9f40934140fcf8ee11882a17944
7
- data.tar.gz: 3c37fcc99ed713c70f7d14051acaebe4c4fa9da7ed63d49554097a0c5e0a5b577b225d32df7dd2ea5eca2c906dbafe60200c4c48b356b5dc4fe6d6d1f8db6a08
6
+ metadata.gz: 3b524d393b8d526b4d38f60c1a2d11d48b9e136123289251eac790235c4d0b1eff2b1b17b5425618e544c89e53efa1d9212d237235a8de7b1479b007ef7270d3
7
+ data.tar.gz: ed544b2dcefb07112a0879937ae1e399319a0b092ba1e0d7849506de00c3bcc4657bc6aca9c0d7a329b63ba6eee4e03de52f5078340c9cfee0e62f05d8480329
data/lib/collection.rb CHANGED
@@ -2,4 +2,5 @@ require 'set'
2
2
 
3
3
  require 'collection/generic'
4
4
  require 'collection/collection'
5
+ require 'collection/array'
5
6
  require 'collection/set'
@@ -0,0 +1,9 @@
1
+ module Collection
2
+ class Array
3
+ include Collection
4
+
5
+ def content
6
+ @content ||= ::Array.new
7
+ end
8
+ end
9
+ end
@@ -15,7 +15,7 @@ module Collection
15
15
  raise ArgumentError, "#{val.inspect} must be a #{type_parameter.name}"
16
16
  end
17
17
 
18
- content.add(val)
18
+ content << val
19
19
 
20
20
  self
21
21
  end
@@ -40,7 +40,7 @@ module Collection
40
40
  alias :eql? :==
41
41
 
42
42
  def self.Set(items)
43
- items = Array(items)
43
+ items = Kernel::Array(items)
44
44
 
45
45
  raise ArgumentError, "Collection can't be empty" if items.empty?
46
46
 
@@ -49,9 +49,25 @@ module Collection
49
49
  set = Set[type_parameter].new
50
50
 
51
51
  items.each do |member|
52
- set.add member
52
+ set.add(member)
53
53
  end
54
54
 
55
55
  set
56
56
  end
57
+
58
+ def self.Array(items)
59
+ items = Kernel::Array(items)
60
+
61
+ raise ArgumentError, "Collection can't be empty" if items.empty?
62
+
63
+ type_parameter = items[0].class
64
+
65
+ array = Array[type_parameter].new
66
+
67
+ items.each do |member|
68
+ array.add(member)
69
+ end
70
+
71
+ array
72
+ end
57
73
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: evt-collection
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.0.0
4
+ version: 2.4.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Eventide Project
@@ -31,6 +31,7 @@ extensions: []
31
31
  extra_rdoc_files: []
32
32
  files:
33
33
  - lib/collection.rb
34
+ - lib/collection/array.rb
34
35
  - lib/collection/collection.rb
35
36
  - lib/collection/controls.rb
36
37
  - lib/collection/controls/array.rb