arrayextension 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,3 @@
1
+ Version 0.2.0 (12-MAY-2010)
2
+ --------------------------
3
+ - Added methods: to_symbols and not_include? (thanks to Thomas D'Stefano)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.2.0
@@ -2,6 +2,17 @@
2
2
  #
3
3
  class Array
4
4
 
5
+ # Returns an array of symbols corresponding to the elements in the array
6
+ #
7
+ # [].to_symbols # => []
8
+ # %w(collect map sort).to_symbols # => [:collect, :map, :sort]
9
+ # [1,2,3,4,5].to_symbols # => [:"1", :"2", :"3", :"4", :"5"]
10
+ # ['1', nil].to_symbols # => [:'1']
11
+ #
12
+ def to_symbols
13
+ self.compact.collect {|element| element.to_s.to_sym }
14
+ end
15
+
5
16
  # Returns a string created by converting each element of the array to a string, separated by \n
6
17
  #
7
18
  # [].join_cr #=> ""
@@ -25,6 +36,15 @@ class Array
25
36
  (1..number_of_elements).to_a.map { random_element }
26
37
  end
27
38
 
39
+ # Return true if element is not include in the list
40
+ #
41
+ # [].not_include?(1) # => true
42
+ # [1].not_include?(1) # => false
43
+ #
44
+ def not_include?(element)
45
+ !self.include?(element)
46
+ end
47
+
28
48
  private
29
49
 
30
50
  def random_element
@@ -49,4 +49,48 @@ describe Array do
49
49
 
50
50
  end
51
51
 
52
+ describe ".to_symbols" do
53
+
54
+ it "should be an empty array when an empty string is given" do
55
+ [].to_symbols.should == []
56
+ end
57
+
58
+ it "should ignore nil items" do
59
+ [nil].to_symbols.should == []
60
+ end
61
+
62
+ it "should return all elements as Symbol for when Strings are given" do
63
+ %w(collect map sort reverse).to_symbols.should == [:collect, :map, :sort, :reverse]
64
+ end
65
+
66
+ it "should return all elements as Symbol when Fixnums are given" do
67
+ [1,2,3,4,5].to_symbols.should == [:"1", :"2", :"3", :"4", :"5"]
68
+ end
69
+
70
+ it "should return all elements as Symbol when Ranges are given" do
71
+ [(1..5), (6..10)].to_symbols.should == [:"1..5", :"6..10"]
72
+ end
73
+
74
+ end
75
+
76
+ describe '.not_include?' do
77
+
78
+ it "should return false if included in the array" do
79
+ [1].not_include?(1).should be_false
80
+ end
81
+
82
+ it "should return false for the true element in the array" do
83
+ [true].not_include?(true).should be_false
84
+ end
85
+
86
+ it "should return true if element is not included in the array" do
87
+ [1,2,3].not_include?(4).should be_true
88
+ end
89
+
90
+ it "should return true if element nil is not included in the array" do
91
+ [true, false].not_include?(nil).should be_true
92
+ end
93
+
94
+ end
95
+
52
96
  end
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arrayextension
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 2
8
+ - 0
9
+ version: 0.2.0
5
10
  platform: ruby
6
11
  authors:
7
12
  - Vinicius Teles
@@ -9,19 +14,23 @@ autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2009-11-11 00:00:00 -02:00
17
+ date: 2010-05-12 00:00:00 -03:00
13
18
  default_executable:
14
19
  dependencies:
15
20
  - !ruby/object:Gem::Dependency
16
21
  name: rspec
17
- type: :development
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
20
24
  requirements:
21
25
  - - ">="
22
26
  - !ruby/object:Gem::Version
27
+ segments:
28
+ - 1
29
+ - 2
30
+ - 8
23
31
  version: 1.2.8
24
- version:
32
+ type: :development
33
+ version_requirements: *id001
25
34
  description: This gem extends the Ruby class Array with a few useful methods. Just a bit of sugar.
26
35
  email: vinicius@improveit.com.br
27
36
  executables: []
@@ -34,6 +43,7 @@ extra_rdoc_files:
34
43
  files:
35
44
  - .document
36
45
  - .gitignore
46
+ - CHANGELOG
37
47
  - LICENSE
38
48
  - README.rdoc
39
49
  - Rakefile
@@ -55,18 +65,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
55
65
  requirements:
56
66
  - - ">="
57
67
  - !ruby/object:Gem::Version
68
+ segments:
69
+ - 0
58
70
  version: "0"
59
- version:
60
71
  required_rubygems_version: !ruby/object:Gem::Requirement
61
72
  requirements:
62
73
  - - ">="
63
74
  - !ruby/object:Gem::Version
75
+ segments:
76
+ - 0
64
77
  version: "0"
65
- version:
66
78
  requirements: []
67
79
 
68
80
  rubyforge_project:
69
- rubygems_version: 1.3.5
81
+ rubygems_version: 1.3.6
70
82
  signing_key:
71
83
  specification_version: 3
72
84
  summary: This gem extends the Ruby class Array with a few useful methods.